summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-12-24 13:21:42 +0100
committerChristian Breunig <christian@breunig.cc>2023-12-28 13:34:46 +0100
commite70ca62c474b4e2cc135851a6e5cceee037bf378 (patch)
treeb7e3b5519c869a68127cce9d76e7a70493a0a746 /src
parent8b646ed2c745a725aa22ad49e7e373c9f5fb2245 (diff)
downloadvyos-1x-e70ca62c474b4e2cc135851a6e5cceee037bf378.tar.gz
vyos-1x-e70ca62c474b4e2cc135851a6e5cceee037bf378.zip
container: T5829: verify container network used supports the given AFI
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/container.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py
index daad9186e..f1bd018c1 100755
--- a/src/conf_mode/container.py
+++ b/src/conf_mode/container.py
@@ -142,11 +142,17 @@ def verify(container):
for address in container_config['network'][network_name]['address']:
network = None
if is_ipv4(address):
- network = [x for x in container['network'][network_name]['prefix'] if is_ipv4(x)][0]
- cnt_ipv4 += 1
+ try:
+ network = [x for x in container['network'][network_name]['prefix'] if is_ipv4(x)][0]
+ cnt_ipv4 += 1
+ except:
+ raise ConfigError(f'Network "{network_name}" does not contain an IPv4 prefix!')
elif is_ipv6(address):
- network = [x for x in container['network'][network_name]['prefix'] if is_ipv6(x)][0]
- cnt_ipv6 += 1
+ try:
+ network = [x for x in container['network'][network_name]['prefix'] if is_ipv6(x)][0]
+ cnt_ipv6 += 1
+ except:
+ raise ConfigError(f'Network "{network_name}" does not contain an IPv6 prefix!')
# Specified container IP address must belong to network prefix
if ip_address(address) not in ip_network(network):