~goneri/cloud-init:freebsd_net_renderer

Last commit made on 2019-11-23
Get this branch:
git clone -b freebsd_net_renderer https://git.launchpad.net/~goneri/cloud-init
Only Gonéri Le Bouder can upload to this branch. If you are Gonéri Le Bouder please log in for upload directions.

Branch merges

Branch information

Name:
freebsd_net_renderer
Repository:
lp:~goneri/cloud-init

Recent commits

0f6af36... by Gonéri Le Bouder on 2019-03-24

freebsd: introduce the freebsd renderer

Refactoring of the FreeBSD code base to provide a real network renderer
for FreeBSD.
Use the generic update_sysconfig_file() from rhel_util to handle the
access to /etc/rc.conf.
Interfaces are not automatically renamed by FreeBSD using
the following configuration in /etc/rc.conf:

```
ifconfig_fxp0_name="eth0"
```

4bc399e... by Ryan Harper on 2019-11-23

ec2: Add support for AWS IMDS v2 (session-oriented) (#55)

* ec2: Add support for AWS IMDS v2 (session-oriented)

AWS now supports a new version of fetching Instance Metadata[1].

Update cloud-init's ec2 utility functions and update ec2 derived
datasources accordingly. For DataSourceEc2 (versus ec2-look-alikes)
cloud-init will issue the PUT request to obtain an API token for
the maximum lifetime and then all subsequent interactions with the
IMDS will include the token in the header.

If the API token endpoint is unreachable on Ec2 platform, log a
warning and fallback to using IMDS v1 and which does not use
session tokens when communicating with the Instance metadata
service.

We handle read errors, typically seen if the IMDS is beyond one
etwork hop (IMDSv2 responses have a ttl=1), by setting the api token
to a disabled value and then using IMDSv1 paths.

To support token-based headers, ec2_utils functions were updated
to support custom headers_cb and exception_cb callback functions
so Ec2 could store, or refresh API tokens in the event of token
becoming stale.

[1] https://docs.aws.amazon.com/AWSEC2/latest/ \
UserGuide/ec2-instance-metadata.html \
#instance-metadata-v2-how-it-works

310f860... by Scott Moser on 2019-11-21

tests: Fix cloudsigma tests when no dmidecode data is present. (#57)

The cloudsigma tests had few test cases that were not getting
all the "mocks" set up correctly. Specifically is_running_in_cloudsigma
was not getting replaced and calls would leak through to
util.read_dmi_data.

62bbc26... by Harald Jensås on 2019-11-20

net: IPv6, accept_ra, slaac, stateless (#51)

Router advertisements are required for the default route
to be set up, thus accept_ra should be enabled for
dhcpv6-stateful.

sysconf: IPV6_FORCE_ACCEPT_RA controls accept_ra sysctl.
eni: mode static and mode dhcp 'accept_ra' controls sysctl.

Add 'accept-ra: true|false' parameter to config v1 and
v2. When True: accept_ra is set to '1'. When False:
accept_ra is set to '0'. When not defined in config the
value is left to the operating system default.

This change also extend the IPv6 support to distinguish
between slaac and dhcpv6-stateless. SLAAC is autoconfig
without any options from DHCP, while stateless auto-configures
the address and the uses DHCP for other options.

LP: #1806014
LP: #1808647

87bb30c... by Joshua Powers on 2019-11-20

docs: Update the configdrive datasource links (#44)

Update ConfigDrive datasource documentation to point to the most recent
OpenStack documentation for ConfigDrive.

LP: #1852461

8db5ee8... by Pengpeng Sun on 2019-11-20

lp-to-git-users: adding PengpengSun

Mapped from pengpengs

6bff240... by Thomas Stringer on 2019-11-20

lp-to-git-users: adding trstringer

Mapped from trstringer

3baabe7... by Harald Jensås on 2019-11-15

lp-to-git-users: adding hjensas

Mapped from harald-jensas

fb04493... by Igor Galić <email address hidden> on 2019-11-13

distro: correctly set usr_lib_exec path for FreeBSD distro (#40)

On FreeBSD our helpers live in /usr/local/lib/cloud-init/

LP: #1852491

9478f0f... by Chad Smith on 2019-11-13

azure: support secondary ipv6 addresses (#33)

Azure's Instance Metadata Service (IMDS) reports multiple IPv6
addresses, via the http://169.254.169.254/metadata/instance/network
route. Any additional values after the first in 'ipAddresses' under the
'ipv6' interface key are extracted and configured as static IPs on
the interface.