** Description changed: + === Begin SRU Template === + [Impact] + Cloud-init when running in Ubuntu core does not recognize it is + running on a 'snappy. As a result the snappy specific code paths are not + taken. + + [Test Case] + There are fairly extensive unit tests added to cover the code path + that has been added to detect when system is snappy. See the upstream + commit link below for that. Those tests run on package build, so + the fact that this is in the archive means those have run. + + In addition to that we will: + a.) boot an instance of Ubuntu in lxd with cloud-init from proposed + to verify it is not regressed. + b.) craft an lxd instance with /etc/os-release that appears to be snappy. + and then verify via log inspection that it thinks it is. + + The test is admittedly superficial, the real end test is having cloud-init + inside a ubuntu core image and it recognizing that it is snappy there. + That test is much more involved. + + ## launch an instance + $ release=xenial + $ ref=$release-proposed + $ lxc-proposed-snapshot --proposed --publish $release $ref + $ lxc launch $ref $name + $ lxc exec $name + + ## let it boot + $ sleep 10 + ## check log for warnings + $ lxc exec $name -- cat /run/cloud-init/result.json + { + "v1": { + "datasource": "DataSourceNoCloud [seed=/var/lib/cloud/seed/nocloud-net][dsmode=net]", + "errors": [] + } + } + + $ lxc exec $name -- grep WARN /var/log/cloud-init.log || echo no warnings + no warnings + + + ## write to /etc/os-release so it thinks it is Ubuntu core. + $ lxc exec $name -- sh -c 'echo ID=ubuntu-core >> /etc/os-release' + $ lxc exec $name -- sh -c 'd=/etc/system-image; mkdir -p $d; cd $d; echo ubuntu-core > channel.ini' + + ## Now clear the instance state so it thinks it is first boot. + $ lxc exec $name -- sh -c 'rm -Rf /var/log/cloud-init*' + $ lxc exec $name -- sh -xec 'cd /var/lib/cloud; mv seed .x; rm -Rf *; mv .x seed' + + cd /var/lib/cloud + + mv seed .x + + rm -Rf data handlers instance instances scripts sem + + mv .x seed + + $ lxc restart $name + $ sleep 10 + $ lxc exec $name -- grep "running on snappy" /var/log/cloud-init.log + 2017-06-01 20:53:24,346 - cc_apt_configure.py[DEBUG]: Nothing to do: No apt config and running on snappy + + [Regression Potential] + The regression potential would be + a.) cloud-init falsely identifies it is running on snappy when it is not. + b.) cloud-init does not recognize it is on snappy when it is. + + [Other Info] + Upstream commit at + https://git.launchpad.net/cloud-init/commit/?id=4bcc947301b + + lxc-proposed-snapshot is + https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/tree/bin/lxc-proposed-snapshot + It publishes an image to lxd with proposed enabled and cloud-init upgraded. + + === End SRU Template === + Recent core snap images (edge channel revision 1886) do not contain the previously known files used to detect that a system is ubuntu core. In this bug, we should collect as many known paths/files/commands so we're hopefully defensive against further changes. Ubuntu Core 16 -------------- - % cat etc/os-release + % cat etc/os-release NAME="Ubuntu Core" VERSION="16" ID=ubuntu-core PRETTY_NAME="Ubuntu Core 16" VERSION_ID="16" HOME_URL="http://www.snapcraft.io/" BUG_REPORT_URL="http://bugs.launchpad.net/snappy/" % snap version snap 2.24+201704201952.git.2ba71ec~ubuntu16.04.1 snapd 2.24+201704201952.git.2ba71ec~ubuntu16.04.1 series 16 kernel 4.4.0-59-generic % lsb_release -rd bash: lsb_release: command not found % test -e /writable/system-data/var/lib/snapd; echo $? 0 Ubuntu 16.04 (Classic) ----------------------- - % cat /etc/os-release + % cat /etc/os-release NAME="Ubuntu" VERSION="16.04.2 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.2 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial % snap version snap unknown snapd 2.24.1 series 16 ubuntu 16.04 kernel 4.4.0-75-generic - % lsb_release -rd + % lsb_release -rd Description: Ubuntu 16.04.2 LTS Release: 16.04 % test -e /writable/system-data/var/lib/snapd; echo $? 1
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1689944 Title: util.system_is_snappy needs additional checks To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1689944/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs