Brian,
SRU template added.  Sorry.

** Description changed:

+ === Begin SRU Information ===
+ [Impact]
+ The issue originally reported was that when MAAS attempted to enlist a
+ system by booting it with a remote iscsi disk with intent to have cloud-init
+ utilize the MAAS metadata service, cloud-init found some metadata from a
+ previous use of the system on the local disk.  cloud-init then went on
+ to use that data and did not respond to maas.
+ 
+ The impact in this case was that cloud-init failed to enlist.  The same 
problem
+ could occur in any other case where there was data on the local disk that
+ provided a datasource for cloud-init.
+ 
+ The fix provided was for the scenario provided was for MAAS to provide
+ configuration on the maas provided kernel command line that tells cloud-init
+ it should read only attempt to use the MAAS datasource.
+ 
+ Specifically, as mentioned in comment 7, this looked like:
+    root=iscsi:.... cc:{'datasource_list': ['MAAS']}end_cc \
+        cloud-config-url=http://maas/path/to/config ...
+ 
+ cloud-init then reads that information on boot and it overrides the settings
+ found inside the iscsi root device.
+ 
+ [Test Case]
+ A test case lives in unit tests now that ensures kernel config overrides
+ system config.
+ 
+ To further test this we could
+ a.) cause this situation by
+   1.) installing a node in maas
+   2.) putting config drive or nocloud data onto one of the partitions
+   3.) returning the system to maas
+   4.) attempt re-deploy.
+ 
+ b.) use a cloud image, kernel and initramfs and web server
+   1.) download image, update cloud-init to -proposed.
+   2.) set up a web service to serve files like MAAS described at
+       https://maas.ubuntu.com/docs/development/metadata.html
+   3.) boot image with kernel command line including the cc: and 
cloud-config-url  referencing that web service.
+   4.) have provided a config drive or nocloud seed disk to the vm.
+ 
+ The 'b' test above is easier to reproduce in that it does not rely on
+ MAAS.
+ 
+ [Regression Potential]
+ Regression potential is low, in that this feature worked for some time
+ in previous releases.  A bad reading of the code made me (smoser) change
+ the code intending to fix the problem, but in fact regressed it.  So this
+ change is actually reverting a previous change in behavior.
+ 
+ This was first broken in 16.04 in 0.7.7~bzr1245-0ubuntu1~16.04.1 .
+ 
+ [Other Info]
+ The upstream commit that fixed this behavior (including the added tests)
+ is 0b0f254a [1]
+ 
+ --
+ [1] 
https://git.launchpad.net/cloud-init/commit/?id=0b0f254a6935a1b1fff128fa177152dd519e1a3d
+ 
+ === End SRU Information ===
+ 
  A customer reused hardware that had previously deployed a RHEL
  Overcloud-controller which places metadata on the disk as a legitimate
  source, that cloud-init looks at by default.  When the newly enlisted
  node appeared it had the name of "overcloud-controller-0" vs. maas-
  enlist, pulled from the disk metadata which had overridden MAAS'
  metadata.  Commissioning continually failed on all of the nodes until
  the disk metadata was manually removed (KVM boot Ubuntu ISO, rm -f data
  or dd zeros to disk).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1582323

Title:
  Commissioning fails when competing cloud metadata resides on disk

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1582323/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to