summaryrefslogtreecommitdiff
path: root/tests/unittests/test_datasource/test_azure.py
AgeCommit message (Collapse)Author
2016-03-04pep8: update formatting to pass pep8 1.4.6 (trusty) and 1.6.2 (xenial)Ryan Harper
make check fails in a trusty sbuild due to different rules on older pep8. Fix formatting to pass in older and newer pep8.
2016-03-03Update pep8 runner and fix pep8 issuesRyan Harper
2015-10-30Use DMI data to find Azure instance IDs.Daniel Watkins
This replaces the use of SharedConfig.xml in both the walinuxagent case, and the case where we communicate with the Azure fabric ourselves.
2015-10-14AZURE: support extracting SSH key values from ovf-env.xmlBen Howard
Azure has or will be offering shortly the ability to directly define the SSH key value instead of a fingerprint in the ovf-env.xml file. This patch favors defined SSH keys over the fingerprint method (LP: #1506244).
2015-07-22mounts: support reliably detecting and using Azure ephemeral disksScott Moser
Azure's ephemeral disks are not guaranteed to be assigned the same name by the kernel every boot. This causes problems on ~2% of Azure instances, and can be fixed by using udev rules to give us a deterministic path to mount; this patch introduces those udev rules and modifies the Azure data source to use them. Changes to a couple of config modules were also required. In some places, they just needed to learn to dereference symlinks. In cc_mounts this wasn't sufficient because the dereferenced device would have been put in /etc/fstab (rather defeating the point of using the udev rules in the first place). A fairly hefty refactor was required to separate "is this a valid block device?" from "what shall I put in fstab?". LP: #1411582
2015-07-21fix 'make pyflakes'Scott Moser
2015-07-21Use /dev/disk devices for Azure ephemeral disk.Daniel Watkins
The ephemeral disk will not necessarily be assigned the same name at each boot (LP: #1411582), so we use some udev rules to ensure we always get the right one.
2015-05-22AZURE: Redact on-disk user password in /var/lib/ovf-env.xmlBen Howard
The fabric provides the user password in plain text via the CDROM, and cloud-init has previously wrote the ovf-env.xml in /var/lib/waagent with the password in plain text. This change redacts the password.
2015-05-15pep8 fixesScott Moser
2015-05-08Reintroduce original code path.Daniel Watkins
2015-05-08Move our walinuxagent implementation to a single function call.Daniel Watkins
2015-05-08Split WALinuxAgentShim code out to separate file.Daniel Watkins
2015-05-08Make find_endpoint a staticmethod to clean up top-level namespace.Daniel Watkins
2015-05-08Return a dict of data from WALinuxAgentShim, rather than accessing attributes.Daniel Watkins
2015-05-07Implement basic replacement for walinuxagent in Azure data source.Daniel Watkins
2015-04-15Reset host name after bounce has allowed walinuxagent to run successfully.Daniel Watkins
2015-04-15Add unit tests for Azure hostname bouncing.Daniel Watkins
Including minor refactoring to make mocking considerably easier.
2015-02-24use util.decode_binary rather than str, add tests.Scott Moser
just seems to make more sense to decode here. Add a test showing the previous failure (testBytesInPayload) And one that should pass (testStringInPayload) Also, add a test for unencoded content in the ovf xml (test_userdata_plain) And explicitly set encoding on another test (test_userdata_found).
2015-02-18Read ovf-env.xml as bytes.Daniel Watkins
This should fix the Azure data source on Python 3, and is appropriate as XML shouldn't really be read as a string.
2015-01-27Respond to review:Barry Warsaw
- Refactor both the base64 encoding and decoding into utility functions. Also: - Mechanically fix some other broken untested code.
2015-01-26Repair the Python 2.6 tests.Barry Warsaw
2015-01-26More test repairs.Barry Warsaw
2015-01-22Use .addCleanup() instead of a .tearDown() where appropriate, although weBarry Warsaw
might have to rewrite this for Python 2.6. Disable Cepko tests (test_cs_util.py) since they are essentially worthless. Convert test_azure to unittest.mock.
2015-01-21Fix file modes to be Python 2/3 compatible.Barry Warsaw
2014-08-26fix(pep8): Fix various pep8 violations and version-lock pep8Jay Faulkner
Fixed all complaints from running "make pep8". Also version locked pep8 in test-requirements.txt to ensure that pep8 requirements don't change without an explicit commit.
2014-07-23moreDimitri John Ledkov
2014-07-23moreDimitri John Ledkov
2014-02-26pep8 and pylintScott Moser
2014-02-10change behavior to only delete SharedConfig.xml.Scott Moser
2014-02-07Made new ovf-env.xml handling more robust. Test cases includedBen Howard
2013-10-02Added ability to define disks via 'ephemeralX.Y'.Ben Howard
Modified cc_mounts to identify whether ephermalX is partitioned. Changed datasources for Azure and SmartOS to use 'ephemeralX.Y' format. Added disk remove functionally
2013-10-02fix permission changesScott Moser
2013-10-01Reordered several imports in order for test suite to pass.Eric Nordlund
2013-09-27fix test to adjust for 'ephemeral0' being /dev/sdbScott Moser
2013-09-27fix tests small other changesScott Moser
Also * cloudinit/sources/DataSourceAzure.py: invalid xml in a file called 'ovfenv.xml' should raise BrokenAzureDatasource rather than NonAzureDataSource * cloudinit/sources/DataSourceSmartOS.py: cloudinit/sources/DataSourceAzure.py use 'ephemeral0' as the device name in builtin fs_setup * tests/unittests/test_datasource/test_azure.py: * always patch 'list_possible_azure_ds_devs' as it calls find_devs_with which calls blkid, and dramatically was slowing down tests on my system. * test_user_cfg_set_agent_command_plain: fix this test to not depend on specific format of yaml.dumps(). * test_userdata_arrives: add a test that user-data makes it through
2013-09-26Added support for formating the ephemeral disk on Windows Azure.Ben Howard
2013-08-15do not set 'password', but set 'passwd' to crypt'd valueScott Moser
'password' was the wrong key. It should have been setting the default user's "plain_text_password". Instead of doing that, though, we're encrypting the value and putting it in 'passwd', which will then be passed on to useradd. The key value in doing this is that the plain text password will not be stored in obj.pkl. (admittedly it is still in plain text in the ovf-env.xml file).
2013-08-06fix pep8 and pylint warningsScott Moser
2013-07-25minor azure cleanupScott Moser
2013-07-25azure: support bouncing interfaces to publish new hostnameScott Moser
See the added doc/sources/azure/README.rst for why this is necessary. Essentially, we now are doing the following in the get_data() method of azure datasource to publish this NewHostname: hostname NewHostName ifdown eth0; ifup eth0 LP: #1202758
2013-07-23on azure datasource, grab use Deployment as the instance-idScott Moser
LP: #1204190
2013-07-17Azure: make /var/lib/waagent with 0700 permsScott Moser
The walinux agent expects that the files it writes with 0644 (default umask) permissions are not globally readable. Since we were creating the directory for it, and using default umaks (0755), the files inside were readable to non-priviledged users.
2013-07-10add waiting for files and reading of crt keysScott Moser
2013-07-09build up the 'wait_for' list including fingerprint.crt filesScott Moser
2013-07-09fill out load_azure_ovf_pubkeysScott Moser
now if there are pubkeys, the cfg['_pubkeys'] entry will have a list of dicts where each dict has 'fingerprint' and 'path' entries. The next thing to do is to block waiting for the <fingerprint>.crt files to appear in /var/lib/waagent.
2013-07-09populate /var/lib/waagent with ovf-env.xmlScott Moser
this will copy the ovf-env.xml file that was found to the configured directory (default /var/lib/waagent)
2013-07-09better handling for user/passwordScott Moser
2013-07-09add some unit tests, fix things found by doing soScott Moser