Upgrade corrupts 90_dpkg.cfg
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init (Ubuntu) |
Fix Released
|
Medium
|
Ryan Harper | ||
Eoan |
Fix Released
|
Medium
|
Ryan Harper |
Bug Description
Upgrading cloud-init to version 19.1-1-
//////////////// bash
# Initial state
root@ub:/home/dan# cat /etc/cloud/
datasource_list: [ConfigDrive, None]
# I run a reinstall here because I'm already on the latest version,
# but the same thing happens when upgrading from an old version.
root@ub:/home/dan# apt-get install --reinstall cloud-init
...
Preparing to unpack .../cloud-
Unpacking cloud-init (19.1-1-
Processing triggers for ureadahead (0.100.0-19.1) ...
Setting up cloud-init (19.1-1-
Leaving 'diversion of /etc/init/
# End state
root@ub:/home/dan# cat /etc/cloud/
# to update this file, run dpkg-reconfigure cloud-init
datasource_list: [ ConfigDrive, None] ]
# The extra bracket causes file loading to fail and ConfigDrive to not be used on future boots.
# From /var/log/
2019-08-27 20:56:54,194 - util.py[WARNING]: Failed loading yaml blob. Invalid format at line 2 column 1: "while parsing a block mapping
in "<unicode string>", line 2, column 1:
datasource_
^
expected <block end>, but found ']'
in "<unicode string>", line 2, column 39:
... urce_list: [ ConfigDrive, None] ]
Related branches
- Server Team CI bot: Needs Fixing (continuous-integration)
- Dan Watkins: Approve
- Chad Smith: Approve
-
Diff: 29 lines (+8/-2)2 files modifieddebian/changelog (+7/-0)
debian/cloud-init.config (+1/-2)
- Server Team CI bot: Approve (continuous-integration)
- Chad Smith: Approve
-
Diff: 23 lines (+6/-5)1 file modifieddebian/cloud-init.config (+6/-5)
Changed in cloud-init (Ubuntu): | |
status: | Incomplete → In Progress |
Changed in cloud-init (Ubuntu): | |
status: | In Progress → Fix Released |
assignee: | nobody → Ryan Harper (raharper) |
status: | Fix Released → Fix Committed |
Changed in cloud-init (Ubuntu Eoan): | |
status: | Fix Committed → Fix Released |
Thanks for filing a bug.
I can recreate this using your config file. It appears to be related to the shell parsing of that value, if you leave a space before the start of the list and the end like so:
diff -u /etc/cloud/ cloud.cfg. d/90_dpkg. cfg.bad /etc/cloud/ cloud.cfg. d/90_dpkg. cfg cloud.cfg. d/90_dpkg. cfg.bad 2019-08-28 01:28:14.064394783 +0000 cloud.cfg. d/90_dpkg. cfg 2019-08-28 01:26:12.279439013 +0000
--- /etc/cloud/
+++ /etc/cloud/
@@ -1,2 +1,2 @@
# to update this file, run dpkg-reconfigure cloud-init
-datasource_list: [ConfigDrive, None]
+datasource_list: [ ConfigDrive, None ]
I believe this is due to manual modification of the file, correct?