| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | Due to the way the azure boot works, where we identify the hostname to the
fabric, we were inadvertently overwriting hostname that the user had set.
LP: #1375252 | 
|  |  | 
|  |  | 
|  |  | 
|  | Including minor refactoring to make mocking considerably easier. | 
|  |  | 
|  | We are treating JoyentMetadataClient as a unit which the data source
depends on, so we mock it out instead of providing a fake implementation
of it. | 
|  |  | 
|  |  | 
|  |  | 
|  | HTTPretty can causes hangs on Python 3.4.2 (and maybe Python 3.4.1), due
to a Python bug (fixed in Python 3.4.3).  This works around the problem
in the appropriate Python versions.
See https://github.com/gabrielfalcao/HTTPretty/pull/193 and
https://github.com/gabrielfalcao/HTTPretty/issues/221 for details. | 
|  | UrlResponse: biggest change... make readurl return bytes, making user
             know what to do with it.
util: add load_tfile_or_url for loading text file or url
      as  read_file_or_url now returns bytes
ec2_utils: all meta-data is text, remove non-obvious string translations
DigitalOcean: adjust for ec2_utils
DataSourceGCE, DataSourceMAAS: user-data is binary other fields are text.
openstack.py: read paths without decoding to text.  This is ok as paths
              other than user-data are json, and load_json will handle
load_file still returns text, and that is what most things use. | 
|  | This was previously broken in python3 as the userdata would be bytes
rather than a string.
LP: #1423972 | 
|  | 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). | 
|  |  | 
|  |  | 
|  | This should fix the Azure data source on Python 3, and is appropriate as
XML shouldn't really be read as a string. | 
|  |  | 
|  | - Refactor both the base64 encoding and decoding into utility functions.
Also:
- Mechanically fix some other broken untested code. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | * Temporarily skip the MAAS tests in py3 since they need to be ported to oauthlib. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | 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. | 
|  |  | 
|  | to be behind trunk.
`tox -e py27` passes full test suite.  Now to work on replacing mocker. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | just so we don't come to rely on it being set to 'base64' or ''.
rather the default case is that it wont be present at all. | 
|  |  | 
|  | --ignore was being called with ',E121,E...' rather than
'E121,E...'.
that resulted in odd behavior, missing the pep8 errors that are fixed
here. | 
|  |  | 
|  |  | 
|  | This adds a DataSource for DigitalOcean's metadata service. The service is
documented at https://developers.digitalocean.com/metadata/ . | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | There are a couple new test cases that are now erroring out.
- A usage of the non helper unit testcase base which is trigging
  and error on python 2.6 due to lack of method, fix this by using
  the base helper class.
- A freebsd distro test check thats looking for /etc/resolv.conf and
  examining its contents, which won't exist due to our mocking routine
  that does not allow that file to be read.
- A freebsd distro test where the distro class tries to call into 
  ['ifconfig', '-a'] for a set of values, those values don't exist on
  the machine I am running on (and likely others machines) so we should
  mock the subp function out (that the distro class calls) and correctly
  return values that will work for the testcase. | 
|  | For now, this vendor data handling is just added to openstack.
However, in an effort to allow sanely handling of multi-part vendor-data
that is namespaced, we add openstack.convert_vendordata_json .
That basically takes whatever was loaded from vendordata and takes
the 'cloud-init' key if it is a dict.  This way the author can
namespace cloud-init, basically telling it to ignore everything else. | 
|  | instead of taking a version that they should look for,
the readers now just select the highest supported version.
definitely a use case later for having version= but nothing 
is using it now. |