cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #06575
[Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
Manuel Torrinha has proposed merging ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master.
Commit message:
Added support for arbitrary options in sysconfig
These options should be added within the `sysconfig` key, as such:
```
network:
version: 2
sysconfig:
NTPSERVERARGS: "minpoll 3 maxpoll 4"
RES_OPTIONS: "rotate"
```
LP: #1819966
Signed-off-by: Manuel Torrinha <manuel.torrinha@xxxxxxxxxxxxxxxxxx>
Requested reviews:
cloud-init commiters (cloud-init-dev)
For more details, see:
https://code.launchpad.net/~t0rrant/cloud-init/+git/cloud-init/+merge/371948
I do not feel comfortable with having a dummy handler for this, I guess
the purpose of the `network` key is exclusive for network interfaces and
network interface interaction. Having a handle_ function is perhaps not
the best choice.
For now this does what is intended, will eventually discuss this with the
cloud-init team and maybe this will be done in some other way.
On a final note, when running tox tests I get several errors/warnings, however:
```
...
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)
```
--
Your team cloud-init commiters is requested to review the proposed merge of ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master.
diff --git a/cloudinit/net/network_state.py b/cloudinit/net/network_state.py
index c0c415d..a15df67 100644
--- a/cloudinit/net/network_state.py
+++ b/cloudinit/net/network_state.py
@@ -652,6 +652,14 @@ class NetworkStateInterpreter(object):
LOG.debug('v2(ethernets) -> v1(physical):\n%s', phy_cmd)
self.handle_physical(phy_cmd)
+ def handle_sysconfig(self, command):
+ '''
+ sysconfig:
+ NTPSERVERARGS: "minpoll 3 maxpoll 4"
+ RES_OPTIONS: "rotate"
+ '''
+ LOG.debug('[handle_sysconfig] %s', command.items())
+
def handle_vlans(self, command):
'''
v2_vlans = {
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
index be5dede..c608d68 100644
--- a/cloudinit/net/sysconfig.py
+++ b/cloudinit/net/sysconfig.py
@@ -724,6 +724,10 @@ class Renderer(renderer.Renderer):
if network_state.use_ipv6:
netcfg.append('NETWORKING_IPV6=yes')
netcfg.append('IPV6_AUTOCONF=no')
+ if network_state.config and network_state.config['sysconfig']:
+ for opt, val in network_state.config['sysconfig'].items():
+ netcfg.append("{}=\"{}\"".format(opt, val))
+
util.write_file(sysconfig_path,
"\n".join(netcfg) + "\n", file_mode)
Follow ups
-
[Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Ryan Harper, 2019-10-31
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Ryan Harper, 2019-09-17
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Manuel Torrinha, 2019-09-17
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Ryan Harper, 2019-09-16
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Manuel Torrinha, 2019-09-16
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Ryan Harper, 2019-09-13
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Ryan Harper, 2019-08-30
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Manuel Torrinha, 2019-08-29
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Brendan Germain, 2019-08-28
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Ryan Harper, 2019-08-28
-
Re: [Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Manuel Torrinha, 2019-08-28
-
[Merge] ~t0rrant/cloud-init:1819966-sysconfig-options into cloud-init:master
From: Manuel Torrinha, 2019-08-28