From 410d66f5f087f50972781224404eb060609f5a09 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Sun, 24 Dec 2023 13:21:42 +0100 Subject: container: T5829: verify container network used supports the given AFI (cherry picked from commit e70ca62c474b4e2cc135851a6e5cceee037bf378) --- src/conf_mode/container.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/conf_mode') 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): -- cgit v1.2.3 From 02bb7e09e1bbf3c5e2184c1332bda4652a9f4a93 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Sun, 24 Dec 2023 13:47:27 +0100 Subject: container: T5829: fix base key "container" re-use in for loop (cherry picked from commit 405cc66041d8035500f7b7116301983c48464a9b) --- src/conf_mode/container.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/conf_mode') diff --git a/src/conf_mode/container.py b/src/conf_mode/container.py index f1bd018c1..53e25f422 100755 --- a/src/conf_mode/container.py +++ b/src/conf_mode/container.py @@ -238,9 +238,9 @@ def verify(container): # A network attached to a container can not be deleted if {'network_remove', 'name'} <= set(container): for network in container['network_remove']: - for container, container_config in container['name'].items(): - if 'network' in container_config and network in container_config['network']: - raise ConfigError(f'Can not remove network "{network}", used by container "{container}"!') + for c, c_config in container['name'].items(): + if 'network' in c_config and network in c_config['network']: + raise ConfigError(f'Can not remove network "{network}", used by container "{c}"!') if 'registry' in container: for registry, registry_config in container['registry'].items(): -- cgit v1.2.3