aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/scripts
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-04-07 05:27:48 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-06-19 15:47:11 +0200
commit33c017d388bf0f9cef5199c186bec5b4fd01f767 (patch)
tree7a90ebe50f00224bb51dce6bc772b9ec9d8c5e8c /mcp/scripts
parent3dbd313cc111455f8cf88d0d072ec8a2f3c6f705 (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.sh1
m---------mcp/scripts/pharos0
-rwxr-xr-xmcp/scripts/salt.sh1
-rw-r--r--mcp/scripts/user-data.admin.sh.j24
-rw-r--r--mcp/scripts/virsh_net/net_mcpcontrol.xml.j25
-rw-r--r--mcp/scripts/virsh_net/net_mgmt.xml.j210
-rw-r--r--mcp/scripts/virsh_net/net_public.xml.j218
-rw-r--r--mcp/scripts/virsh_net/net_pxebr.xml.j213
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>