diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-04-07 05:27:48 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-06-19 15:47:11 +0200 |
commit | 33c017d388bf0f9cef5199c186bec5b4fd01f767 (patch) | |
tree | 7a90ebe50f00224bb51dce6bc772b9ec9d8c5e8c /mcp/scripts | |
parent | 3dbd313cc111455f8cf88d0d072ec8a2f3c6f705 (diff) |
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>
Diffstat (limited to 'mcp/scripts')
-rw-r--r-- | mcp/scripts/lib_template.sh | 1 | ||||
m--------- | mcp/scripts/pharos | 0 | ||||
-rwxr-xr-x | mcp/scripts/salt.sh | 1 | ||||
-rw-r--r-- | mcp/scripts/user-data.admin.sh.j2 | 4 | ||||
-rw-r--r-- | mcp/scripts/virsh_net/net_mcpcontrol.xml.j2 | 5 | ||||
-rw-r--r-- | mcp/scripts/virsh_net/net_mgmt.xml.j2 | 10 | ||||
-rw-r--r-- | mcp/scripts/virsh_net/net_public.xml.j2 | 18 | ||||
-rw-r--r-- | mcp/scripts/virsh_net/net_pxebr.xml.j2 | 13 |
8 files changed, 14 insertions, 38 deletions
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 -Subproject 70f8d63761a0d52790f634642785c9e8bc0d741 +Subproject 9184b745eee64dda19be05d6d01cc2519dcb603 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("/") %} <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> |