Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
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.
|
|
- 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.
|
|
|
|
to be behind trunk.
`tox -e py27` passes full test suite. Now to work on replacing mocker.
|
|
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).
|
|
|
|
|
|
|
|
|
|
LP: #1203368
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
attempt the unicode-escape path.
|
|
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
|
|
make pep8 now is silent on precise's pep8 ( 0.6.1-2ubuntu2).
|
|
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.
|
|
|
|
imports and call_begin passes.
2. Fixup the 'test__init__.py' file to now be working again.
|
|
|
|
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.
|
|
|
|
|
|
2. Perform lstrip on the payload, just incase people put spaces/whitespace before the type.
|
|
|
|
2. Increment part handler count even if it doesn't get registered (this shouldn't cause any problems)
|
|
treat it as 1
|
|
|
|
just util functions and base classes are defined there.
|
|
|
|
|
|
is now elsewhere).
|
|
function for bad modules.
|
|
|
|
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.
|