summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2016-04-15 16:08:47 -0400
committerScott Moser <smoser@ubuntu.com>2016-04-15 16:08:47 -0400
commit8384076e77d8fa5e0f6f3639f2dddd33c64236b9 (patch)
treed40d6c813f344d7a23f61b400c32b482ddc8fe07 /cloudinit
parent5039a08032fc40c9c72afbef90184dbd1af10918 (diff)
downloadvyos-cloud-init-8384076e77d8fa5e0f6f3639f2dddd33c64236b9.tar.gz
vyos-cloud-init-8384076e77d8fa5e0f6f3639f2dddd33c64236b9.zip
write 'allow-hotplug', but 'auto' for auto.
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/net/__init__.py31
1 files changed, 21 insertions, 10 deletions
diff --git a/cloudinit/net/__init__.py b/cloudinit/net/__init__.py
index 647c595b..fa5a0033 100644
--- a/cloudinit/net/__init__.py
+++ b/cloudinit/net/__init__.py
@@ -509,6 +509,26 @@ def render_route(route, indent=""):
return content
+def iface_start_entry(iface, index):
+ fullname = iface['name']
+ if index != 0:
+ fullname += ":%s" % index
+
+ control = iface['control']
+ if control == "auto":
+ cverb = "auto"
+ elif control in ("hotplug",):
+ cverb = "allow-" + control
+ else:
+ cverb = "# control-" + control
+
+ subst = iface.copy()
+ subst.update({'fullname': fullname, 'cverb': cverb})
+
+ return ("{cverb} {fullname}\n"
+ "iface {fullname} {inet} {mode}\n").format(**subst)
+
+
def render_interfaces(network_state):
''' Given state, emit etc/network/interfaces content '''
@@ -549,16 +569,7 @@ def render_interfaces(network_state):
if iface['mode'].startswith('dhcp'):
iface['mode'] = 'dhcp'
- if index == 0:
- if iface['control'] != 'manual':
- content += "allow-{control} {name}\n".format(**iface)
- content += "iface {name} {inet} {mode}\n".format(**iface)
- else:
- if iface['control'] != 'manual':
- content += "auto {name}:{index}\n".format(**iface)
- content += \
- "iface {name}:{index} {inet} {mode}\n".format(**iface)
-
+ content += iface_start_entry(iface, index)
content += iface_add_subnet(iface, subnet)
content += iface_add_attrs(iface)
else: