summaryrefslogtreecommitdiff
path: root/tests/unittests/test_handler
AgeCommit message (Collapse)Author
2016-12-22LICENSE: Allow dual licensing GPL-3 or Apache 2.0Jon Grimm
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.
2016-11-22disk_setup: Use sectors as unit when formatting MBR disks with sfdisk.Daniel Watkins
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
2016-10-20Add support for snap create-user on Ubuntu Core images.Ryan Harper
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.
2016-10-19Fix python2.6 things found running in centos 6.Scott Moser
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.
2016-09-29lxd: Update network config for LXD 2.3Stéphane Graber
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>
2016-09-21subp: add 'update_env' argumentScott Moser
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.
2016-09-08tests: cleanup tempdirs in apt_source testsScott Moser
test_handler_apt_source_v3.py was not cleaning up all its tmp dirs.
2016-09-08apt config conversion: treat empty string as not provided.Scott Moser
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
2016-08-26apt-config: allow both old and new format to be present.Christian Ehrhardt
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
2016-08-23Add a module that can configure spacewalk.Joshua Harlow
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/
2016-08-18Apt: add new apt configuration formatChristian Ehrhardt
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.
2016-08-11Upgrade to a configobj package new enough to workJoshua Harlow
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.
2016-08-10add ntp config moduleRyan Harper
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).
2016-07-29fix pep8 errors in mcollective unit testsScott Moser
Just fix the pep8 errors added in previous commit.
2016-07-19mcollective: add tests, cleanups and bug fix when no config in /etc.Scott Moser
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
2016-07-14fix tox flake8Scott Moser
2016-07-14Change StringIO to BytesIO in cc_mcollective.pySergii Golovatiuk
* 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
2016-06-10minor changes prior to mergeScott Moser
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.
2016-06-09mock is_resolvable in mirrorfail tests to remove dependency to external netChristian Ehrhardt
2016-06-09fix docstring for check connectivityChristian Ehrhardt
2016-06-09remove unused BIN_APT constantChristian Ehrhardt
2016-06-09move SkipTest definition to tests/unittests/helpers.py to be reusableChristian Ehrhardt
2016-06-09move gpg functions into gpg.pyChristian Ehrhardt
This helps for cleaner code structuring. ALong that makeing sure all these functions have a gpg_prefix.
2016-06-07enable test_handler_apt_source unittests on CentOSChristian Ehrhardt
Tested and working on CentOS7 (container), so we can enable the tests
2016-06-07mock get_primary_arch for TestAptSourceConfigSourceList for CentOSChristian Ehrhardt
This allows the unittest to pass on CentOS, before it failed as it had no dpkg available.
2016-06-07harden mirrorfail tests for the fact that even good mirrors can failChristian Ehrhardt
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.
2016-06-07drop gpg activity from aot-source key testsChristian Ehrhardt
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.
2016-06-06make unittests more readableChristian Ehrhardt
By moving the "what it does" into the first line of the docstrings output becomes much more useful.
2016-06-06capture output of gpg calls to avoid messing up stdout/stderrChristian Ehrhardt
2016-06-06remove check that fails if user has installed tested keysChristian Ehrhardt
The overall check for the expected key is a superset and would spot an issue.
2016-06-06apt_src_keyid_real: drop unused exception variableChristian Ehrhardt
2016-06-06fix alternate keyserver dnsChristian Ehrhardt
The intentionally false name was meant for testing of abug, now we can and should use a proper third party keyserver.
2016-06-06only test the apt feature in environments with aptChristian Ehrhardt
2016-06-06rename add_key / add_source to add_apt_key / add_apt_sourceChristian Ehrhardt
The functions clearly are apt specific so the name should reflect that.
2016-06-06fixup key tests for cases where network isn't availableChristian Ehrhardt
2016-06-06add_key_raw - make exceptions more specificChristian Ehrhardt
2016-06-06test alternate keyserverChristian Ehrhardt
2016-06-06make _get_default_params method staticChristian Ehrhardt
2016-06-06unify testing of real gpg key addsChristian Ehrhardt
2016-06-03tests: fix apt tests to run inside ubuntu build environmentScott Moser
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
2016-06-03fix tox -e flake8Scott Moser
2016-05-30add test for wrong apt_source formatChristian Ehrhardt
2016-05-30drop errorlist from convert_to_new_formatChristian Ehrhardt
2016-05-25fix inline doc of test_apt_src_longkeyid_realChristian Ehrhardt
2016-05-25make test_apt_srcl_custom independent to where it is executedChristian Ehrhardt
2016-05-24add test for the now isolated convert_to_new_format functionChristian Ehrhardt
2016-05-24rebased with upstream and reolved merge conflictsChristian Ehrhardt
2016-05-23final pep8 check fixupsChristian Ehrhardt
2016-05-23add test_apt_src_replace_dict_triChristian Ehrhardt
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.
2016-05-23shorten method names to follow python rulesChristian Ehrhardt