diff options
20 files changed, 107 insertions, 38 deletions
diff --git a/.gitignore b/.gitignore index 72e939cfd..c8064d486 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ deploy/autodeploy.log mcp/deploy/images/ mcp/scripts/mcp.rsa* mcp/scripts/user-data.sh +mcp/scripts/net_mcpcontrol.xml diff --git a/ci/deploy.sh b/ci/deploy.sh index 36056c8b0..f6af1b57a 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -135,14 +135,20 @@ clean() { SCRIPT_PATH=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")") DEPLOY_DIR=$(cd "${SCRIPT_PATH}/../mcp/scripts"; pwd) STORAGE_DIR=$(cd "${SCRIPT_PATH}/../mcp/deploy/images"; pwd) +RECLASS_CLUSTER_DIR=$(cd "${SCRIPT_PATH}/../mcp/reclass/classes/cluster"; pwd) DEPLOY_TYPE='baremetal' OPNFV_BRIDGES=('pxebr' 'mgmt' 'internal' 'public') URI_REGEXP='(file|https?|ftp)://.*' export SSH_KEY=${SSH_KEY:-"/var/lib/opnfv/mcp.rsa"} -export SALT_MASTER=${SALT_MASTER_IP:-192.168.10.100} +export SALT_MASTER=${INSTALLER_IP:-10.20.0.2} export SALT_MASTER_USER=${SALT_MASTER_USER:-ubuntu} -export MAAS_IP=${MAAS_IP:-192.168.10.3} +export MAAS_IP=${MAAS_IP:-${SALT_MASTER%.*}.3} +export MAAS_PXE_NETWORK=${MAAS_PXE_NETWORK:-192.168.11.0} + +# Derivated from above global vars +export MCP_CTRL_NETWORK_ROOTSTR=${SALT_MASTER%.*} +export MAAS_PXE_NETWORK_ROOTSTR=${MAAS_PXE_NETWORK%.*} export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}" export SSH_SALT="${SALT_MASTER_USER}@${SALT_MASTER}" @@ -327,6 +333,10 @@ for node in "${virtual_nodes[@]}"; do virtual_nodes_vcpus[$node]=${!virtual_custom_vcpus:-$virtual_default_vcpus} done +# Expand reclass and virsh network templates +for tp in "${RECLASS_CLUSTER_DIR}/all-mcp-ocata-common/opnfv/"*.template \ + net_*.template; do envsubst < "${tp}" > "${tp%.template}"; done + # Infra setup generate_ssh_key prepare_vms virtual_nodes "${base_image}" "${STORAGE_DIR}" diff --git a/mcp/config/states/maas b/mcp/config/states/maas index db0bd3fe6..0d733bafa 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -56,8 +56,7 @@ salt -C 'mas01*' state.apply linux,salt,openssh,ntp salt -C 'mas01*' state.apply linux.network.interface salt -C 'mas01*' state.apply maas.pxe_nat salt -C 'mas01*' state.apply maas.cluster -salt -C 'cfg01*' cmd.run \ - "route add -net 192.168.11.0/24 gw ${MAAS_IP:-192.168.10.3}" +salt -C 'cfg01*' state.apply maas.pxe_route wait_for 10 "salt -C 'mas01*' state.apply maas.region" diff --git a/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch b/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch index 5c77a63da..9489b9089 100644 --- a/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch +++ b/mcp/patches/0005-maas-module-Obtain-fabric-ID-from-CIDR.patch @@ -20,9 +20,17 @@ Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> --- diff --git a/_modules/maas.py b/_modules/maas.py -index d3227ca..8a2243d 100644 --- a/_modules/maas.py +++ b/_modules/maas.py +@@ -126,6 +126,8 @@ + + def process_single(name, config_data): + self._update = False ++ if isinstance(config_data, dict) and 'name' in config_data: ++ name = config_data['name'] + try: + data = self.fill_data(name, config_data, **extra) + if data is None: @@ -198,7 +198,8 @@ def fill_data(self, name, subnet, fabrics): data = { diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml index 1139b9d72..b8bde832e 100644 --- a/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/init.yml @@ -1,2 +1,3 @@ classes: - cluster.all-mcp-ocata-common.arch +- cluster.all-mcp-ocata-common.opnfv diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/.gitignore b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/.gitignore new file mode 100644 index 000000000..4b9ab2b95 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/.gitignore @@ -0,0 +1 @@ +runtime.yml diff --git a/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml new file mode 100644 index 000000000..28619bae1 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/init.yml @@ -0,0 +1,2 @@ +classes: +- cluster.all-mcp-ocata-common.opnfv.runtime 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 new file mode 100644 index 000000000..121f70663 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-ocata-common/opnfv/runtime.yml.template @@ -0,0 +1,9 @@ +parameters: + _param: + reclass_config_master: ${SALT_MASTER} + + opnfv_fuel_maas_mcp_address: ${MAAS_IP} + opnfv_fuel_maas_pxe_network: ${MAAS_PXE_NETWORK} + opnfv_fuel_maas_pxe_address: ${MAAS_PXE_NETWORK_ROOTSTR}.3 + opnfv_fuel_maas_pxe_iprange_start: ${MAAS_PXE_NETWORK_ROOTSTR}.5 + opnfv_fuel_maas_pxe_iprange_end: ${MAAS_PXE_NETWORK_ROOTSTR}.250 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml index f1769d714..730193ac7 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/init.yml @@ -1,5 +1,6 @@ classes: - system.linux.system.single +- cluster.all-mcp-ocata-common - cluster.baremetal-mcp-ocata-odl-ha.openstack # - cluster.baremetal-mcp-ocata-odl-ha.stacklight # - cluster.baremetal-mcp-ocata-odl-ha.stacklight.client @@ -17,9 +18,9 @@ parameters: # infra service addresses infra_config_address: 10.167.4.100 - infra_config_deploy_address: 192.168.10.100 + infra_config_deploy_address: 10.20.0.2 infra_maas_node01_address: 10.167.4.3 - infra_maas_node01_deploy_address: 192.168.11.3 + infra_maas_node01_deploy_address: ${_param:opnfv_fuel_maas_pxe_address} infra_maas_node01_external_address: 10.16.0.3 infra_compute_node01_address: 10.167.4.141 infra_compute_node02_address: 10.167.4.142 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 c4bc92954..72b9f52c8 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 @@ -32,13 +32,13 @@ parameters: network_discovery: 'enabled' default_min_hwe_kernel: 'hwe-16.04' subnets: - # TODO: parametrize address root (192.168.11), dhcp start/end? - 192.168.11.0/24: - cidr: 192.168.11.0/24 + opnfv_fuel_maas_pxe: + name: ${_param:opnfv_fuel_maas_pxe_network}/24 + cidr: ${_param:opnfv_fuel_maas_pxe_network}/24 gateway_ip: ${_param:single_address} iprange: - start: 192.168.11.5 - end: 192.168.11.250 + start: ${_param:opnfv_fuel_maas_pxe_iprange_start} + end: ${_param:opnfv_fuel_maas_pxe_iprange_end} type: dynamic vlans: untagged: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml index 4aa7bb07f..89a193061 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/openstack/proxy.yml @@ -40,3 +40,30 @@ parameters: proxy: alternative_names: "IP:${_param:openstack_proxy_address}" key_usage: 'digitalSignature, keyEncipherment' + nginx: + server: + site: + nginx_proxy_opendaylight_web: + enabled: true + type: nginx_proxy + name: opendaylight_web + check: false + proxy: + host: ${_param:opendaylight_service_host} + port: 8181 + protocol: http + host: + name: ${_param:nginx_proxy_openstack_api_host} + port: 8181 + nginx_proxy_opendaylight_rest: + enabled: true + type: nginx_proxy + name: opendaylight_rest + check: false + proxy: + host: ${_param:opendaylight_service_host} + port: 8282 + protocol: http + host: + name: ${_param:nginx_proxy_openstack_api_host} + port: 8282 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml index 1389aefff..94ccc9e2f 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml @@ -1,5 +1,6 @@ classes: - system.linux.system.single +- cluster.all-mcp-ocata-common - cluster.baremetal-mcp-ocata-ovs-dpdk-ha.openstack # - cluster.baremetal-mcp-ocata-ovs-dpdk-ha.stacklight # - cluster.baremetal-mcp-ocata-ovs-dpdk-ha.stacklight.client @@ -17,9 +18,9 @@ parameters: # infra service addresses infra_config_address: 10.167.4.100 - infra_config_deploy_address: 192.168.10.100 + infra_config_deploy_address: 10.20.0.2 infra_maas_node01_address: 10.167.4.3 - infra_maas_node01_deploy_address: 192.168.11.3 + infra_maas_node01_deploy_address: ${_param:opnfv_fuel_maas_pxe_address} infra_maas_node01_external_address: 10.16.0.3 infra_compute_node01_address: 10.167.4.141 infra_compute_node02_address: 10.167.4.142 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 b83aa1e9e..bdf7fea01 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 @@ -32,13 +32,13 @@ parameters: network_discovery: 'enabled' default_min_hwe_kernel: 'hwe-16.04' subnets: - # TODO: parametrize address root (192.168.11), dhcp start/end? - 192.168.11.0/24: - cidr: 192.168.11.0/24 + opnfv_fuel_maas_pxe: + name: ${_param:opnfv_fuel_maas_pxe_network}/24 + cidr: ${_param:opnfv_fuel_maas_pxe_network}/24 gateway_ip: ${_param:single_address} iprange: - start: 192.168.11.5 - end: 192.168.11.250 + start: ${_param:opnfv_fuel_maas_pxe_iprange_start} + end: ${_param:opnfv_fuel_maas_pxe_iprange_end} type: dynamic vlans: untagged: diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml index d7e365a1b..6bf0fbe63 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/init.yml @@ -1,5 +1,6 @@ classes: - system.linux.system.single +- cluster.all-mcp-ocata-common - cluster.baremetal-mcp-ocata-ovs-ha.openstack # - cluster.baremetal-mcp-ocata-ovs-ha.stacklight # - cluster.baremetal-mcp-ocata-ovs-ha.stacklight.client @@ -17,9 +18,9 @@ parameters: # infra service addresses infra_config_address: 10.167.4.100 - infra_config_deploy_address: 192.168.10.100 + infra_config_deploy_address: 10.20.0.2 infra_maas_node01_address: 10.167.4.3 - infra_maas_node01_deploy_address: 192.168.11.3 + infra_maas_node01_deploy_address: ${_param:opnfv_fuel_maas_pxe_address} infra_maas_node01_external_address: 10.16.0.3 infra_compute_node01_address: 10.167.4.141 infra_compute_node02_address: 10.167.4.142 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 d193469fc..f77abea6d 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 @@ -32,13 +32,13 @@ parameters: network_discovery: 'enabled' default_min_hwe_kernel: 'hwe-16.04' subnets: - # TODO: parametrize address root (192.168.11), dhcp start/end? - 192.168.11.0/24: - cidr: 192.168.11.0/24 + opnfv_fuel_maas_pxe: + name: ${_param:opnfv_fuel_maas_pxe_network}/24 + cidr: ${_param:opnfv_fuel_maas_pxe_network}/24 gateway_ip: ${_param:single_address} iprange: - start: 192.168.11.5 - end: 192.168.11.250 + start: ${_param:opnfv_fuel_maas_pxe_iprange_start} + end: ${_param:opnfv_fuel_maas_pxe_iprange_end} type: dynamic vlans: untagged: diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml index d60c81dd1..73e2da5a9 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-common/infra/config.yml @@ -16,7 +16,6 @@ parameters: reclass_data_repository: local salt_master_environment_repository: "https://github.com/tcpcloud" salt_master_environment_revision: master - reclass_config_master: 192.168.10.100 single_address: 172.16.10.100 salt_master_host: 127.0.0.1 salt_master_base_environment: prd diff --git a/mcp/salt-formulas/maas/pxe_route.sls b/mcp/salt-formulas/maas/pxe_route.sls new file mode 100644 index 000000000..5f7cebdda --- /dev/null +++ b/mcp/salt-formulas/maas/pxe_route.sls @@ -0,0 +1,8 @@ +routes: + network.routes: + - name: {{ salt['pillar.get']('_param:opnfv_fn_vm_primary_interface') }} + - routes: + - name: maas_mcp_to_pxe_network + ipaddr: {{ salt['pillar.get']('_param:opnfv_fuel_maas_pxe_network') }} + netmask: 255.255.255.0 + gateway: {{ salt['pillar.get']('_param:opnfv_fuel_maas_mcp_address') }} diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index e123e5231..650c63b16 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -65,7 +65,8 @@ create_networks() { # create required networks, including constant "mcpcontrol" # FIXME(alav): since we renamed "pxe" to "mcpcontrol", we need to make sure # we delete the old "pxe" virtual network, or it would cause IP conflicts. - for net in "pxe" "mcpcontrol" "${vnode_networks[@]}"; do + # FIXME(alav): The same applies for "fuel1" virsh network. + for net in "fuel1" "pxe" "mcpcontrol" "${vnode_networks[@]}"; do if virsh net-info "${net}" >/dev/null 2>&1; then virsh net-destroy "${net}" || true virsh net-undefine "${net}" diff --git a/mcp/scripts/net_mcpcontrol.xml b/mcp/scripts/net_mcpcontrol.xml deleted file mode 100644 index f756ee0ae..000000000 --- a/mcp/scripts/net_mcpcontrol.xml +++ /dev/null @@ -1,10 +0,0 @@ -<network> - <name>mcpcontrol</name> - <bridge name="mcpcontrol"/> - <forward mode="nat"/> - <ip address="192.168.10.1" netmask="255.255.255.0"> - <dhcp> - <range start="192.168.10.100" end="192.168.10.254"/> - </dhcp> - </ip> -</network> diff --git a/mcp/scripts/net_mcpcontrol.xml.template b/mcp/scripts/net_mcpcontrol.xml.template new file mode 100644 index 000000000..722a66aa9 --- /dev/null +++ b/mcp/scripts/net_mcpcontrol.xml.template @@ -0,0 +1,10 @@ +<network> + <name>mcpcontrol</name> + <bridge name="mcpcontrol"/> + <forward mode="nat"/> + <ip address="${MCP_CTRL_NETWORK_ROOTSTR}.1" netmask="255.255.255.0"> + <dhcp> + <range start="${MCP_CTRL_NETWORK_ROOTSTR}.2" end="${MCP_CTRL_NETWORK_ROOTSTR}.254"/> + </dhcp> + </ip> +</network> |