Activity log for bug #1427950

Date Who What changed Old value New value Message
2015-03-04 01:58:22 Scott Moser bug added bug
2015-03-05 19:05:51 Scott Moser description curtin can run in python3 or python2. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is. on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps. note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things.
2015-03-05 19:07:49 Scott Moser description curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. Note, though, that curtin (or maas) changes that are made in order to support use of vivid would then need to be SRU'd, where as changes to the vivid image itself would not.
2015-03-11 16:04:51 Scott Moser bug task added curtin (Ubuntu)
2015-03-11 16:04:57 Scott Moser curtin (Ubuntu): status New Confirmed
2015-03-11 16:05:01 Scott Moser curtin (Ubuntu): importance Undecided Critical
2015-03-11 16:05:04 Scott Moser curtin (Ubuntu): status Confirmed In Progress
2015-03-11 16:05:10 Scott Moser curtin: status New Confirmed
2015-03-11 16:05:13 Scott Moser curtin: importance Undecided Medium
2015-03-11 16:40:36 Launchpad Janitor branch linked lp:curtin
2015-03-11 17:57:08 Launchpad Janitor branch linked lp:ubuntu/vivid-proposed/curtin
2015-03-11 19:37:34 Scott Moser nominated for series Ubuntu Utopic
2015-03-11 19:37:34 Scott Moser bug task added curtin (Ubuntu Utopic)
2015-03-11 19:37:34 Scott Moser nominated for series Ubuntu Vivid
2015-03-11 19:37:34 Scott Moser bug task added curtin (Ubuntu Vivid)
2015-03-11 19:37:34 Scott Moser nominated for series Ubuntu Trusty
2015-03-11 19:37:34 Scott Moser bug task added curtin (Ubuntu Trusty)
2015-03-11 19:37:46 Scott Moser curtin (Ubuntu Trusty): status New Confirmed
2015-03-11 19:37:49 Scott Moser curtin (Ubuntu Utopic): status New Confirmed
2015-03-11 19:37:52 Scott Moser curtin (Ubuntu Trusty): importance Undecided High
2015-03-11 19:37:54 Scott Moser curtin (Ubuntu Utopic): importance Undecided High
2015-03-11 19:38:02 Scott Moser curtin: status Confirmed Fix Committed
2015-03-11 19:44:25 Launchpad Janitor curtin (Ubuntu Vivid): status In Progress Fix Released
2015-03-20 19:26:47 Scott Moser description curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. Note, though, that curtin (or maas) changes that are made in order to support use of vivid would then need to be SRU'd, where as changes to the vivid image itself would not. curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. Note, though, that curtin (or maas) changes that are made in order to support use of vivid would then need to be SRU'd, where as changes to the vivid image itself would not. Related bugs: * Bug 1434679: maas 1.5 does not know about vivid
2015-03-20 20:57:44 Scott Moser description curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. Note, though, that curtin (or maas) changes that are made in order to support use of vivid would then need to be SRU'd, where as changes to the vivid image itself would not. Related bugs: * Bug 1434679: maas 1.5 does not know about vivid === Begin SRU Template === [Impact] In its current state, maas is unable to install vivid/14.10 using curtin. This is obviously quite serious as users using LTS server can then not install the Ubuntu development release for testing. The failure is fallout of there not being 'python2-yaml' in a maas ephemeral image (which is used for curtin install environment). The fix is that curtin is now able to run with either python2 or python3 and finds the appropriate/available python on the system. [Test Case] Generally, the test case flow is: * Install MAAS * import boot resources using the 'daily' stream. * attempt to install a node with vivid * see install fail, with message about unable to find 'curtin.commands.main' I've documented and walked through installation of maas and use of libvirt and qemu to test in maas-1.7 http://bazaar.launchpad.net/~smoser/maas/maas-pkg-test/view/head:/maas-trusty-1.7.txt maas-1.5 http://bazaar.launchpad.net/~smoser/maas/maas-pkg-test/view/head:/maas-trusty-1.5.txt [Regression Potential] The potential failure path is in one of 2 paths: a.) curtin being broken on python3 b.) curtin's launcher selecting the wrong python Curtin basically has 3 dependencies: python (or python3) python-yaml (or python3-yaml) oauth or oauthlib These are satisfied in the image by: precise: python2 (which has no python3 executable) trusty: python2 (which has python3 executable but no python3-yaml) vivid: python3 (which has python2 executable but no python-yaml) Oauthlib or oauth is satisfied by the same python (riding on dependencies of cloud-init). curtin does not currently check for that library, but missing library does not cause failure, just failure to report status back to maas. That said, in all supported use cases it will be fine. === End SRU Template === curtin can run in python3 or python2. its only python dependency is yaml. maas-images of 12.04 do not have python3. maas-images of 15.04 do not have python-yaml (python2) future images might not have any python2. right now maas invokes curtin thorugh cloud-init user-data. curtin packs itself into a self extracting executable, is transferred via user-data and invoked inside the image. Sending it through the user-data means that the maas server being updated is all that is necessary to deliver new curtin (rather than SRU to each release). Right now, in vivid that means that curtin tries to run with python2 and thus fails to import yaml. Basically curtin can't really depend on anything that isn't in ubuntu maas image (cloud-iamge derived). And, it doesn't get installed via apt. A couple solutions here: a.) a mechanism in curtin to run with python3 or python2, and just go on as is.     on new cloud-images curtin will get the python3-yaml (a dependency of cloud-init) and in older versions it would run with python2. A '$python -m curtin.checkdeps' would be run as a way to determine which python to run, b.) get python-yaml into maas images and use python2. c.) allow curtin to 'apt-get install' its deps.    note, this has the unfortunate dependency on doing that, and then having more io and network traffic and such during an install if the image doesn't contain python-yaml or other things. Note, though, that curtin (or maas) changes that are made in order to support use of vivid would then need to be SRU'd, where as changes to the vivid image itself would not. Related bugs:  * Bug 1434679: maas 1.5 does not know about vivid
2015-03-26 15:26:01 Dave Walker curtin (Ubuntu Utopic): status Confirmed Fix Committed
2015-03-26 15:26:03 Dave Walker bug added subscriber Ubuntu Stable Release Updates Team
2015-03-26 15:26:07 Dave Walker bug added subscriber SRU Verification
2015-03-26 15:26:09 Dave Walker tags verification-needed
2015-03-26 15:28:11 Dave Walker curtin (Ubuntu Trusty): status Confirmed Fix Committed
2015-03-26 15:40:47 Launchpad Janitor branch linked lp:ubuntu/trusty-proposed/curtin
2015-03-26 15:40:48 Launchpad Janitor branch linked lp:ubuntu/utopic-proposed/curtin
2015-04-17 21:24:55 Scott Moser tags verification-needed verification-done
2015-04-22 16:07:17 Chris J Arges removed subscriber Ubuntu Stable Release Updates Team
2015-04-22 16:07:40 Launchpad Janitor curtin (Ubuntu Utopic): status Fix Committed Fix Released
2015-04-22 16:13:15 Launchpad Janitor curtin (Ubuntu Trusty): status Fix Committed Fix Released
2017-12-15 22:09:13 Scott Moser curtin: status Fix Committed Fix Released