Age | Commit message (Collapse) | Author |
|
|
|
|
|
this might work. And if it does means we could generally test this
as the file that the cloud-init-wait will wait for will actually get
created.
|
|
I had left this in to commit it, it was my first pass at
cloud-init doing the naming itself. That design was then
replaced with the idea for cloud-init to instead write systemd.rules
files.
|
|
Note, still broken as cloud-init local is not going to ever touch the
CI_NET_READY file (/run/cloud-init/network-config-ready).
So as this is , it will actually just block for 60 seconds and go on.
|
|
|
|
atomic_write_file just does less and easily utilized
for the same purpose that atomic_write_json served.
|
|
parsing the command line parameters returned a dictionary
but _merge_new_seed was expecting a string to be yaml loaded.
Change is to make _merge_new_seed take either string or dict.
|
|
|
|
generator:
* write to directory /run/cloud-init/ rather than /run
* read from /proc/1/cmdline for the command line if inside a container
cloud-init-local.service: now run fully before any networking comes up.
cloud-init.service: run before network-online.target and after
networking.service. This ends up meaning other things that require
network-online.target will run after cloud-init.service, but
cloud-init.service will still have networking.
The 'networking.service' is ifupdown specific. Further changes would
be needed for other networking systems (networkd for example)
|
|
Previously we returned a string of "." the same length as the dmi field.
That seems confusing to the user as "." would seem like a valid response
when in fact this value should not be considered valid.
So now, in this case, return empty string.
|
|
|
|
|
|
|
|
Previously we returned a string of "." the same length as the dmi field.
That seems confusing to the user as "." would seem like a valid response
when in fact this value should not be considered valid.
So now, in this case, return empty string.
|
|
|
|
functional
|
|
|
|
|
|
this adds the consumption of 'network-config' to the datasourcenocloud.
There is an implementation of the network rendering taht is untested
in distros/debian.
|
|
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8
decoding of those would fail, causing warning and stacktrace.
Return '.' instead of \xff. This is what dmidecode would return.
$ dmidecode --string system-product-name
|
|
at this point, this works:
python -m cloudinit.net.network_state examples/network-all.yaml
|
|
just add curtin/net as cloudinit/net
and then copy curtin/udev.py as cloudinit/net/udev.py
|
|
|
|
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8
decoding of those would fail, causing warning and stacktrace.
Return '.' instead of \xff. This maps to what dmidecode would return
$ dmidecode --string system-product-name
.................................
|
|
|
|
This might need cleaning up in the future as I believe in some
containers /proc/cmdline is provided, and in that case it would
be preferred to pid 1's command line.
|
|
This should mean that cloud-init-local is running earlier now
(DefaultDependencies=no). And also blocking networking coming up
(Before=network-pre.target)
cloud-init.service should now actually block network-online.target
from being made (meaning it will run before anything that expects
that) but after networking.service, which is what actually does
the bringup on ifupdown / ubuntu.
|
|
This add 'lxd' to the list of groups that the default user is added to.
It also changes behavior to create any necessary groups that are listed
for the user rather than failing to add the user.
Theres also a fix for usage of logexc that I found along the way.
LP: #1539317
|
|
LP: #1539317
|
|
The user can still choose to run pollinate here to seed their
random data. And in an environment with network datasource, that
would be expected to work. However, we do not want to run it any
more from cloud-init because
a.) pollinate's own init system jobs should get it ran before ssh,
which is the primary purpose of wanting cloud-init to run it.
b.) with a local datasource, there is no network guarantee when
init_modules run, so pollinate -q would often cause issues then.
c.) cloud-init would run pollinate and log the failure causing
many cloud-init specific failures that it could do nothing about.
Additionally, add documentation for the seed_random config module.
|
|
This enables BigStep in the default settings, and also
changes the datasource to not raise exception if we are not
on BigStep.
|
|
|
|
The user can still choose to run pollinate here to seed their
random data. And in an environment with network datasource, that
would be expected to work. However, we do not want to run it any
more from cloud-init because
a.) pollinate's own init system jobs should get it ran before ssh,
which is the primary purpose of wanting cloud-init to run it.
b.) with a local datasource, there is no network guarantee when
init_modules run, so pollinate -q would often cause issues then.
c.) cloud-init would run pollinate and log the failure causing
many cloud-init specific failures that it could do nothing about.
LP: #1554152
|
|
caught exception.
|
|
|
|
|
|
make check fails in a trusty sbuild due to different rules on older pep8.
Fix formatting to pass in older and newer pep8.
|
|
make check fails in a trusty sbuild due to different rules on older pep8.
Fix formatting to pass in older and newer pep8.
|
|
|
|
|
|
The customization is set to False by default and is triggered only
when the option disable_vmware_customization is set to false in
/etc/cloud/cloud.cfg.
|
|
|
|
Update make check target to run pep8 and run pyflakes or pyflakes3
depending on the value of 'PYVER'. This way the python3 build
environment does not need python2 and vice versa.
Also have make check run the 'yaml' test.
tox: have tox run pep8 in the pyflakes
|
|
This adds a systemd generator for a 'cloud-init.target'. That target will
be WantedBy multi-user.target in the default case. If there is a file
/etc/cloud/cloud-init.disabled or the kernel command line contains
'cloud-init=disabled' then cloud-init will not affect boot at all.
There are some packages/debian changes to affect this:
* postinst, preinst: these are necessary to remove some
old target files for multi-user.target (LP: #1552999)
* changes to include these files in the debian source package.
* rules.in: supports DEB_BUILD_OPTIONS=nocheck to not run check
setup.py: mostly changes to support installing the generator
but also pep8 fixes along the way
systemd/*: make each of the services 'WantedBy=cloud-init.target'
rather than being wanted by multi-user.target
|
|
|
|
|
|
|
|
also, actually enable the services.
now this will have them enabled in the cloud-init.target.
|
|
|