diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-09-16 03:22:38 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-10-03 18:41:20 +0200 |
commit | 8ec927497b7ee0fd3b7346e957878173b080ef6a (patch) | |
tree | 2f2daf184b59ba934e95986e1dddbc27932eb96d /mcp | |
parent | 0c00f813d709fd1b65e5dd52abcf16fd81b3d0e1 (diff) |
Identify jump host bridges based on IDF / PDF nets
- minor refactor of runtime templates parsing to allow var expansion;
- parse <pod_config.yml> into shell vars, match dynamically networks
from PDF to IP addresses on bridges of current jumphost;
- keep old '-B' parameter in <ci/deploy.sh>, use it for providing
fallback values in case there's no bridge name specified via IDF
and no IP on the jumphost for one or more of the PDF networks;
- re-enable dry-run to ease testing of the above;
- add sample 'idf-pod1.yaml' to <mcp/config/labs/local>;
The new behavior will try to determine the jump host bridge names:
1. Based on IDF mapping, if available
2. Based on PDF network matching with IP addrs on jumphost;
3. Fallback to values passed via '-B';
4. Fallback to default values hardcoded in the deploy script;
Later, we will drop MaaS network env vars in favor of PDF vars,
once the PDF template is generating them.
Change-Id: If9cd65d310c02965b2e2bfa06a0d7e0f97f1dd48
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp')
10 files changed, 61 insertions, 27 deletions
diff --git a/mcp/config/labs/local/idf-pod1.yaml b/mcp/config/labs/local/idf-pod1.yaml new file mode 100644 index 000000000..7932f8896 --- /dev/null +++ b/mcp/config/labs/local/idf-pod1.yaml @@ -0,0 +1,12 @@ +--- +### LF POD 2 installer descriptor file ### + +idf: + version: 0.1 + fuel: + jumphost: + bridges: + admin: 'pxebr' + mgmt: 'br-ctl' + private: '' + public: '' diff --git a/mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch b/mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch new file mode 100644 index 000000000..59a0e975a --- /dev/null +++ b/mcp/patches/pharos/0001-Add-IDF-mappings-to-installer-adapter.patch @@ -0,0 +1,27 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Tue, 3 Oct 2017 02:41:41 +0200 +Subject: [PATCH] Add IDF mappings to installer adapter + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + config/installers/fuel/pod_config.yml.j2 | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/config/installers/fuel/pod_config.yml.j2 b/config/installers/fuel/pod_config.yml.j2 +index 99434f9..676ead3 100644 +--- a/config/installers/fuel/pod_config.yml.j2 ++++ b/config/installers/fuel/pod_config.yml.j2 +@@ -26,6 +26,13 @@ + parameters: + _param: + ++{%- if conf.idf is defined %} ++ opnfv_jump_bridge_admin: {{ conf['idf']['fuel']['jumphost']['bridges']['admin'] }} ++ opnfv_jump_bridge_mgmt: {{ conf['idf']['fuel']['jumphost']['bridges']['mgmt'] }} ++ opnfv_jump_bridge_private: {{ conf['idf']['fuel']['jumphost']['bridges']['private'] }} ++ opnfv_jump_bridge_public: {{ conf['idf']['fuel']['jumphost']['bridges']['public'] }} ++{%- endif %} ++ + opnfv_infra_config_address: {{ net_mgmt | ipaddr_index('100') }} + opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index('3') }} + opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index('3') }} diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template index b07ae13bd..1488da271 100644 --- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template @@ -1,9 +1,10 @@ parameters: _param: reclass_config_master: ${SALT_MASTER} - opnfv_maas_mcp_address: ${MAAS_IP} - opnfv_maas_pxe_network: ${MAAS_PXE_NETWORK} - opnfv_maas_pxe_address: ${MAAS_PXE_NETWORK_ROOTSTR}.3 - opnfv_maas_pxe_iprange_start: ${MAAS_PXE_NETWORK_ROOTSTR}.5 - opnfv_maas_pxe_iprange_end: ${MAAS_PXE_NETWORK_ROOTSTR}.250 + + # These should be moved to pod_config.yml and read based on PDF admin net + opnfv_maas_pxe_network_address: ${MAAS_PXE_NETWORK} + opnfv_maas_pxe_address: ${MAAS_PXE_NETWORK%.*}.3 + opnfv_maas_pxe_start_address: ${MAAS_PXE_NETWORK%.*}.5 + opnfv_maas_pxe_end_address: ${MAAS_PXE_NETWORK%.*}.250 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml index 737d6cb6a..2e39588f4 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/maas.yml @@ -33,12 +33,12 @@ parameters: default_min_hwe_kernel: 'hwe-16.04' subnets: opnfv_maas_pxe: - name: ${_param:opnfv_maas_pxe_network}/24 - cidr: ${_param:opnfv_maas_pxe_network}/24 + name: ${_param:opnfv_maas_pxe_network_address}/24 + cidr: ${_param:opnfv_maas_pxe_network_address}/24 gateway_ip: ${_param:single_address} iprange: - start: ${_param:opnfv_maas_pxe_iprange_start} - end: ${_param:opnfv_maas_pxe_iprange_end} + start: ${_param:opnfv_maas_pxe_start_address} + end: ${_param:opnfv_maas_pxe_end_address} type: dynamic vlans: untagged: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml index 00ee552a3..db48750d0 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/maas.yml @@ -33,12 +33,12 @@ parameters: default_min_hwe_kernel: 'hwe-16.04' subnets: opnfv_maas_pxe: - name: ${_param:opnfv_maas_pxe_network}/24 - cidr: ${_param:opnfv_maas_pxe_network}/24 + name: ${_param:opnfv_maas_pxe_network_address}/24 + cidr: ${_param:opnfv_maas_pxe_network_address}/24 gateway_ip: ${_param:single_address} iprange: - start: ${_param:opnfv_maas_pxe_iprange_start} - end: ${_param:opnfv_maas_pxe_iprange_end} + start: ${_param:opnfv_maas_pxe_start_address} + end: ${_param:opnfv_maas_pxe_end_address} type: dynamic vlans: untagged: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml index cebc779b1..c0a487417 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/maas.yml @@ -33,12 +33,12 @@ parameters: default_min_hwe_kernel: 'hwe-16.04' subnets: opnfv_maas_pxe: - name: ${_param:opnfv_maas_pxe_network}/24 - cidr: ${_param:opnfv_maas_pxe_network}/24 + name: ${_param:opnfv_maas_pxe_network_address}/24 + cidr: ${_param:opnfv_maas_pxe_network_address}/24 gateway_ip: ${_param:single_address} iprange: - start: ${_param:opnfv_maas_pxe_iprange_start} - end: ${_param:opnfv_maas_pxe_iprange_end} + start: ${_param:opnfv_maas_pxe_start_address} + end: ${_param:opnfv_maas_pxe_end_address} type: dynamic vlans: untagged: diff --git a/mcp/salt-formulas/maas/pxe_route.sls b/mcp/salt-formulas/maas/pxe_route.sls index 9c22b2a76..e6e9a7801 100644 --- a/mcp/salt-formulas/maas/pxe_route.sls +++ b/mcp/salt-formulas/maas/pxe_route.sls @@ -3,6 +3,6 @@ routes: - name: {{ salt['pillar.get']('_param:opnfv_fn_vm_primary_interface') }} - routes: - name: maas_mcp_to_pxe_network - ipaddr: {{ salt['pillar.get']('_param:opnfv_maas_pxe_network') }} + ipaddr: {{ salt['pillar.get']('_param:opnfv_maas_pxe_network_address') }} netmask: 255.255.255.0 gateway: {{ salt['pillar.get']('_param:opnfv_maas_mcp_address') }} diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index dc4d9dc2f..fcc5d76ac 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -103,13 +103,7 @@ create_vms() { vnode_networks[2]="${vnode_networks[0]}" fi for net in "${vnode_networks[@]:1}"; do - net_type="bridge" - # in case of custom network, host should already have the bridge in place - if [ -f "net_${net}.xml" ] && \ - [ ! -d "/sys/class/net/${net}/bridge" ]; then - net_type="network" - fi - net_args="${net_args} --network ${net_type}=${net},model=virtio" + net_args="${net_args} --network bridge=${net},model=virtio" done # shellcheck disable=SC2086 diff --git a/mcp/scripts/net_mcpcontrol.xml.template b/mcp/scripts/net_mcpcontrol.xml.template index 722a66aa9..ab58851e8 100644 --- a/mcp/scripts/net_mcpcontrol.xml.template +++ b/mcp/scripts/net_mcpcontrol.xml.template @@ -2,9 +2,9 @@ <name>mcpcontrol</name> <bridge name="mcpcontrol"/> <forward mode="nat"/> - <ip address="${MCP_CTRL_NETWORK_ROOTSTR}.1" netmask="255.255.255.0"> + <ip address="${SALT_MASTER%.*}.1" netmask="255.255.255.0"> <dhcp> - <range start="${MCP_CTRL_NETWORK_ROOTSTR}.2" end="${MCP_CTRL_NETWORK_ROOTSTR}.254"/> + <range start="${SALT_MASTER%.*}.2" end="${SALT_MASTER%.*}.254"/> </dhcp> </ip> </network> diff --git a/mcp/scripts/pharos b/mcp/scripts/pharos -Subproject 908dab58edbbe8f22db14a9261693a54e9b2d8f +Subproject 2c4fac2e41aaca9dd679b200ffc968eeb448b39 |