<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-cloud-init.git/cloudinit/sources/DataSourceCloudSigma.py, branch circinus-public-unmaintained</title>
<subtitle> (mirror of https://github.com/vyos/vyos-cloud-init.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-cloud-init.git/atom?h=circinus-public-unmaintained</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-cloud-init.git/atom?h=circinus-public-unmaintained'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/'/>
<updated>2021-12-16T02:16:38+00:00</updated>
<entry>
<title>Adopt Black and isort (SC-700) (#1157)</title>
<updated>2021-12-16T02:16:38+00:00</updated>
<author>
<name>James Falcon</name>
<email>james.falcon@canonical.com</email>
</author>
<published>2021-12-16T02:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=bae9b11da9ed7dd0b16fe5adeaf4774b7cc628cf'/>
<id>urn:sha1:bae9b11da9ed7dd0b16fe5adeaf4774b7cc628cf</id>
<content type='text'>
Applied Black and isort, fixed any linting issues, updated tox.ini
and CI.
</content>
</entry>
<entry>
<title>cloudinit: move dmi functions out of util (#622)</title>
<updated>2020-11-02T20:41:11+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2020-11-02T20:41:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=0af1ff1eaf593c325b4f53181a572110eb016c50'/>
<id>urn:sha1:0af1ff1eaf593c325b4f53181a572110eb016c50</id>
<content type='text'>
This just separates the reading of dmi values into its own file.

Some things of note:
 * left import of util in dmi.py only for 'is_container'
   It'd be good if is_container was not in util.
 * just the use of 'util.is_x86' to dmi.py
 * open() is used directly rather than load_file.</content>
</entry>
<entry>
<title>Fix a couple of issues raised by a coverity scan</title>
<updated>2019-07-10T23:17:12+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>daniel.watkins@canonical.com</email>
</author>
<published>2019-07-10T23:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=217c89369c3b16f11333f0090e059f76fc5d7937'/>
<id>urn:sha1:217c89369c3b16f11333f0090e059f76fc5d7937</id>
<content type='text'>
* cc_lxd: fix copy/paste error in debug logging
* DataSourceCloudSigma: remove unreachable code
  * This unreachable code was introduced in a refactor (in 2015) which
    removed the need for an exception handler, but retained the logging
    from the exception handler as an unreachable fall-through.
</content>
</entry>
<entry>
<title>instance-data: Add standard keys platform and subplatform. Refactor ec2.</title>
<updated>2018-10-09T21:46:35+00:00</updated>
<author>
<name>Chad Smith</name>
<email>chad.smith@canonical.com</email>
</author>
<published>2018-10-09T21:46:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=f0bc02d7e221c9aa5982b267739481420c761ead'/>
<id>urn:sha1:f0bc02d7e221c9aa5982b267739481420c761ead</id>
<content type='text'>
Add the following instance-data.json standardized keys:
* v1._beta_keys: List any v1 keys in beta development,
  e.g. ['subplatform'].
* v1.public_ssh_keys: List of any cloud-provided ssh keys for the
  instance.
* v1.platform: String representing the cloud platform api supporting the
  datasource. For example: 'ec2' for aws, aliyun and brightbox cloud
  names.
* v1.subplatform: String with more details about the source of the
  metadata consumed. For example, metadata uri, config drive device path
  or seed directory.

To support the new platform and subplatform standardized instance-data,
DataSource and its subclasses grew platform and subplatform attributes.
The platform attribute defaults to the lowercase string datasource name at
self.dsname. This method is overridden in NoCloud, Ec2 and ConfigDrive
datasources.

The subplatform attribute calls a _get_subplatform method which will
return a string containing a simple slug for subplatform type such as
metadata, seed-dir or config-drive followed by a detailed uri, device or
directory path where the datasource consumed its configuration.

As part of this work, DatasourceEC2 methods _get_data and _crawl_metadata
have been refactored for a few reasons:
- crawl_metadata is now a read-only operation, persisting no attributes on
  the datasource instance and returns a dictionary of consumed metadata.
- crawl_metadata now closely represents the raw stucture of the ec2
  metadata consumed, so that end-users can leverage public ec2 metadata
  documentation where possible.
- crawl_metadata adds a '_metadata_api_version' key to the crawled
  ds.metadata to advertise what version of EC2's api was consumed by
  cloud-init.
- _get_data now does all the processing of crawl_metadata and saves
  datasource instance attributes userdata_raw, metadata etc.

Additional drive-bys:
* unit test rework for test_altcloud and test_azure to simplify mocks
  and make use of existing util and test_helpers functions.
</content>
</entry>
<entry>
<title>datasources: fix DataSource subclass get_hostname method signature</title>
<updated>2018-03-20T22:37:36+00:00</updated>
<author>
<name>Chad Smith</name>
<email>chad.smith@canonical.com</email>
</author>
<published>2018-03-20T22:37:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=685f9901b820a457912959bdd4f389835e965524'/>
<id>urn:sha1:685f9901b820a457912959bdd4f389835e965524</id>
<content type='text'>
DataSource.get_hostname call signature changed to allow for metadata_only
parameter.  The metadata_only=True parameter is passed to get_hostname
during init-local stage in order to set the system hostname if present in
metadata prior to initial network bring up.

Fix subclasses of DataSource which have overridden get_hostname to allow
for metadata_only param.

LP: #1757176
</content>
</entry>
<entry>
<title>Datasources: Formalize DataSource get_data and related properties.</title>
<updated>2017-12-05T23:42:35+00:00</updated>
<author>
<name>Chad Smith</name>
<email>chad.smith@canonical.com</email>
</author>
<published>2017-12-05T23:42:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=0cf6db3617e0cebeb89c4809396f84360827e96c'/>
<id>urn:sha1:0cf6db3617e0cebeb89c4809396f84360827e96c</id>
<content type='text'>
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 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 and the key path will be listed under the top-level key
'base64-encoded-keys' in 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.
</content>
</entry>
<entry>
<title>pylint: fix all logging warnings</title>
<updated>2017-04-21T14:14:47+00:00</updated>
<author>
<name>Joshua Powers</name>
<email>josh.powers@canonical.com</email>
</author>
<published>2017-04-06T18:14:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=5afe4cd0797a12d07ea19b9715b720d47bdea401'/>
<id>urn:sha1:5afe4cd0797a12d07ea19b9715b720d47bdea401</id>
<content type='text'>
This will change all instances of LOG.warn to LOG.warning as warn
is now a deprecated method. It will also make sure any logging
uses lazy logging by passing string format arguments as function
parameters.
</content>
</entry>
<entry>
<title>LICENSE: Allow dual licensing GPL-3 or Apache 2.0</title>
<updated>2016-12-22T22:04:28+00:00</updated>
<author>
<name>Jon Grimm</name>
<email>jon.grimm@canonical.com</email>
</author>
<published>2016-11-22T23:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=b2a9f33616c806ae6e052520a8589113308f567c'/>
<id>urn:sha1:b2a9f33616c806ae6e052520a8589113308f567c</id>
<content type='text'>
This has been a recurring ask and we had initially just made the change to
the cloud-init 2.0 codebase.  As the current thinking is we'll just
continue to enhance the current codebase, its desirable to relicense to
match what we'd intended as part of the 2.0 plan here.

- put a brief description of license in LICENSE file
- put full license versions in LICENSE-GPLv3 and LICENSE-Apache2.0
- simplify the per-file header to reference LICENSE
- tox: ignore H102 (Apache License Header check)

Add license header to files that ship.
Reformat headers, make sure everything has vi: at end of file.

Non-shipping files do not need the copyright header,
but at the moment tests/ have it.
</content>
</entry>
<entry>
<title>CloudSigma: Fix bug where datasource was not loaded in local search.</title>
<updated>2016-12-12T01:56:23+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@ubuntu.com</email>
</author>
<published>2016-12-07T18:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=a9d41de47a58d967ae3fd6a7749f8143a14424d3'/>
<id>urn:sha1:a9d41de47a58d967ae3fd6a7749f8143a14424d3</id>
<content type='text'>
CloudSigma would not get any datasources loaded during cloud-init local.
Thus, when the network datasource was removed, *no* CloudSigma
datasources would be loaded.

LP: #1648380
</content>
</entry>
<entry>
<title>DigitalOcean: use the v1.json endpoint</title>
<updated>2016-08-12T20:16:27+00:00</updated>
<author>
<name>Ben Howard</name>
<email>bh@digitalocean.com</email>
</author>
<published>2016-08-01T20:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=bc2c3267549b9067c017a34e22bbee18890aec06'/>
<id>urn:sha1:bc2c3267549b9067c017a34e22bbee18890aec06</id>
<content type='text'>
Per [1], DigitalOcean provides the metadata in multiple formats. The JSON
document is the preferred endpoint.

Changes:
- Switch to the v1.json meta-data endpoint
- Identify droplet identity from SMBIOS
- Only poll for metadata when the instance is confirmed to be a droplet
- Removal of hard-coded mirrors

Additionally, centralize the gates on running 'dmidecode' on arm arches,
and update tests to address.

[1] https://developers.digitalocean.com/documentation/metadata/
</content>
</entry>
</feed>
