← Back to team overview

cloud-init-dev team mailing list archive

[Merge] ~chad.smith/cloud-init:unify-datasource-get-data into cloud-init:master

 

The proposal to merge ~chad.smith/cloud-init:unify-datasource-get-data into cloud-init:master has been updated.

Description changed to:

Datasources: Formalize DataSource get_data and related properties.

Each DataSource subclass must define its own get_data method. This branch
formalizes our DataSource class to require that subclasses define an explicit dsname for sourcing cloud-config datasource configuration. Subclasses must also override the _get_data method or a NotImplementedError is raised.

The branch also writes /run/cloud-init/instance-data.json.
This file contains all meta-data, user-data and vendor-data and a standardized set of metadata keys in a json blob which other utilities with root-access could make use of. Because the some meta-data or user-data is potentially sensitive the file is only readable by root.

Generally most metadata content types should be json serializable. If specific keys or values are not serializable, those specific values will be base64encoded  with a 'Warning' in the instance-data.json. If json writing fails due to other TypeErrors or UnicodeDecodeErrors, a warning log will be emitted to /var/log/cloud-init.log and no instance-data.json will be created.

For more details, see:
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/330115
-- 
Your team cloud-init commiters is requested to review the proposed merge of ~chad.smith/cloud-init:unify-datasource-get-data into cloud-init:master.


References