Age | Commit message (Collapse) | Author |
|
|
|
These are unnecessary, as cloud-init is renaming the nics
that should be renamed itself.
|
|
|
|
|
|
|
|
On reboot (loading module from obj.pkl) we would hit a AttributeError
when trying to access cmdline_id.
Addtionally, dsmode was inadvertantly defaulting to local for
DataSourceNoCloud.
LP: #1592505
|
|
this would cause the datasource to operate in local mode by default.
|
|
python3's OSError does not have a .message attribute.
|
|
|
|
pylint --errors-only found several errors. Some of the changes
here represent real errors, others just code that pylint did
not like.
|
|
|
|
This moves bin/cloud-init's content into cloudinit/cmd/main.py,
and then fixes the pep8/flake8 issues with that.
The end result is easier testing of main.
|
|
|
|
LP: #1592505
|
|
|
|
|
|
|
|
This commit includes the content of that commit, plus a fix for the tests
(provided by Phil).
|
|
|
|
|
|
This allows for the test_cli test to be more sane.
|
|
The commit 1232 (Refactor a large part of the networking code) broke pep8.
|
|
This change broke tox tests.
|
|
|
|
|
|
A bug was reported (lp:1581200) where if there is no DNS server configured
or it is not running then the metadata lookup on GCE will fail as it contains a
trailing dot 'metadata.google.internal.'. As there is no DNS configured or
running it will use the /etc/hosts file but the hosts file does not contain
an entry with the trailing dot.
One solution is to add an entry to the /etc/hosts file with the trailing dot
but according to the manpage, /etc/hosts entries must end with an alphanumeric
character and cannot end with a dot.
The trailing dot was added to avoid MIM by dns search but we should probably
assume the instance being started has no DNS and as such when querying
metadata should use a URL that will resolve using /etc/hosts.
LP: #1581200
|
|
|
|
|
|
|
|
|
|
|
|
Splits off distro specific code into specific files so that
other kinds of networking configuration can be written by the
various distro(s) that cloud-init supports.
It also isolates some of the cloudinit.net code so that it can
be more easily used on its own (and incorporated into other
projects such as curtin).
During this process it adds tests so that the net process can
be tested (to some level) so that the format conversion processes
can be tested going forward.
|
|
|
|
As well as some improvements that were found along testing them and due to
the fact that we review some of that code again in the scope of curtin
currently.
Tests:
- add a test for an alternate keyserver
- harden mirrorfail tests to detect and skip if no network is available
- improve apt_source related tests to work on CentOS7
Changes:
- gpg key handling is now in python instead of a shell blob and moved
to its own module.
- packages/bddeb has an option to sign as someone else than smoser
- make exception handling of apt_source features more specific
(do not catch broad 'Exception')
- rename some functions to reflect better what they actually do
- capture some helper subp calls output to avoid spilling into stdout when
not intended
|
|
a.) remove 'gpg_' from function names in new gpg module.
b.) use --recv-keys rather than --recv
--recv-keys is more obvious and works back to precise at least.
c.) do not trim trailing '\n' from a armour'd key.
|
|
In the absence of cheetah, which is a fairly heavy templating engine, and
not strictly needed by anything in cloud-init, the only warning we saw in
the logs was this one from the templater. Degrading this to a debug
message makes any other warnings more relevant.
|
|
|
|
This helps for cleaner code structuring.
ALong that makeing sure all these functions have a gpg_prefix.
|
|
while datasource provided networking is more dynamic in most cases,
preference should still be given to networking configuration provided
in the system.
This is because the user of the image should be ultimately in control
of the networking configuration if they so choose.
LP: #1590104
|
|
Let's reduce the size of this change for now.
|
|
|
|
|
|
In the absence of cheetah, which is a fairly heavy templating engine, and not
strictly needed by anything in cloud-init, the only warning we saw in the logs
was this one from the templater. Degrading this to a debug message makes
any other warnings more relevant.
|
|
|
|
|
|
The functions clearly are apt specific so the name should reflect that.
|
|
|
|
|
|
|
|
This branch accomplishes several things:
- centrally handle 'dsmode' to be 'local' or 'net.
This allows local data sources to run before networking
but still have user-data read by default when networking is available.
- support networking information being read on dreamcompute
dreamcompute's openstack declares networking via the
/etc/network/interfaces style 'network_config' format.
- support reading and applying networking information on SmartOS
- improve reading networking from openstack network_data.json (LP: #1577982)
add support for mtu and routes and many miscellaneous fixes.
- support for renaming devices in a container (LP: #1579130).
Also rename network devices as instructed by the host on
every boot where cloud-init networking is enabled. This is required
because a.) containers do not get systemd.link files applied
as they do not have udev. b.) if the initramfs is out of date
then we need to apply them.
- remove blocking of udev rules (LP: #1577844, LP: #1571761)
LP: #1577982, #1579130, #1577844, #1571761
|