diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-09-10 23:33:36 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-09-12 04:52:30 +0200 |
commit | 4b11912d2dc915d642d82e6da0c94e185ec66c99 (patch) | |
tree | 278e25e5d8be4c690c8cf277eb851c5b5744730d /mcp | |
parent | a760c973e420371b07ac1739ba2d32a1df87226f (diff) |
reclass, states: Parametrize runtime configuration
mcpcontrol virsh network, as well as MaaS PXE network are installer
specific, and not POD specific.
Therefore, these should be easily parametrized without the PDF,
using only installer inputs (e.g. env vars passed via Jenkins).
- add new <all-mcp-ocata-common.opnfv.runtime> reclass class;
- parametrize at runtime new reclass class based on global vars;
- factor out MaaS deploy address / config using new mechanism;
- parametrize at runtime virsh network definitions based on template;
- add new "maas.pxe_route" sls for configuring routing on cfg01;
- replace env vars with the new sls in "maas" state;
NOTE: baremetal parametrization will be handled later.
Change-Id: Ifd61143d818fb088b3f4395388ba769bbc49156e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp')
16 files changed, 62 insertions, 32 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas index 67a7c213a..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:-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/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 d08bdbb77..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 @@ -19,7 +20,7 @@ parameters: 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 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-ovs-dpdk-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-dpdk-ha/infra/init.yml index 7d029b3ab..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 @@ -19,7 +20,7 @@ parameters: 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 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 b6261f624..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 @@ -19,7 +20,7 @@ parameters: 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 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 0e3a26454..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: 10.20.0.2 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/net_mcpcontrol.xml b/mcp/scripts/net_mcpcontrol.xml deleted file mode 100644 index 6a4cfd5b0..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="10.20.0.1" netmask="255.255.255.0"> - <dhcp> - <range start="10.20.0.2" end="10.20.0.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> |