summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2026-04-10 15:44:46 +0300
committerGitHub <noreply@github.com>2026-04-10 15:44:46 +0300
commit57f8b20f63354ac12d5b1162fc919a79f223255e (patch)
tree5484dfb4e8a8ffa950298ca505e8574679d42480 /cloudinit
parent12ffaa9823f9510d9fe29a903e5ec6282cd73c46 (diff)
parent0d7099e88f9d366619e9eaac84d5ada3b9d2d8d3 (diff)
downloadvyos-cloud-init-57f8b20f63354ac12d5b1162fc919a79f223255e.tar.gz
vyos-cloud-init-57f8b20f63354ac12d5b1162fc919a79f223255e.zip
Merge pull request #90 from jplitza/patch-1
vyos: Fix handling of IPv6 netmasks on OpenStack
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/config/cc_vyos.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/cloudinit/config/cc_vyos.py b/cloudinit/config/cc_vyos.py
index 5894482f..56014794 100644
--- a/cloudinit/config/cc_vyos.py
+++ b/cloudinit/config/cc_vyos.py
@@ -28,6 +28,7 @@ from uuid import uuid4
from cloudinit import log as logging
from cloudinit.ssh_util import AuthKeyLineParser
from cloudinit.distros import ug_util
+from cloudinit.net.network_state import ipv6_mask_to_net_prefix
from cloudinit.settings import PER_INSTANCE
from cloudinit.sources import INSTANCE_JSON_FILE
from cloudinit.stages import Init
@@ -439,8 +440,12 @@ def _configure_subnets_v1(config,
# configure routes
if 'routes' in subnet:
for item in subnet['routes']:
+ if ipaddress.ip_address(item['network']).version == 6:
+ netmask = ipv6_mask_to_net_prefix(item['netmask'])
+ else:
+ netmask = item['netmask']
ip_network = ipaddress.ip_network('{}/{}'.format(
- item['network'], item['netmask']))
+ item['network'], netmask))
set_ip_route(config, ip_network.version,
ip_network.compressed, item['gateway'], True)