summaryrefslogtreecommitdiff
path: root/cloudinit/util.py
AgeCommit message (Collapse)Author
2016-03-24make get_cmdline read /proc/1/cmdline if inside a containerScott Moser
This follows behavior of systemd/cloud-init-generator. This way you can feed a command line into lxc container.
2016-03-14change return value for dmi data of all \xff to be ""Scott Moser
Previously we returned a string of "." the same length as the dmi field. That seems confusing to the user as "." would seem like a valid response when in fact this value should not be considered valid. So now, in this case, return empty string.
2016-03-14strip return of dmidecode and do so before checking for all "."Scott Moser
2016-03-14change where we handle the translationScott Moser
2016-03-14change return value for dmi data of all \xff to be ""Scott Moser
Previously we returned a string of "." the same length as the dmi field. That seems confusing to the user as "." would seem like a valid response when in fact this value should not be considered valid. So now, in this case, return empty string.
2016-03-10dmi data: fix failure of reading dmi data for unset dmi valuesScott Moser
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8 decoding of those would fail, causing warning and stacktrace. Return '.' instead of \xff. This is what dmidecode would return. $ dmidecode --string system-product-name
2016-03-10improve commentScott Moser
2016-03-10dmi data: fix failure of reading dmi data for unset dmi valuesScott Moser
it is not uncommon to find dmi data in /sys full of 'ff'. utf-8 decoding of those would fail, causing warning and stacktrace. Return '.' instead of \xff. This maps to what dmidecode would return $ dmidecode --string system-product-name .................................
2016-03-03Fix pyflake/pyflake3 errorsRyan Harper
Now we can run make check to assess pep8, pyflakes for python2 or 3 And execute unittests via nosetests (2 and 3).
2016-03-03Update pep8 runner and fix pep8 issuesRyan Harper
2016-01-28Use systemd-detect-virt to detect a container.Martin Pitt
running-in-container is an Ubuntu-ism and going away. LP: #1539016
2015-09-01Handle symlink mount points in mount_cb.Daniel Watkins
The Azure data source now uses a /dev/disk symlink to identify devices, but the dereferenced version of this appears in the mount table. mount_cb therefore doesn't identify when a disk is already mounted, and attempts to mount it a second time (which fails with NTFS).
2015-08-06tests passScott Moser
2015-07-27_read_dmi_syspath: fix bad log message causing unintended exceptionScott Moser
2015-05-14read_seeded: fix reed_seeded after regressionScott Moser
read_seeded was assuming a Response object back from load_tfile_or_url but load_tfile_or_url was returning string. since the only other user of this was a test, move load_tfile_or_url to a test, and just do the right thing in read_seeded. LP: #1455233
2015-04-16fix cloud-config-archive handlingScott Moser
handling of cloud-config-archive input would fail in fully_decoded_payload. part.get_charset() would return a Charset object, but get_charset.input_codec is a string suitable for passing to decode. This handles that correctly, and is more careful about binary data inside input. The test added verifies that cloud-config inside a cloud-config-archive is handled correctly and also that binary data there is ignored without exceptions raised. LP: #1445143
2015-03-04Add util.message_from_string to wrap email.message_from_string.Daniel Watkins
This is to work-around the fact that email.message_from_string uses cStringIO in Python 2.6, which can't handle Unicode.
2015-03-04Use more consistent logging invocation.Daniel Watkins
2015-03-04Convert dmidecode values to sysfs names before looking for them.Daniel Watkins
dmidecode and /sys/class/dmi/id/* use different names for the same information. This modified the logic in util.read_dmi_data to map from dmidecode names to sysfs names before looking in sysfs.
2015-03-02get_cmdline_url: fix in python3 when callingScott Moser
get_cmdline_url was passing a string to response.contents.startswith() where response.contents is now bytes. this changes it to convert input to text, and also to default to text.
2015-03-02util.py: remove 'print' debug statementScott Moser
2015-02-25move towards user-data being binaryScott Moser
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.
2015-02-12mount_cb: fix scoping of an exception in python3Scott Moser
2015-02-11include exception in error again.Scott Moser
it is admittedly not clear, but 'exc' should be definied if mountpoint is not.
2015-02-11Open /dev/console in text mode (so we don't have to encode strings to write ↵Daniel Watkins
them).
2015-02-11Fix reference to non-existent variable.Daniel Watkins
2015-02-10pep8Scott Moser
2015-02-11fix random_seed moduleScott Moser
2015-01-27Respond to review:Barry Warsaw
- Refactor "fully" decoding the payload of a text/* part. In Python 3, decode=True only means to decode according to Content-Transfer-Encoding, not according to any charset in the Content-Type header. So do that.
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-26Trunk merged and ported.Barry Warsaw
2015-01-26Avoid a nose bug when running under the test suite and no exception is inBarry Warsaw
flight.
2015-01-23* Fix the filter() imports.Barry Warsaw
* In Py3, pass universal_newlines to subprocess.Popen()
2015-01-22Low hanging Python 3 fruit.Barry Warsaw
2015-01-21Largely merge lp:~harlowja/cloud-init/py2-3 albeit manually because it seemedBarry Warsaw
to be behind trunk. `tox -e py27` passes full test suite. Now to work on replacing mocker.
2015-01-21Use either syspath or dmidecode based on the availability.Ben Howard
2015-01-21Fix file modes to be Python 2/3 compatible.Barry Warsaw
2015-01-14Drop reliance on dmidecode executable.Ben Howard
2015-01-06tools/run-pep8: remove leading ',' fed to --ignoreScott Moser
--ignore was being called with ',E121,E...' rather than 'E121,E...'. that resulted in odd behavior, missing the pep8 errors that are fixed here.
2014-11-21Pretty up the debug moduleJoshua Harlow
Previously the usage of the yaml_dumps module was causing any python unicode key and value to show up as: 'item': !!python/unicode "some string" This was not very pretty... Fix this by using safe_dumps (which is also a good thing to use and allow_unicode=True). Also create a tiny helper function in the cc_debug module that does not include the yaml start and end footers (since this module has its own footers and headers). Also includes a basic sanity test for this module.
2014-11-21Increase the robustness/configurability of the chef module...Joshua Harlow
Add the following adjustments to the chef template and module: - Make it so that the chef directories can be provided (defaults to the existing directories) - Make the params much more configurable, and if a parameter is provided in the chef configuration it will override existing template parameters. - Make the template skip lines if the values are None in the configuration so that template lines can be removed if/when this is desirable. - Allow the firstboot json path to be configurable (defaults to the existing location). - Adds a basic set of tests to ensure that good things are happening. - Make a helper function to tell if already installed. - Have the install routine not run chef after installed but have it instead return a result to tell the caller to run the chef program once completed. - Use the generated_by() utility function to give the ruby template a better header comment. - Set special parameters after selecting the basic chef parameters. - Allow for the running after install and run arguments to be configured. - Allow the omnibus url fetching retries to be configurable. - Move the chef running to its own helper function - Add module docs
2014-10-29fix bad logic resulting in failure to honor 'output' config.Scott Moser
This busted logic causes 'output' to not be paid any attention to, and thus output is not written to /var/log/cloud-init-output.log. LP: #1387340
2014-10-18Pretty up the debug moduleJoshua Harlow
Previously the usage of the yaml_dumps module was causing any python unicode key and value to show up as: 'item': !!python/unicode "some string" This was not very pretty... Fix this by using safe_dumps (which is also a good thing to use and allow_unicode=True). Also create a tiny helper function in the cc_debug module that does not include the yaml start and end footers (since this module has its own footers and headers). Also includes a basic sanity test for this module.
2014-10-11Allow the omnibus url fetching retries to be configurableJoshua Harlow
2014-10-10Fix newline added at end of fileJoshua Harlow
2014-10-10Undo changes to the util file, not sure why that happened...Joshua Harlow
2014-10-10Increase the robustness of the chef moduleJoshua Harlow
Add the following adjustments to the chef template and module - Make it so that the chef directories can be provided (defaults to the existing directories) - Make the params much more configurable, and if a parameter is provided in the chef configuration it will override existing template parameters. - Make the template skip lines if the values are None in the configuration so that template lines can be removed if/when this is desirable. - Allow the firstboot json path to be configurable (defaults to the existing location). - Adds a basic set of tests to ensure that good things are happening.
2014-09-30support human2bytes, separate handling out to methodScott Moser
2014-09-30add code for setting up swap fileScott Moser