<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-cloud-init.git/cloudinit/net/renderers.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>Add new network activators to bring up interfaces (#919)</title>
<updated>2021-07-01T19:43:07+00:00</updated>
<author>
<name>James Falcon</name>
<email>therealfalcon@gmail.com</email>
</author>
<published>2021-07-01T19:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=81299de5fe3b6e491a965a6ebef66c6b8bf2c037'/>
<id>urn:sha1:81299de5fe3b6e491a965a6ebef66c6b8bf2c037</id>
<content type='text'>
Currently _bring_up_interfaces() is a no-op for any distro using
renderers. We need to be able to support bringing up a single
interfaces, a list of interfaces, and all interfaces. This should be
independent of the renderers, as the network config is often
generated independent of the mechanism used to apply it.

Additionally, I included a refactor to remove
"_supported_write_network_config". We had a confusing call chain of
apply_network_config-&gt;_write_network_config-&gt;_supported_write_network_config.
The last two have been combined.</content>
</entry>
<entry>
<title>Add support for VMware PhotonOS (#909)</title>
<updated>2021-06-18T16:53:44+00:00</updated>
<author>
<name>sshedi</name>
<email>53473811+sshedi@users.noreply.github.com</email>
</author>
<published>2021-06-18T16:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=35aa9db6f8e2ba05d366776c0e8d97f52217e930'/>
<id>urn:sha1:35aa9db6f8e2ba05d366776c0e8d97f52217e930</id>
<content type='text'>
Also added a new (currently experimental) systemd-networkd renderer,
and includes a small refactor to cc_resolv_conf.py to support the
resolved.conf used by systemd-resolved.</content>
</entry>
<entry>
<title>add Openbsd support (#147)</title>
<updated>2020-03-26T20:07:51+00:00</updated>
<author>
<name>Gonéri Le Bouder</name>
<email>goneri@lebouder.net</email>
</author>
<published>2020-03-26T20:07:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=44039629e539ed48298703028ac8f10ad3c60d6e'/>
<id>urn:sha1:44039629e539ed48298703028ac8f10ad3c60d6e</id>
<content type='text'>
- tested on OpenBSD 6.6
- tested on OpenStack without config drive, and NoCloud with ISO config
  drive</content>
</entry>
<entry>
<title>Add Netbsd support (#62)</title>
<updated>2020-03-12T18:37:08+00:00</updated>
<author>
<name>Gonéri Le Bouder</name>
<email>goneri@lebouder.net</email>
</author>
<published>2020-03-12T18:37:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=94838def772349387e16cc642b3642020e22deda'/>
<id>urn:sha1:94838def772349387e16cc642b3642020e22deda</id>
<content type='text'>
Add support for the NetBSD Operating System.                                    
                                                                                
Features in this branch:                                                        
* Add BSD distro parent class from which NetBSD and FreeBSD can                 
  specialize                                                                    
* Add *bsd util functions to cloudinit.net and cloudinit.net.bsd_utils          
* subclass cloudinit.distro.freebsd.Distro from bsd.Distro                      
* Add new cloudinit.distro.netbsd and cloudinit.net.renderer for                
  netbsd                                                                        
* Add lru_cached util.is_NetBSD functions                                       
* Add NetBSD detection for ConfigDrive and NoCloud datasources                  
                                                                                
This branch has been tested with:                                               
                                                                                
- NoCloud and OpenStack (with and without config-drive)                         
- NetBSD 8.1. and 9.0                                                           
- FreeBSD 11.2 and 12.1                                                         
- Python 3.7 only, because of the dependency oncrypt.METHOD_BLOWFISH.           
  This version is available in NetBSD 7, 8 and 9 anyway</content>
</entry>
<entry>
<title>freebsd: introduce the freebsd renderer (#61)</title>
<updated>2019-12-20T18:45:17+00:00</updated>
<author>
<name>Gonéri Le Bouder</name>
<email>goneri@lebouder.net</email>
</author>
<published>2019-12-20T18:45:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=9bfb2ba7268e2c3c932023fc3d3020cdc6d6cc18'/>
<id>urn:sha1:9bfb2ba7268e2c3c932023fc3d3020cdc6d6cc18</id>
<content type='text'>
* 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"
```

* freesd: use regex named groups

Reduce the complexity of `get_interfaces_by_mac_on_freebsd()` with
named groups.

* freebsd: breaks up _write_network() in tree small functions

- `_write_ifconfig_entries()`
- `_write_route_entries()`
- `_write_resolve_conf()`

* extend find_fallback_nic() to support FreeBSD

this uses `route -n show default` to find the default interface

* freebsd: use dns keys from NetworkState class

The NetworkState class (settings instance) exposes the DNS configuration
in two keys:

- `dns_nameservers`
- `dns_searchdomains`

On OpenStack, these keys are set when a global DNS server is set. The
alternative is the `dns_nameservers` and `dns_search` keys from each
subdomain. We continue to read those.

* freebsd: properly target the /etc/resolv.conf file

* freebsd: ignore 'service routing restart' ret code

On FreeBSD 10, the restart of routing and dhclient is likely to fail because
- routing: it cannot remove the loopback route, but it will still set up
  the default route as expected.
- dhclient: it cannot stop the dhclient started by the netif service.
In both case, the situation is ok, and we can proceed.

* freebsd: handle case when metadata MAC local locally

Handle the case where the metadata configuration comes with a MAC that
does not exist locally.

See:
- https://github.com/canonical/cloud-init/pull/61/files/635ce14b3153934ba1041be48b7245062f21e960#r359600604
- https://github.com/canonical/cloud-init/pull/61/files/635ce14b3153934ba1041be48b7245062f21e960#r359600966

* freebsd: show up a warning if several subnet found

The FreeBSD provider currently only allow one subnet per interface.

* freebsd: honor the target parameter in _write_network

* freebsd: log when a bad route is found

* freebsd: pass _postcmds to start_services()

* freebsd: updatercconf() is depercated

Replace `updatercconf()` by `rhel_util.update_sysconfig_file()`.

* freebsd: ensure gateway is ipv4 before using it

With the legacy ENI format, an IPv6 gateway may be pushed. This instead
of the expected IPv4.

* freebsd: find_fallback_nic, support FB10

On FreeBSD &lt;= 10, `ifconfig -l` ignores the down interfaces.

* freebsd: use util.target_path() to load resolv.conf

Ensure we access `/etc/resolv.conf`, not `etc/resolv.conf`.

* freebsd: skip subnet without netmask

Those are likely to be either invalid of in IPv6 format. IPv6 support
will be addressed later in a new patchset.

* freebsd: get_devicelist returns netif list

Ensure `get_devicelist()` returns the list of known netif on FreeBSD.

* replace rhel_util.update_sysconfig_file wrapper call, with a wrapper function

* reverse if condition to remove an indent

Co-authored-by: Igor Galić &lt;me+github@igalic.co&gt;
</content>
</entry>
<entry>
<title>cloudinit.net: add network config v2 parsing and rendering</title>
<updated>2017-03-20T19:59:03+00:00</updated>
<author>
<name>Ryan Harper</name>
<email>ryan.harper@canonical.com</email>
</author>
<published>2017-03-19T13:39:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=ef18b8ac4cf7e3dfd98830fbdb298380a192a0fc'/>
<id>urn:sha1:ef18b8ac4cf7e3dfd98830fbdb298380a192a0fc</id>
<content type='text'>
Network configuration version 2 format is implemented in a package
called netplan (nplan)[1] which allows consolidated network config
for multiple network controllers.

- Add a new netplan renderer
- Update default policy, placing eni and sysconfig first
  This requires explicit policy to enable netplan over eni
  on systems which have both (Yakkety, Zesty, UC16)
- Allow any network state (parsed from any format cloud-init supports) to
  render to v2 if system supports netplan.
- Move eni's _subnet_is_ipv6 to common code for use by other renderers
- Make sysconfig renderer always emit /etc/syconfig/network configuration
- Update cloud-init.service systemd unit to also wait on
  systemd-networkd-wait-online.service

1. https://lists.ubuntu.com/archives/ubuntu-devel/2016-July/039464.html
</content>
</entry>
<entry>
<title>net: add renderers for automatically selecting the renderer.</title>
<updated>2017-03-18T01:31:56+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2017-03-15T18:33:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=5beecdf88b630a397b3722ddb299e9a37ff02737'/>
<id>urn:sha1:5beecdf88b630a397b3722ddb299e9a37ff02737</id>
<content type='text'>
Previously, the distro had hard coded which network renderer it would
use. This adds support for just picking the right renderer based
on what is available.

Now, that can be set via a priority in system_info, but should
generally work. That config looks like:
 system_info:
   network:
     renderers: ["eni", "sysconfig"]

When no renderers are found, a specific RendererNotFoundError is raised.
stages.py is modified to catch that and log it at error level. This
path should not really be exercised, but could occur if for example an
Ubuntu system did not have ifupdown, or a rhel system did not have
sysconfig. In such a system previously we would have quietly rendered
ENI configuration but that would have been ignored. This is one step
better in that we at least log the error.
</content>
</entry>
</feed>
