Age | Commit message (Collapse) | Author |
|
After a 'tox' run, now there are no tmpdirs left in /tmp.
|
|
|
|
|
|
|
|
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
|
|
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
|
|
|
|
Tested and working on CentOS7 (container), so we can enable the tests
|
|
This allows the unittest to pass on CentOS, before it failed as it had no dpkg
available.
|
|
|
|
This might happen e.g. in locked down build environments.
In those cases this is detected and the test skipped while not giving up
testing it in more capable environments.
|
|
While the unittest gets a bit less real by that change, it will work in
protected environment (e.g. sbuild) and leave the developers .gpg keyring
alone.
|
|
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.
|
|
By moving the "what it does" into the first line of the docstrings output
becomes much more useful.
|
|
|
|
|
|
The overall check for the expected key is a superset and would spot an issue.
|
|
|
|
The intentionally false name was meant for testing of abug, now we can and
should use a proper third party keyserver.
|
|
|
|
The functions clearly are apt specific so the name should reflect that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I've opened bug 1589174 with the intent to fix these tests
that I quickly fixed in the last 2 commits. Those were done
in haste so that we could get a functional trunk build again.
|
|
This just mocks out use of lsb_release as it is not available
in a build environment.
Additionally mocks out use of getkeybyid. This admittedly
makes the test for a long key fingerprint not useful as it was
broken only inside getkeybyid.
Also fix 'make yaml' for cloud-config.txt
|
|
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
|
|
- keyid-only (no source statement)
- key only (no source statement)
- custom source.list template
- support long gpg key fingerprints with spaces
- fix issue with key's that were already in the local gpg keyring
- allowing a new format to specify apt_sources in a dictionary instead of a
list to allow merging of configurations
LP: #1574113
|
|
|
|
the network json in openstack provides a type of 'bridge' when
the underlying (host) type is a bridge. Silly, but we need to
consider that a physical device as it will be for us.
also, the 'mtu' will appear on the link, not on the route
|
|
|
|
|
|
|
|
'id' on a link in the openstack spec should be "Generic, generated ID".
current implementation was to use the host's name for the host
side nic. Which provided names like 'tap-adfasdffd'.
We do not want to name devices like that as its quite unexpected
and non user friendly. So here we use the system name for any
nic that is present, but then require that the nics found also
be present at the time of rendering.
The end result is that if the system boots with net.ifnames=0
then it will get 'eth0' like names. and if it boots without net.ifnames
then it will get enp0s1 like names.
|
|
|
|
When the .pkl file is loaded, the module that it is loaded
from must have the same symbol. Ie, if booted once and got
DataSourceConfigDriveNet
then upgraded and rebooted, then next boot would show
Can't get attribute 'DataSourceConfigDriveNet'
|
|
|
|
if get_smartos_environ() returned a None, then
the datasoure would raise a ValueError when get_data was called.
Fix that.
|