cannot disable apt_configure via cloud-config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Fix Released
|
Undecided
|
Unassigned | ||
cloud-init (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Unassigned | ||
Yakkety |
Fix Released
|
Medium
|
Unassigned | ||
Zesty |
Fix Released
|
Medium
|
Unassigned |
Bug Description
=== Begin SRU Template ===
[Impact]
In work targeted at getting cloud-init into the Ubuntu core image,
it was noticed that the apt_configure module would fail on Ubuntu core.
The result was cloud-init reporting failure.
The changes made were to return early if both:
a.) there is no 'apt' configuration provided
b.) there is no 'apt-get' command or the system is snappy.
[Test Case]
lxc-proposed-
https:/
It publishes an image to lxd with proposed enabled and cloud-init upgraded.
$ release=xenial
$ ref=$release-
$ lxc-proposed-
# launch 3 containers
# release-default: no apt config, no files modified. apt_configure module should run.
# release-corepass: no apt config, look like ubuntu core. apt_configure should not run.
# release-coreapt: apt config, look like ubuntu core. apt_configure should run (and will succeed because this is not core)
$ apt_cfg=$(printf "#cloud-
$ lxc init $ref $release-default "--config=
$ lxc init $ref $release-coreapt "--config=
$ lxc init $ref $release-corepass
# create a file that makes cloud-init assume this is core.
$ for n in $release-coreapt $release-corepass; do
echo ubuntu-core | lxc file push --create-dirs - $n/etc/
# do not lock default user's passwd (LP: #1679765)
$ for n in $names; do
echo "system_info: {default_user: {lock_passwd: False}}" |
lxc file push - $n/etc/
# populate /var/lib/extrausers so that adduser --extrausers works.
$ for n in $names; do
for f in passwd group gshadow subuid subgid shadow; do lxc file push --create-dirs - $n/var/
$ names="
$ lxc start $names
$ sleep 30
# expect to see rendering of that file for the default and corefail cases.
# but not for the
$ tfile=/
$ for n in $names; do
echo === $n ===; lxc exec $n grep $tfile /var/log/
=== xenial-default ===
2017-04-04 16:57:09,671 - util.py[DEBUG]: Reading from /etc/cloud/
2017-04-04 16:57:09,672 - util.py[DEBUG]: Read 2841 bytes from /etc/cloud/
=== xenial-corefail ===
2017-04-04 16:57:09,174 - util.py[DEBUG]: Reading from /etc/cloud/
2017-04-04 16:57:09,174 - util.py[DEBUG]: Read 2841 bytes from /etc/cloud/
=== xenial-corepass ===
[Regression Potential]
Biggest and catastrophic failure would be for the apt-configure module
to stop running. That would result in no mirrors being set up and
no archives added and such. Such a regression would be caught in
cloud-init's integration test.
[Other Info]
=== End SRU Template ===
1. Zesty
2. 0.7.9-68-
3.
Boot instance with cloud-config like:
#cloud-config
apt_configure_
Or
#cloud-config
apt_configure:
enabled: False
cloud-init would not run the apt_configure config module
4. cloud-init cc_apt_configure.py does not check whether it's been disabled by config
Related branches
- Ryan Harper: Approve
- Server Team CI bot: Approve (continuous-integration)
-
Diff: 37 lines (+17/-3)1 file modifiedcloudinit/config/cc_apt_configure.py (+17/-3)
Changed in cloud-init: | |
status: | New → Confirmed |
Changed in cloud-init (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in cloud-init: | |
status: | Confirmed → Fix Committed |
Changed in cloud-init (Ubuntu Yakkety): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in cloud-init (Ubuntu Xenial): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
description: | updated |
This bug was fixed in the package cloud-init - 0.7.9-87- gd23543eb- 0ubuntu1
--------------- 87-gd23543eb- 0ubuntu1) zesty; urgency=medium
cloud-init (0.7.9-
* debian/ cloud-init. templates: add Bigstep to list of sources. (LP: #1676460)
* New upstream snapshot.
- net: in netplan renderer delete known image-builtin content.
(LP: #1675576)
- doc: correct grammar in capabilities.rst [David Tagatac]
- ds-identify: fix detecting of maas datasource. (LP: #1677710)
- netplan: remove debugging prints, add debug logging [Ryan Harper]
- ds-identify: do not write None twice to datasource_list.
- support resizing partition and rootfs on system booted without initramfs.
(LP: #1677376) [Steve Langasek]
- apt_configure: run only when needed. (LP: #1675185)
- OpenStack: identify OpenStack by product 'OpenStack Compute'.
(LP: #1675349)
- GCE: Search GCE in ds-identify, consider serial number in check.
(LP: #1674861)
- Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325)
-- Scott Moser <email address hidden> Thu, 30 Mar 2017 16:46:43 -0400