From 33c017d388bf0f9cef5199c186bec5b4fd01f767 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Date: Sat, 7 Apr 2018 05:27:48 +0200 Subject: Enforce static configuration instead of DHCP - noha: 'accept_policy: open_mode' to align with ha scenarios; - s/cmp01/cmp001/g to align all scenarios and allow code reuse; - rename network params: s/dhcp/mcpcontrol/g, cleanup; - computes XDF data: drop 'opnfv_*' layer of params, cleanup; - local vPDF: add comments with default roles by node index; - parameterize all netmasks; - drop unused address/netmask for 'proto: manual' interfaces; - virsh_net: cleanup definitions, remove hardcodes, align IP on jumpserver and DHCP range with MaaS for pxebr; - maas: parameterize hardcoded '/24' cidr for PXE/admin, refactor maas.region.machines parameterization; - merge <all-mcp-arch-common/infra/config_*pdf.yaml.j2> templates; - move reclass.storage definitions of compute nodes to common dir; - drop 'openstack_compute_*' reclass params in favor of expanding them via j2 directly in reclass.storage params; - adopt `nm.cluster.has_*_nodes` where possible; - obsolete `runtime.yml` from reclass model; - refactor arch-specific reclass param selection; - remove unused defaults in favor of mandatory IDF properties; - noha: prepare for baremetal node support in cinder_lvm_devices; - interfaces: add interface_mtu and 'noifupdown: true' everywhere; - interfaces: use j2 macros to generate eth/vlan config; - states cleanup: remove DHCP route disable workaround on prx/cmp; - allow configuring NTP servers via: `idf.fuel.network.ntp_strata_host{1,2}`; - ovs_bridge: Allow setting gateway, dns-nameservers - apache: Adjust module list for novcp class inheritance; - glusterfs PPA: pin with same prio of MCP repos for novcp scenario; JIRA: FUEL-319 JIRA: FUEL-326 JIRA: FUEL-337 Change-Id: Ia6ad64ba8cade85a75fb22c9a2505decc3834360 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> --- mcp/scripts/virsh_net/net_mcpcontrol.xml.j2 | 5 +++-- mcp/scripts/virsh_net/net_mgmt.xml.j2 | 10 ++-------- mcp/scripts/virsh_net/net_public.xml.j2 | 18 +++--------------- mcp/scripts/virsh_net/net_pxebr.xml.j2 | 13 +++---------- 4 files changed, 11 insertions(+), 35 deletions(-) (limited to 'mcp/scripts/virsh_net') diff --git a/mcp/scripts/virsh_net/net_mcpcontrol.xml.j2 b/mcp/scripts/virsh_net/net_mcpcontrol.xml.j2 index 95424db4e..569fa7089 100644 --- a/mcp/scripts/virsh_net/net_mcpcontrol.xml.j2 +++ b/mcp/scripts/virsh_net/net_mcpcontrol.xml.j2 @@ -7,13 +7,14 @@ http://www.apache.org/licenses/LICENSE-2.0 --> {#- conf.MCPCONTROL_NET & co are mandatory, defaults are set via globals.sh #} +{%- set net_mcpcontrol = [conf.MCPCONTROL_NET, conf.MCPCONTROL_PREFIX] | join("/") %} <network> <name>mcpcontrol</name> <bridge name="mcpcontrol"/> <forward mode="nat"/> - <ip address="{{ conf.MCPCONTROL_NET | ipaddr_index(1) }}" netmask="{{ conf.MCPCONTROL_PREFIX | netmask }}"> + <ip address="{{ net_mcpcontrol | ipnet_hostaddr(1) }}" netmask="{{ net_mcpcontrol | ipnet_netmask }}"> <dhcp> - <range start="{{ conf.MCPCONTROL_NET | ipaddr_index(2) }}" end="{{ conf.MCPCONTROL_NET | ipaddr_index(254) }}"/> + <range start="{{ net_mcpcontrol | ipnet_hostaddr(2) }}" end="{{ net_mcpcontrol | ipnet_hostmax }}"/> </dhcp> </ip> </network> diff --git a/mcp/scripts/virsh_net/net_mgmt.xml.j2 b/mcp/scripts/virsh_net/net_mgmt.xml.j2 index a558293fa..23b32f2f4 100644 --- a/mcp/scripts/virsh_net/net_mgmt.xml.j2 +++ b/mcp/scripts/virsh_net/net_mgmt.xml.j2 @@ -6,15 +6,9 @@ which accompanies this distribution, and is available at http://www.apache.org/licenses/LICENSE-2.0 --> -{%- if conf.idf.net_config.mgmt is defined %} - {%- set mgmt_network = conf.idf.net_config.mgmt.network %} - {%- set mgmt_prefix = conf.idf.net_config.mgmt.mask %} -{%- else %} - {%- set mgmt_network = '172.16.10.0' %} - {%- set mgmt_prefix = '24' %} -{%- endif %} +{%- import 'net_map.j2' as nm with context %} <network> <name>mgmt</name> <bridge name="mgmt"/> - <ip address="{{ mgmt_network | ipaddr_index(1) }}" netmask="{{ mgmt_prefix | netmask }}"/> + <ip address="{{ nm.net_mgmt | ipnet_hostmin }}" netmask="{{ nm.net_mgmt | ipnet_netmask }}"/> </network> diff --git a/mcp/scripts/virsh_net/net_public.xml.j2 b/mcp/scripts/virsh_net/net_public.xml.j2 index 737b638b3..a9e8349f4 100644 --- a/mcp/scripts/virsh_net/net_public.xml.j2 +++ b/mcp/scripts/virsh_net/net_public.xml.j2 @@ -6,27 +6,15 @@ which accompanies this distribution, and is available at http://www.apache.org/licenses/LICENSE-2.0 --> -{%- set cluster = {'has_virtual_nodes': False} %} -{%- for node in conf.nodes %} - {%- if not cluster.has_virtual_nodes and node.node.type == 'virtual' %} - {%- do cluster.update({'has_virtual_nodes': True}) %} - {%- endif %} -{%- endfor %} -{%- if conf.idf.net_config.public is defined %} - {%- set public_network = conf.idf.net_config.public.network %} - {%- set public_prefix = conf.idf.net_config.public.mask %} -{%- else %} - {%- set public_network = '10.16.0.0' %} - {%- set public_prefix = '24' %} -{%- endif %} +{%- import 'net_map.j2' as nm with context %} <network> <name>public</name> <bridge name="public"/> -{%- if cluster.has_virtual_nodes %} +{%- if nm.cluster.has_virtual_nodes %} {#- Ideally, jumpserver would have a real Linux bridge we will hook to. In case it doesn't, we use this virsh network as a *mock* public. The *mock* public should NOT overlap with the real public in any way. #} <forward mode="nat"/> - <ip address="{{ public_network | ipaddr_index(1) }}" netmask="{{ public_prefix | netmask }}"/> + <ip address="{{ nm.net_public | ipnet_hostmin }}" netmask="{{ nm.net_public | ipnet_netmask }}"/> {%- endif %} </network> diff --git a/mcp/scripts/virsh_net/net_pxebr.xml.j2 b/mcp/scripts/virsh_net/net_pxebr.xml.j2 index f82780cf7..1c48e9b1a 100644 --- a/mcp/scripts/virsh_net/net_pxebr.xml.j2 +++ b/mcp/scripts/virsh_net/net_pxebr.xml.j2 @@ -6,21 +6,14 @@ which accompanies this distribution, and is available at http://www.apache.org/licenses/LICENSE-2.0 --> -{%- if conf.idf.net_config.admin is defined %} - {%- set pxebr_network = conf.idf.net_config.admin.network %} - {%- set pxebr_prefix = conf.idf.net_config.admin.mask %} -{%- else %} - {%- set pxebr_network = '192.168.11.0' %} - {%- set pxebr_prefix = '24' %} -{%- endif %} +{%- import 'net_map.j2' as nm with context %} <network> <name>pxebr</name> <forward mode="nat"/> <bridge name="pxebr"/> - <ip address="{{ pxebr_network | ipaddr_index(1) }}" netmask="{{ pxebr_prefix | netmask }}"> - <!-- NOTE: .254 is harcoded for now (for /24 prefix), should be computed instead. --> + <ip address="{{ nm.net_admin_gw }}" netmask="{{ nm.net_admin | ipnet_netmask }}"> <dhcp> - <range start="{{ pxebr_network | ipaddr_index(4) }}" end="{{ pxebr_network | ipaddr_index(254) }}"/> + <range start="{{ nm.net_admin_pool_start }}" end="{{ nm.net_admin_pool_end }}"/> </dhcp> </ip> </network> -- cgit