From d39526de13d0603c92b2e0dd2c0ff6a42257301f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Harald=20Jens=C3=A5s?= Date: Thu, 18 Mar 2021 22:29:59 +0100 Subject: [PATCH] Fix "ManageNetworks" use-case With change I603521bd00dc100e03c765c25503b5e01f3383e4 the ManageNetworks == False use case was overlooked. When ManageNetworks is set to False and networks are not created we need to build network_attrs and subnet_attrs from the data present in network_data.yaml and parameters. Closes-Bug: #1920050 Change-Id: I98a3d582add0d6881cd39433ddb25515f0e0dc31 (cherry picked from commit 80b226c44ce55506460a4914e2d7f2e2de1b41e8) --- network/network.j2 | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/network/network.j2 b/network/network.j2 index da8e2482b0..2cd45f99aa 100644 --- a/network/network.j2 +++ b/network/network.j2 @@ -297,13 +297,44 @@ outputs: - "{{network.subnets[subnet]['ip_subnet']|default("")}}" {%- endif %} {%- endfor %} + network_attrs: description: {{network.name}} network's attributes - value: {get_attr: [{{network.name}}Network, show]} + value: + if: + - manage_networks + - {get_attr: [{{network.name}}Network, show]} + - name: {{network.name_lower}} + dns_domain: + list_join: + - '.' + - - {{network.name.lower()}} + - {get_param: CloudDomain} + - '' + mtu: {{network.mtu|default('1500')}} + subnet_attrs: description: Map of attributes for subnets in the {{network.name}} network value: - {{network.name_lower}}_subnet: {get_attr: [{{network.name}}Subnet, show]} + if: + - manage_networks + - {{network.name_lower}}_subnet: {get_attr: [{{network.name}}Subnet, show]} {%- for subnet in network.subnets|default({}) if network.subnets[subnet].enabled|default(true) %} - {{subnet}}: {get_attr: [{{network.name}}Subnet_{{subnet}}, show]} + {{subnet}}: {get_attr: [{{network.name}}Subnet_{{subnet}}, show]} +{%- endfor %} + - {{network.name_lower}}_subnet: + name: {{network.name_lower}}_subnet + cidr: {get_param: {{network.name}}NetCidr} + dns_nameservers: [] + gateway_ip: {get_param: {{network.name}}InterfaceDefaultRoute} + host_routes: {get_param: {{network.name}}Routes} + ip_version: {if: [is_ipv6, 6, 4]} +{%- for subnet in network.subnets|default({}) if network.subnets[subnet].enabled|default(true) %} + {{subnet}}: + name: {{subnet}} + cidr: {get_param: {{network.name}}SubnetCidr_{{subnet}}} + dns_nameservers: [] + gateway_ip: {get_param: {{network.name}}InterfaceDefaultRoute_{{subnet}}} + host_routes: {get_param: {{network.name}}Routes_{{subnet}}} + ip_version: {if: [is_ipv6, 6, 4]} {%- endfor %}