summaryrefslogtreecommitdiff
path: root/cloudinit/handlers/__init__.py
AgeCommit message (Collapse)Author
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-04-16pep8 fixesScott Moser
2015-03-11userdata-handlers: python3-related fixes on do-not-process-this-part pathOleg Strikov
Cloud-init crashed when received multipart userdata object with 'application/octet-stream' part or some other 'application/*' part except archived ones (x-gzip and friends). These parts are not processed by cloud-init and result only in a message in the log. We used some non-python3-friendly techniques while generating this log message which was a reason for the crash.
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-26Fix a few string/bytes problems with Python 3.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.
2014-01-16simplify consume_vendordata, move exclusion, consume_vendordata per instanceScott Moser
this simplifies consume_vendordata a bit, changes consume_vendordata to be by default "PER_INSTANCE" (like userdata). The other thing we do here is move the exlusion to be handled when walking the data. The benefit of doing it then is that we can exclude part-handlers. Without the ability to exlude part handlers, exclusion is basically useless (since part-handlers could accomplish anything they wanted).
2013-07-24change 'json-patch' to 'cloud-config-jsonp'Scott Moser
2013-07-24merge from trunkScott Moser
2013-07-21Just use an initialized array.Joshua Harlow
2013-07-20Remove return not used.Joshua Harlow
2013-07-20Also handle custom handlers correctly.Joshua Harlow
LP: #1203368
2013-07-20Add usage of '#json-patch'Joshua Harlow
2013-06-19fix and cleanup usage of util.logexcJuerg Haefliger
2013-03-06Continue working on merging code.Joshua Harlow
2013-03-05Add in a bunch of changes and tests.Joshua Harlow
2012-11-22Continue working on merging prototype.Joshua Harlow
2012-11-20Start allowing different merging types to be appliedJoshua Harlow
After user data handling splits apart all the different content types into there various mime messages it is nice to be able to have each message specify how it should be merged (mainly for cloud-config or cloud-archive) into the single cloud config that is eventually used. This starts to add a plugable merging framework and the needed components to activate said headers and merging.
2012-11-06Do the append after escape.Joshua Harlow
2012-11-06Use a method instead + at leastJoshua Harlow
attempt the unicode-escape path.
2012-11-06Fix the case where a unknown type is seen andJoshua Harlow
it has contents which are in unicode which seems to cause python to blow-up when this happens since 'string-escape' doesn't work on unicode (at least in 2.6). LP: #1075756
2012-08-22fix pep8 complaints.Scott Moser
make pep8 now is silent on precise's pep8 ( 0.6.1-2ubuntu2).
2012-07-12walker_callback: fix traceback on empty payload.Scott Moser
A previous commit of mine here tried to apply a trivial fix to avoid a warning on empty content type. Instead, it made the empty content type call a handler which did not exist. This instead logs warning on unknown non-empty payload. It logs debug on empty payload.
2012-06-29[merge-from-trunk] remove warning message to console on empty user-dataScott Moser
2012-06-211. Only register and increment the handler count after we have ensured it ↵Joshua Harlow
imports and call_begin passes. 2. Fixup the 'test__init__.py' file to now be working again.
2012-06-21Remove a unused import.Joshua Harlow
2012-06-201. Add an importer function that will search for a given module in a set of ↵Joshua Harlow
search module 'prefixes' that also has a potential set of required attributes. 2. Use this new importer to find the distro class, the userdata handler modules, the config modules and the datasource modules, if none can be found error out accordingly.
2012-06-20Massive pylint + pep8 fixups!Joshua Harlow
2012-06-17Log handler + info that is about to be calledJoshua Harlow
2012-06-161. Allow for checking against lower case include types.Joshua Harlow
2. Perform lstrip on the payload, just incase people put spaces/whitespace before the type.
2012-06-16Update error messaging for when importing/registring a part-handler failsJoshua Harlow
2012-06-161. Ensure a that when a bad version is found, that it gets set to 1.Joshua Harlow
2. Increment part handler count even if it doesn't get registered (this shouldn't cause any problems)
2012-06-16When a handler version is set but to an unknown non-int convertable value, ↵Joshua Harlow
treat it as 1
2012-06-16They are handlers not mods ;)Joshua Harlow
2012-06-16Make the top level __init__ similar to the other top level __inits__ where ↵Joshua Harlow
just util functions and base classes are defined there.
2012-06-15Ensure that this directory is treated as a module.Joshua Harlow
2012-06-15Moved the handlers from a user_data directory to a handler directory.Joshua Harlow
2012-06-11Removing distro specifics from here, as well as running functionality (which ↵Joshua Harlow
is now elsewhere).
2012-06-08Move how handler module names are found to here as well as a fixup module ↵Joshua Harlow
function for bad modules.
2012-06-08Remove cloud config from here and move to cloud.pyJoshua Harlow
2012-06-071. Adding some new helper files that split off file inclusion, templating, ↵Joshua Harlow
importing, constant usage. 1. Move all datasources to a new sources directory 1. Rename some files to be more consistent with python file/module naming.