Age | Commit message (Collapse) | Author |
|
This has been a recurring ask and we had initially just made the change to
the cloud-init 2.0 codebase. As the current thinking is we'll just
continue to enhance the current codebase, its desirable to relicense to
match what we'd intended as part of the 2.0 plan here.
- put a brief description of license in LICENSE file
- put full license versions in LICENSE-GPLv3 and LICENSE-Apache2.0
- simplify the per-file header to reference LICENSE
- tox: ignore H102 (Apache License Header check)
Add license header to files that ship.
Reformat headers, make sure everything has vi: at end of file.
Non-shipping files do not need the copyright header,
but at the moment tests/ have it.
|
|
The version of sfdisk in wily (and onwards) only accepts sectors as a
valid disk size. As such, this refactors the MBR code path in
cc_disk_setup to use sectors.
- use --unit=S: while newer versions of sfdisk assume --unit=S, older
versions do not so we specifically pass it in. Versions of sfdisk
found in supported OSes such as centos6 wont assume --unit=S.
- add --force: this exists back to centos 6 (2.17.2), so it should
be fine, and is what we ultimately want.
"do what I say, even if it is stupid"
- keep --Linux. Even though this has been deprecated for quite some
time, we keep it until versions that want it are unsupported.
If necessary at some point we could check for util linux version
and if it had --Linux and use it in those cases.
Additionally, improve usefulness of some log messages.
LP: #1460715
|
|
Ubuntu Core images use the `snap create-user` to add users to an
Ubuntu Core system. Add support for creating snap users by adding
a key to the users dictionary.
users:
- name: bob
snapuser: bob@bobcom.io
Or via the 'snappy' dictionary:
snappy:
email: bob@bobcom.io
Users may also create a snap user without contacting the SSO by
providing a 'system-user' assertion by importing them into snapd.
Additionally, Ubuntu Core systems have a read-only /etc/passwd such that
the normal useradd/groupadd commands do not function without an additional
flag, '--extrausers', which redirects the pwd to /var/lib/extrausers.
Move the system_is_snappy() check from cc_snappy module to util for
re-use and then update the Distro class to append '--extrausers' if
the system is Ubuntu Core.
|
|
This gets the tests running in centos 6.
* ProcessExecutionError: remove setting of .message
Nothing in cloud-init seems to use .message anywhere, so
it does not seem necessary.
The reason to change it is that on 2.6 it spits out:
cloudinit/util.py:286: DeprecationWarning: BaseException.message
* tox.ini: add a centos6 environment
the tox versions listed here replicate a centos6 install with
packages from EPEL.
You will still need a python2.6 to run this env so we do not
enable it by default.
|
|
Prior to LXD 2.3, the bridge configuration was done through distro
packaging. Thus, lxd module interacted with debconf.
With 2.3 and higher, this is now done inside LXD itself, so we
need to use "lxc network" there.
For now, this perfectly matches what we had before with debconf and
doesn't cover any of the new options. We can always add those later.
A set of tests similar to what we had for debconf has been added to make
sure things look good.
This is tested in Yakkety container running LXD 2.3 and all options seem
to be passed through as expected, giving me the bridge I defined.
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
|
|
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.
|
|
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
|
|
This allows both v1/2 and and v3 formats to exist in config.
If both are present, then prefer v3. If values are not the same
then a ValueError is raised.
LP: #1616831
|
|
Spacewalk is used by some peopel to manage connections into redhat package
management systems and kickstart and various other tasks, so having a
system be able to do the needed tasks on first boot to integrate with that
system would be very useful (to some).
See: https://fedorahosted.org/spacewalk/
|
|
This adds an improved apt configuration format that is fully backwards
compatible with previous behavior. This is mostly copied from curtin's
implementation.
It does:
* clean up and centralizes many of the top level 'apt_*' values that
previously existed into a single top level 'apt'key.
* support a 'source' in apt/sources/entry that has only a key
* documents new features and adds tests.
See the added doc/examples/cloud-config-apt.txt for more information.
|
|
The older versions have various issues with unicode
and those versions seem to be pulled into epel so
we should denote that those versions are bad and
shouldn't be used by updating to a newer version that
does work.
|
|
Add support for installing and configuring ntp service, exposing the
minimum config of servers or pools to be added. If none are defined
then fallback on generating a list of pools by distro hosted at
pool.ntp.org (which matches what's found in the default ntp.conf
shipped in the respective distro).
|
|
Just fix the pep8 errors added in previous commit.
|
|
Things here:
- restart rather than 'start' the service, to pick up a config change
that we would have written.
- update the config and write cert files whether or not the file
existed on the system. Previously it would only write the cert
files if /etc/mcollective/server.cfg already existed.
- improve test coverage
|
|
|
|
* StringIO from six doesn't act as 'binary stream' in Python 3.
This patch changes StringIO to BytesIO to have code compatible with
Python 3 and Python 2.
* Add try/except for IOError in case when server.cfg doesn't exists. This is
necessary for unit tests or cases when server.cfg is not included to package
* Add UnitTest for cc_mcollective.py
LP: #1597699
|
|
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.
|
|
|
|
|
|
|
|
|
|
This helps for cleaner code structuring.
ALong that makeing sure all these functions have a gpg_prefix.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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 includes a test for the weird but valid case in the new dictionary syntax
that one sets a key (which is the filename) but overwrites the filename value
inside of it.
|
|
|