<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-cloud-init.git/cloudinit/sources/tests, branch 20.1</title>
<subtitle> (mirror of https://github.com/marekm72/vyos-cloud-init.git)
</subtitle>
<id>https://git.amelek.net/marekm72/vyos-cloud-init.git/atom?h=20.1</id>
<link rel='self' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/atom?h=20.1'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/'/>
<updated>2020-01-29T21:55:39+00:00</updated>
<entry>
<title>Replace mock library with unittest.mock (#186)</title>
<updated>2020-01-29T21:55:39+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>oddbloke@ubuntu.com</email>
</author>
<published>2020-01-29T21:55:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=5f8f85bb38cc972d3d2c705a1ec73db3f690f323'/>
<id>urn:sha1:5f8f85bb38cc972d3d2c705a1ec73db3f690f323</id>
<content type='text'>
* cloudinit: replace "import mock" with "from unittest import mock"

* test-requirements.txt: drop mock

Co-authored-by: Chad Smith &lt;chad.smith@canonical.com&gt;
</content>
</entry>
<entry>
<title>Drop most of the remaining use of six (#179)</title>
<updated>2020-01-21T23:02:42+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>oddbloke@ubuntu.com</email>
</author>
<published>2020-01-21T23:02:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=bb71a9d08d25193836eda91c328760305285574e'/>
<id>urn:sha1:bb71a9d08d25193836eda91c328760305285574e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>util: json.dumps on python 2.7 will handle UnicodeDecodeError on binary</title>
<updated>2019-09-27T20:46:00+00:00</updated>
<author>
<name>Chad Smith</name>
<email>chad.smith@canonical.com</email>
</author>
<published>2019-09-27T20:46:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=067516d7bc917e4921b9f1424b7a64e92cae0ad2'/>
<id>urn:sha1:067516d7bc917e4921b9f1424b7a64e92cae0ad2</id>
<content type='text'>
Since python 2.7 doesn't handle UnicodeDecodeErrors with the default
handler

LP: #1801364
</content>
</entry>
<entry>
<title>net,Oracle: Add support for netfailover detection</title>
<updated>2019-09-09T21:13:01+00:00</updated>
<author>
<name>Ryan Harper</name>
<email>ryan.harper@canonical.com</email>
</author>
<published>2019-09-09T21:13:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=fa47d527a03a00319936323f0a857fbecafceaf7'/>
<id>urn:sha1:fa47d527a03a00319936323f0a857fbecafceaf7</id>
<content type='text'>
Add support for detecting netfailover[1] device 3-tuple in networking
layer.  In the Oracle datasource ensure that if a provided network
config, either fallback or provided config includes a netfailover master
to remove any MAC address value as this can break under 3-netdev
as the other two devices have the same MAC.

1. https://www.kernel.org/doc/html/latest/networking/net_failover.html
</content>
</entry>
<entry>
<title>Oracle: Render secondary vnic IP and MTU values only</title>
<updated>2019-08-28T16:10:35+00:00</updated>
<author>
<name>Ryan Harper</name>
<email>ryan.harper@canonical.com</email>
</author>
<published>2019-08-28T16:10:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=e7881d5c62e68e4962e2fcd3d12089e5a3b94dc9'/>
<id>urn:sha1:e7881d5c62e68e4962e2fcd3d12089e5a3b94dc9</id>
<content type='text'>
When rendering secondary vnic configuration from IMDS, only emit
configuration for the IP and MTU values only.  Add support to mutate
either a v1 or a v2 network_config input.
</content>
</entry>
<entry>
<title>DataSourceOracle: prefer DS network config over initramfs</title>
<updated>2019-08-19T20:52:54+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>daniel@daniel-watkins.co.uk</email>
</author>
<published>2019-08-19T20:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=2c52e6e88b19f5db8d55eb7280ee27703e05d75f'/>
<id>urn:sha1:2c52e6e88b19f5db8d55eb7280ee27703e05d75f</id>
<content type='text'>
The Oracle platform provides networking configuration from two sources:

* the primary interface configuration comes from the initramfs, because
  Oracle instance all iSCSI boot
* secondary interface configuration comes from an IMDS accessed over
  HTTP

As we need to combine these two sources of network configuration, the
default "prefer initramfs config over data source config" behaviour
isn't appropriate; we would never get the IMDS interfaces via that
route.  Instead, the Oracle data source has code to combine these two
sources, so we prefer its network configuration over the initramfs
configuration.

(This is not appropriate default behaviour, because _in general_ data
sources won't know how to merge initramfs-provided configuration into
their provided configuration, so switching this order for all data
sources would result in initramfs configuration being discarded on any
data source that implements network_config.)
</content>
</entry>
<entry>
<title>DataSourceOracle: configure secondary NICs on Virtual Machines</title>
<updated>2019-08-14T20:44:50+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>daniel@daniel-watkins.co.uk</email>
</author>
<published>2019-08-14T20:44:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=0e79a1b89287358a77fe31fb82c4bcd83ff48894'/>
<id>urn:sha1:0e79a1b89287358a77fe31fb82c4bcd83ff48894</id>
<content type='text'>
Oracle Cloud Infrastructure's Instance Metadata Service provides network
configuration information for non-primary NICs.  This commit introduces
support, on Virtual Machines[0], for fetching that network metadata,
converting it to v1 network-config[1] and combining it into the network
configuration generated for the primary interface.

By default, this behaviour is not enabled.  Configuring the Oracle
datasource to `configure_secondary_nics` enables it:

    datasource:
      Oracle:
        configure_secondary_nics: true

Failures to fetch and generate secondary NIC configuration will log a
warning, but otherwise will not affect boot.

[0] The expected use of the IMDS-provided network configuration is
    substantially different on Bare Metal Machines, so support for that
    will be addressed separately.
[1] This is v1 config, because cloudinit.net.cmdline generates v1 config
    and we need to integrate the secondary NICs into that configuration.
</content>
</entry>
<entry>
<title>net/cmdline: split interfaces_by_mac and init network config determination</title>
<updated>2019-07-26T20:40:18+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>daniel.watkins@canonical.com</email>
</author>
<published>2019-07-26T20:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=496aaa947ec563bd02b3148f220ff0afe1b32abb'/>
<id>urn:sha1:496aaa947ec563bd02b3148f220ff0afe1b32abb</id>
<content type='text'>
Previously "cmdline" network configuration could be either
user-specified network-config=... configuration data, or
initramfs-provided configuration data.  Before data sources could modify
the order in which network config sources were considered, this
conflation didn't matter (and, indeed, in the default data source
configuration it will continue to not matter).

However, it _is_ desirable for a data source to be able to specify that
its network configuration should be preferred over the
initramfs-provided network configuration but still allow explicit
network-config=... configuration passed to the kernel cmdline to
continue to override both of those sources.

(This also modifies the Oracle data source to use read_initramfs_config
directly, which is effectively what it was using
read_kernel_cmdline_config for previously.)
</content>
</entry>
<entry>
<title>Revert "DataSource: move update_events from a class to an instance..."</title>
<updated>2019-04-10T20:21:37+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>daniel.watkins@canonical.com</email>
</author>
<published>2019-04-10T20:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=6322c2ddf4b68a8e7cc467a07fb20a1d151a2ef3'/>
<id>urn:sha1:6322c2ddf4b68a8e7cc467a07fb20a1d151a2ef3</id>
<content type='text'>
Moving update_events from a class attribute to an instance attribute
means that it doesn't exist on DataSource objects that are unpickled,
causing tracebacks on cloud-init upgrade.

As this change is only required for cloud-init installations which don't
utilise ds-identify, we're backing it out to be reintroduced once the
upgrade path bug has been addressed.

This reverts commit f2fd6eac4407e60d0e98826ab03847dda4cde138.
</content>
</entry>
<entry>
<title>DataSource: move update_events from a class to an instance attribute</title>
<updated>2019-03-14T23:06:47+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>daniel.watkins@canonical.com</email>
</author>
<published>2019-03-14T23:06:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=f2fd6eac4407e60d0e98826ab03847dda4cde138'/>
<id>urn:sha1:f2fd6eac4407e60d0e98826ab03847dda4cde138</id>
<content type='text'>
Currently, DataSourceAzure updates self.update_events in __init__. As
update_events is a class attribute on DataSource, this updates it for
all instances of classes derived from DataSource including those for
other clouds. This means that if DataSourceAzure is even instantiated,
its behaviour is applied to whichever data source ends up being used for
boot.

To address this, update_events is moved from a class attribute to an
instance attribute (that is therefore populated at instantiation time).
This retains the defaults for all DataSource sub-class instances, but
avoids them being able to mutate the state in instances of other
DataSource sub-classes.

update_events is only ever referenced on an instance of DataSource (or a
sub-class); no code relies on it being a class attribute. (In fact,
it's only used within methods on DataSource or its sub-classes, so it
doesn't even _need_ to remain public, though I think it's appropriate
for it to be public.)

DataSourceScaleway is also updated to move update_events from a
class attribute to an instance attribute, as the class attribute would
now be masked by the DataSource instance attribute.

LP: #1819913
</content>
</entry>
</feed>
