diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-01 22:18:41 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-08-17 02:59:30 +0200 |
commit | 5039d069265df15ed3d8e41f7a1c7f9457a9d58a (patch) | |
tree | 18a9160f72be9a01ef0008e3aa9912e18262057d /ci/deploy.sh | |
parent | 9720ddf955b76d678a08dc7ea53684400c659ce3 (diff) |
Bring in baremetal support
- ci/deploy.sh: fail if default scenario file is missing;
- start by copying reclass/classes/cluster/virtual-mcp-ocata-ovs as
classes/cluster/baremetal-mcp-ocata-ovs;
- add new state (maas) that will handle MaaS configuration;
- Split PXE network in two for baremetal:
* rename old "pxe" virtual network to "mcpcontrol", make it
non-configurable and identical for baremetal/virtual deploys;
* new "pxebr" bridge is dedicated for MaaS fabric network, which
comes with its own DHCP, TFTP etc.;
- Drop hardcoded PXE gateway & static IP for MaaS node, since
"mcpcontrol" remains a NAT-ed virtual network, with its own DHCP;
- Keep internet access available on first interfaces for cfg01/mas01;
- Align MaaS IP addrs (all x.y.z.3), add public IP for easy debug
via MaaS dashboard;
- Add static IP in new network segment (192.168.11.3/24) on MaaS
node's PXE interface;
- Set MaaS PXE interface MTU 1500 (weird network errors with jumbo);
- MaaS node: Add NAT iptables traffic forward from "mcpcontrol" to
"pxebr" interfaces;
- MaaS: Add harcoded lf-pod2 machine info (fixed identation in v6);
- Switch our targeted scenario to HA;
* scenario: s/os-nosdn-nofeature-noha/os-nosdn-nofeature-ha/
- maas region: Use mcp.rsa.pub from ~ubuntu/.ssh/authorized_keys;
- add route for 192.168.11.0/24 via mas01 on cfg01;
- fix race condition on kvm nodes network setup:
* add "noifupdown" support in salt formula for linux.network;
* keep primary eth/br-mgmt unconfigured till reboot;
TODO:
- Read all this info from PDF (Pod Descriptor File) later;
- investigate leftover references to eno2, eth3;
- add public network interfaces config, IPs;
- improve wait conditions for MaaS commision/deploy;
- report upstream breakage in system.single;
Change-Id: Ie8dd584b140991d2bd992acdfe47f5644bf51409
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'ci/deploy.sh')
-rwxr-xr-x | ci/deploy.sh | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh index a39d4946b..1ace950e0 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -68,7 +68,11 @@ $(notify "Input parameters to the build script are:" 2) For an empty value, the deploy script will use virsh to create the default expected network (e.g. -B pxe,,,public will use existing "pxe" and "public" bridges, respectively create "mgmt" and "internal"). - The default is pxebr. + Note that a virtual network "mcpcontrol" is always created. For virtual + deploys, "mcpcontrol" is also used for PXE, leaving the PXE bridge unused. + For baremetal deploys, PXE bridge is used for baremetal node provisioning, + while "mcpcontrol" is used to provision the infrastructure VMs only. + The default is 'pxebr'. -h Print this message and exit -l Lab name as defined in the configuration directory, e.g. lf -p POD name as defined in the configuration directory, e.g. pod-1 @@ -130,11 +134,12 @@ clean() { SCRIPT_PATH=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")") DEPLOY_DIR=$(cd "${SCRIPT_PATH}/../mcp/scripts"; pwd) DEPLOY_TYPE='baremetal' -OPNFV_BRIDGES=('pxe' 'mgmt' 'internal' 'public') +OPNFV_BRIDGES=('pxebr' 'mgmt' 'internal' 'public') URI_REGEXP='(file|https?|ftp)://.*' export SSH_KEY=${SSH_KEY:-mcp.rsa} export SALT_MASTER=${SALT_MASTER_IP:-192.168.10.100} +export MAAS_IP=${MAAS_IP:-192.168.10.3} export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ${SSH_KEY}" # Variables below are disabled for now, to be re-introduced or removed later @@ -290,10 +295,14 @@ if [ "$(uname -i)" = "aarch64" ]; then fi # Check scenario file existence -if [[ ! -f ../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml ]]; then +if [ ! -f ../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml ]; then notify "[WARN] ${DEPLOY_SCENARIO}.yaml not found! \ Setting simplest scenario (os-nosdn-nofeature-noha)\n" 3 DEPLOY_SCENARIO='os-nosdn-nofeature-noha' + if [ ! -f ../config/scenario/${DEPLOY_TYPE}/${DEPLOY_SCENARIO}.yaml ]; then + notify "[ERROR] Scenario definition file is missing!\n" 1>&2 + exit 1 + fi fi # Get required infra deployment data @@ -316,7 +325,7 @@ generate_ssh_key prepare_vms virtual_nodes "${base_image}" create_networks OPNFV_BRIDGES create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus OPNFV_BRIDGES -update_pxe_network OPNFV_BRIDGES +update_mcpcontrol_network start_vms virtual_nodes check_connection |