From 33c017d388bf0f9cef5199c186bec5b4fd01f767 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii 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 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 --- mcp/scripts/lib_template.sh | 1 + mcp/scripts/pharos | 2 +- mcp/scripts/salt.sh | 1 - mcp/scripts/user-data.admin.sh.j2 | 4 ++-- 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 +++---------- 8 files changed, 15 insertions(+), 39 deletions(-) (limited to 'mcp/scripts') diff --git a/mcp/scripts/lib_template.sh b/mcp/scripts/lib_template.sh index 0fbe628b7..4b5b0563d 100644 --- a/mcp/scripts/lib_template.sh +++ b/mcp/scripts/lib_template.sh @@ -50,6 +50,7 @@ function do_templates_scenario { fi fi if ! "${PHAROS_GEN_CFG}" -y "${LOCAL_PDF}" \ + -i "$(dirname "$(readlink -f "${PHAROS_IA}")")" \ -j "${PHAROS_IA}" -v > "${image_dir}/pod_config.yml"; then notify_e "[ERROR] Could not convert PDF+IDF to reclass model input!" fi diff --git a/mcp/scripts/pharos b/mcp/scripts/pharos index 70f8d6376..9184b745e 160000 --- a/mcp/scripts/pharos +++ b/mcp/scripts/pharos @@ -1 +1 @@ -Subproject commit 70f8d63761a0d52790f634642785c9e8bc0d7419 +Subproject commit 9184b745eee64dda19be05d6d01cc2519dcb6031 diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh index fae644e07..4a20bc413 100755 --- a/mcp/scripts/salt.sh +++ b/mcp/scripts/salt.sh @@ -64,7 +64,6 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s -e << SALT_INSTALL_END ln -sf ${OPNFV_FUEL_DIR}/mcp/reclass /srv/salt ln -sf ${OPNFV_FUEL_DIR}/mcp/deploy/scripts /srv/salt ln -sf ${OPNFV_FUEL_DIR}/mcp/scripts/mcp.rsa $(dirname "${OPNFV_FUEL_DIR}") - cd /srv/salt/${OPNFV_RDIR} && rm -f arch && ln -sf "\$(uname -i)" arch cp -r ${OPNFV_FUEL_DIR}/mcp/metadata/service /usr/share/salt-formulas/reclass cd /srv/salt/reclass/classes/service && \ diff --git a/mcp/scripts/user-data.admin.sh.j2 b/mcp/scripts/user-data.admin.sh.j2 index d9b86c79c..d77773260 100644 --- a/mcp/scripts/user-data.admin.sh.j2 +++ b/mcp/scripts/user-data.admin.sh.j2 @@ -6,9 +6,9 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +{%- import 'net_map.j2' as nm with context %} rm /etc/salt/minion_id rm -f /etc/salt/pki/minion/minion_master.pub echo "id: $(hostname).{{ conf.cluster.domain }}" > /etc/salt/minion -{#- should be in sync with 'opnfv_infra_config_pxe_address' in 'pharos/config/installers/fuel/pod_config.yml.j2 #} -echo "master: {{ conf.idf.net_config.admin.network | ipaddr_index(2) }}" >> /etc/salt/minion +echo "master: {{ nm.net_admin | ipnet_hostaddr(nm.start_ip[nm.net_admin] + nm.net_admin_hosts.index('opnfv_infra_config_pxe_admin_address') +1) }}" >> /etc/salt/minion service salt-minion restart 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("/") %} mcpcontrol - + - + 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 %} mgmt - + 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 %} 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. #} - + {%- endif %} 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 %} pxebr - - + - + -- cgit 1.2.3-korg