summaryrefslogtreecommitdiff
path: root/cloudinit/net/netplan.py
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2017-05-26 15:53:48 -0400
committerScott Moser <smoser@brickies.net>2017-05-26 15:53:48 -0400
commitcc9748215f612b8c600c1080c60af71fe7624c47 (patch)
tree3f008cb6350adf6bc003d2d5ad2d851c9506b81e /cloudinit/net/netplan.py
parent3dd56b4504003928bace87a7e67b08e9376fc6c1 (diff)
parent16a7302f6acb69adb0aee75eaf12392fa3688853 (diff)
downloadvyos-cloud-init-cc9748215f612b8c600c1080c60af71fe7624c47.tar.gz
vyos-cloud-init-cc9748215f612b8c600c1080c60af71fe7624c47.zip
merge from master at 0.7.9-153-g16a7302f
Diffstat (limited to 'cloudinit/net/netplan.py')
-rw-r--r--cloudinit/net/netplan.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/cloudinit/net/netplan.py b/cloudinit/net/netplan.py
index 825fe831..a715f3b0 100644
--- a/cloudinit/net/netplan.py
+++ b/cloudinit/net/netplan.py
@@ -4,7 +4,7 @@ import copy
import os
from . import renderer
-from .network_state import subnet_is_ipv6
+from .network_state import mask2cidr, subnet_is_ipv6
from cloudinit import log as logging
from cloudinit import util
@@ -41,7 +41,7 @@ NET_CONFIG_TO_V2 = {
'bond-num-grat-arp': 'gratuitious-arp',
'bond-primary-reselect': 'primary-reselect-policy',
'bond-updelay': 'up-delay',
- 'bond-xmit_hash_policy': 'transmit_hash_policy'},
+ 'bond-xmit-hash-policy': 'transmit-hash-policy'},
'bridge': {'bridge_ageing': 'ageing-time',
'bridge_bridgeprio': 'priority',
'bridge_fd': 'forward-delay',
@@ -118,9 +118,10 @@ def _extract_addresses(config, entry):
sn_type += '4'
entry.update({sn_type: True})
elif sn_type in ['static']:
- addr = "%s" % subnet.get('address')
- if 'netmask' in subnet:
- addr += "/%s" % subnet.get('netmask')
+ addr = '%s' % subnet.get('address')
+ netmask = subnet.get('netmask')
+ if netmask and '/' not in addr:
+ addr += '/%s' % mask2cidr(netmask)
if 'gateway' in subnet and subnet.get('gateway'):
gateway = subnet.get('gateway')
if ":" in gateway:
@@ -137,8 +138,9 @@ def _extract_addresses(config, entry):
mtukey += '6'
entry.update({mtukey: subnet.get('mtu')})
for route in subnet.get('routes', []):
- to_net = "%s/%s" % (route.get('network'),
- route.get('netmask'))
+ network = route.get('network')
+ netmask = route.get('netmask')
+ to_net = '%s/%s' % (network, mask2cidr(netmask))
route = {
'via': route.get('gateway'),
'to': to_net,
@@ -205,7 +207,7 @@ class Renderer(renderer.Renderer):
self._postcmds = config.get('postcmds', False)
self.clean_default = config.get('clean_default', True)
- def render_network_state(self, target, network_state):
+ def render_network_state(self, network_state, target):
# check network state for version
# if v2, then extract network_state.config
# else render_v2_from_state
@@ -294,7 +296,7 @@ class Renderer(renderer.Renderer):
for match in ['bond_', 'bond-']:
bond_params = _get_params_dict_by_match(ifcfg, match)
for (param, value) in bond_params.items():
- newname = v2_bond_map.get(param)
+ newname = v2_bond_map.get(param.replace('_', '-'))
if newname is None:
continue
bond_config.update({newname: value})
@@ -345,7 +347,9 @@ class Renderer(renderer.Renderer):
'id': ifcfg.get('vlan_id'),
'link': ifcfg.get('vlan-raw-device')
}
-
+ macaddr = ifcfg.get('mac_address', None)
+ if macaddr is not None:
+ vlan['macaddress'] = macaddr.lower()
_extract_addresses(ifcfg, vlan)
vlans.update({ifname: vlan})