From d3542993ddb3554a8862a6d825b09a9ffb6ef487 Mon Sep 17 00:00:00 2001 From: uumas Date: Mon, 15 Sep 2025 12:32:22 +0300 Subject: [PATCH] container: Set network ip range when using a static container ip --- roles/container/tasks/main.yaml | 7 ++----- roles/container/vars/main.yaml | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/roles/container/tasks/main.yaml b/roles/container/tasks/main.yaml index 051f5eb..dac2ece 100644 --- a/roles/container/tasks/main.yaml +++ b/roles/container/tasks/main.yaml @@ -15,11 +15,8 @@ name: network vars: network_name: "{{ network }}" - network_subnet: >- - {{ - container_ip | ansible.utils.ipsubnet(24) - if (container_ip | length > 0 and network_index == 0) else '' - }} + network_subnet: "{{ _container_network_subnet if network_index == 0 else '' }}" + network_range: "{{ _container_network_range if network_index == 0 else '' }}" when: network_created_networks is not defined or network not in network_created_networks loop: "{{ container_networks }}" loop_control: diff --git a/roles/container/vars/main.yaml b/roles/container/vars/main.yaml index d36b4b9..e983cbc 100644 --- a/roles/container/vars/main.yaml +++ b/roles/container/vars/main.yaml @@ -11,6 +11,22 @@ _container_networks_with_ip: >- ] + _container_networks[1:] }} +_container_network_subnet: >- + {{ container_ip | ansible.utils.ipsubnet(24) if container_ip | length > 0 else '' }} +_container_network_subnet_ranges: >- + {{ + [ + _container_network_subnet | ansible.utils.ipsubnet(25, 0), + _container_network_subnet | ansible.utils.ipsubnet(25, 1) + ] if container_ip | length > 0 else '' + }} +_container_network_range: >- + {{ + _container_network_subnet_ranges | + reject('ansible.utils.supernet_of', container_ip) | + first + if container_ip | length > 0 else '' + }} _container_volumes: "{{ container_mounts | selectattr('type', '==', 'volume') }}"