Age | Commit message (Collapse) | Author |
|
|
|
If device has no partition table, the first line of output from `sgdisk
-p <device>` will be "Creating new GPT entries.", instead of something
like "Disk /dev/sdb: 266338304 sectors, 127.0 GiB".
Also, protect against localized output by adjusting subp calls that
parse sgdisk output to set LANG=C.
|
|
In order for a caller to use 'env' argument of subp, they
will realistically do:
env = os.environ.copy()
env['FOO'] = 'BZR'
subp(cmd, env=env)
This shortens that to be:
subp(cmd, update_env={'FOO': 'BZR'})
Add tests, and update growpart tests to use mock when playing with
os.environ.
|
|
|
|
|
|
|
|
This adds support for understanding 'dhcp6' as a protocol
that can be written into /run/net-IFACE.cfg files by the initramfs.
The end result is supporting ipv6 dhcp from initramfs boot
all the way into iscsi root.
LP: #1621615, #1621507
|
|
|
|
|
|
|
|
The end result of all of these changes is to get mounts managed by
cloud-init to occur only after cloud-init.service is done. We need to do
that so that filesystems that are set up by cloud-init (in disk_setup)
do not get mounted by stale entries in /etc/fstab before
the setup occurs.
This can occur in 2 ways:
a.) new instance with old /etc/fstab
b.) same instance where disk needs adjusting (Azure resize will re-format
the ephemeral disk).
The list of changes here is:
- move mounts and disk_setup module to cloud-init.service rather
than config. cloud-init.service runs earlier in boot so it
can get those mount points done earlier.
- on systemd add 'x-systemd.requires=cloud-init.service' to fstab options
- cloud-init-local.service: add Before=basic.target
- cloud-init.service:
- extend After, Before, and Wants to multiple lines rather than one
long line.
- sort consistently with cloud-init-local.service
- add DefaultDependencies=no
- add Before=default.target
- add Conflicts=shutdown.target
LP: #1611074
|
|
Dmidecode is not going to run successfully on anything other than an
x86 or x86_64, just avoid running it anywhere else.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When we moved cloud-final.service to run After multi-user.target it
caused a dependency loop (as cloud-init.target was still implied to be
Before multi-user.target).
journalctl would either show:
cloud-init.target: Breaking ordering cycle by deleting job
cloud-final.service/start
or
multi-user.target: Breaking ordering cycle by deleting job
cloud-init.target/start
The fix here is to clearly state that cloud-init.target is also
After multi-user.target
LP: #1623868
|
|
|
|
|
|
LP: #1623570
|
|
Bump the version in cloudinit/version.py to be 0.7.8.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Treat null type as yet another physical type, seen in real-world
openstack cloud.
Also, support the case where network_data.json provides mac addresses
in upper case. Rackspace public cloud currently does that.
LP: #1621968
|
|
When user-data was provided in the ovf environment python3 would call
base64.decodestring() with a string rather than bytes and an exception
would occur.
This fixes the broken path and adds unit test. Also changes to
return None rather than empty string when there is no user-data and
when there is user-data return that as bytes instead of string.
LP: #1619394
|
|
|
|
|
|
|
|
- debian/cloud-init.templates fix capitalisation in template so
dpkg-reconfigure works to select OpenStack. (LP: #1575727)
- d/README.source, d/control, d/new-upstream-snapshot, d/rules: sync
with yakkety for changes due to move to git.
- d/rules: change PYVER=python3 to PYVER=3 to adjust to upstream change.
- debian/rules, debian/cloud-init.install: remove install file
to ensure expected files are collected into cloud-init deb.
(LP: #1615745)
- debian/dirs: remove obsolete / unused file.
LP: #1575727
LP: #1615745
|
|
|
|
|
|
Add python3-serial to Depends. This is not resolved by
${python3:Depends} because it is commented out in requirements.txt.
pyserial is problematic both because it is not pure python and
because it is not available for python2.6.
The commit 26ea813d2 removed pyserial and thus lost the automatic
dependency. This makes SmartOS datasource work.
|
|
|
|
|
|
Add python3-serial to Depends. This is not resolved by
${python3:Depends} because it is commented out in requirements.txt.
pyserial is problematic both because it is not pure python and
because it is not available for python2.6.
The commit 26ea813d2 removed pyserial and thus lost the automatic
dependency. This makes SmartOS datasource work.
|
|
|
|
|
|
|
|
In systemd, package installation before the system is fully booted
(systemctl is-system-running == starting) may result in the package not
being started. Upgrade (package_upgrade: true) can also cause failure if
that is done during systemd boot.
The solution here is:
a.) move config modules that do or may do package installation to
'final_modules'. That list is:
- snappy
- package-update-upgrade-install
- fan
- landscape
- lxd
- puppet
- chef
- salt-minion
- mcollective
b.) move cloud-final.service to run as 'Type=idle'
LP: #1576692, #1621336
|
|
test_handler_apt_source_v3.py was not cleaning up all its tmp dirs.
|
|
|
|
|
|
|
|
Old behavior allowed a user to provide:
apt_mirror: ""
And that was the same as:
apt_mirror: null
and the same as having not specified apt_mirror at all. This maintains
that behavior for all old string values.
LP: #1621180
|