diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-24 13:21:42 +0100 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2023-12-28 13:34:46 +0100 |
commit | e70ca62c474b4e2cc135851a6e5cceee037bf378 (patch) | |
tree | b7e3b5519c869a68127cce9d76e7a70493a0a746 /src/conf_mode/container.py | |
parent | 8b646ed2c745a725aa22ad49e7e373c9f5fb2245 (diff) | |
download | vyos-1x-e70ca62c474b4e2cc135851a6e5cceee037bf378.tar.gz vyos-1x-e70ca62c474b4e2cc135851a6e5cceee037bf378.zip |
container: T5829: verify container network used supports the given AFI
Diffstat (limited to 'src/conf_mode/container.py')
-rwxr-xr-x | src/conf_mode/container.py | 14 |
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): |