mcp/deploy/images/
mcp/scripts/mcp.rsa*
mcp/scripts/user-data.sh
+mcp/scripts/net_mcpcontrol.xml
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 SALT_MASTER=${INSTALLER_IP:-10.20.0.2}
export SALT_MASTER_USER=${SALT_MASTER_USER:-ubuntu}
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}"
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}"
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:-10.20.0.3}"
+salt -C 'cfg01*' state.apply maas.pxe_route
wait_for 10 "salt -C 'mas01*' state.apply maas.region"
---
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 = {
classes:
- cluster.all-mcp-ocata-common.arch
+- cluster.all-mcp-ocata-common.opnfv
--- /dev/null
+runtime.yml
--- /dev/null
+classes:
+- cluster.all-mcp-ocata-common.opnfv.runtime
--- /dev/null
+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
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
infra_config_address: 10.167.4.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
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:
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
infra_config_address: 10.167.4.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
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:
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
infra_config_address: 10.167.4.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
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:
reclass_data_repository: local
salt_master_environment_repository: "https://github.com/tcpcloud"
salt_master_environment_revision: master
- reclass_config_master: 10.20.0.2
single_address: 172.16.10.100
salt_master_host: 127.0.0.1
salt_master_base_environment: prd
--- /dev/null
+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') }}
+++ /dev/null
-<network>
- <name>mcpcontrol</name>
- <bridge name="mcpcontrol"/>
- <forward mode="nat"/>
- <ip address="10.20.0.1" netmask="255.255.255.0">
- <dhcp>
- <range start="10.20.0.2" end="10.20.0.254"/>
- </dhcp>
- </ip>
-</network>
--- /dev/null
+<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>