diff options
Diffstat (limited to 'prototypes')
34 files changed, 403 insertions, 6 deletions
diff --git a/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic-inspector.conf.j2 b/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic-inspector.conf.j2 new file mode 100644 index 000000000..dc4e3ffad --- /dev/null +++ b/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic-inspector.conf.j2 @@ -0,0 +1,66 @@ +{# +# Note(TheJulia): This file is based upon the file format provided by the git +# committed example located at: +# http://git.openstack.org/cgit/openstack/ironic-inspector/tree/example.conf +#} +[DEFAULT] +{% if enable_keystone is defined and enable_keystone | bool == true %} +auth_strategy = keystone +{% else %} +auth_strategy = {{ inspector_auth | default('noauth') }} +{% endif %} +debug = {{ inspector_debug | bool }} + +[database] +connection=mysql+pymysql://inspector:{{ ironic_db_password }}@localhost/inspector?charset=utf8 +min_pool_size = 1 +max_pool_size = 5 + +[firewall] +manage_firewall = {{ inspector_manage_firewall | bool | default('false') }} + +[ironic] +{% if enable_keystone is defined and enable_keystone | bool == true %} +os_region = {{ keystone.bootstrap.region_name | default('RegionOne') }} +project_name = baremetal +username = {{ ironic_inspector.keystone.default_username }} +password = {{ ironic_inspector.keystone.default_password }} +auth_url = {{ ironic_inspector.service_catalog.auth_url }} +auth_type = password +auth_strategy = keystone +user_domain_id = default +project_domain_id = default + +{% else %} +auth_strategy = {{ ironic_auth_strategy | default('noauth') }} +{% endif %} + +{% if enable_keystone is defined and enable_keystone | bool == true %} +[keystone_authtoken] +auth_plugin = password +auth_url = {{ ironic_inspector.service_catalog.auth_url }} +username = {{ ironic_inspector.service_catalog.username }} +password = {{ ironic_inspector.service_catalog.password }} +user_domain_id = default +project_name = service +project_domain_id = default + +{% endif %} +{# +# Note(TheJulia) preserving ironic_url in the configuration +# in case future changes allow breaking of the deployment across +# multiple nodes. +#ironic_url = http://localhost:6385/ +#} + +[processing] +add_ports = {{ inspector_port_addition | default('pxe') }} +keep_ports = {{ inspector_keep_ports | default('present') }} +ramdisk_logs_dir = {{ inspector_data_dir }}/log +always_store_ramdisk_logs = {{ inspector_store_ramdisk_logs | default('true') | bool }} +{% if inspector.discovery.enabled == true %} +node_not_found_hook = enroll + +[discovery] +enroll_node_driver = {{ inspector.discovery.default_node_driver }} +{% endif %} diff --git a/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 b/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 new file mode 100644 index 000000000..7debdbcc6 --- /dev/null +++ b/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 @@ -0,0 +1,92 @@ +# {{ ansible_managed }} +# For additional details on configuring ironic, you may wish to reference +# the sample configuration file which can be located at +# http://git.openstack.org/cgit/openstack/ironic/tree/etc/ironic/ironic.conf.sample + + +[DEFAULT] +# NOTE(TheJulia): Until Bifrost supports neutron or some other network +# configuration besides a flat network where bifrost orchustrates the +# control instead of ironic, noop is the only available network driver. +enabled_network_interfaces = noop +{% if testing | bool == true %} +enabled_drivers = agent_ssh,pxe_ssh +debug = true +{% else %} +enabled_drivers = {{ enabled_drivers }} +debug = false +{% endif %} + +rabbit_userid = ironic +rabbit_password = {{ ironic_db_password }} + +{% if enable_keystone is defined and enable_keystone | bool == true %} +auth_strategy = keystone +{% else %} +auth_strategy = noauth +{% endif %} + +[pxe] +pxe_append_params = systemd.journald.forward_to_console=yes {{ extra_kernel_options | default('') }} +pxe_config_template = $pybasedir/drivers/modules/ipxe_config.template +tftp_server = {{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }} +tftp_root = /tftpboot +pxe_bootfile_name = undionly.kpxe +ipxe_enabled = true +ipxe_boot_script = /etc/ironic/boot.ipxe + +[deploy] +http_url = http://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:{{ file_url_port }}/ +http_root = {{ http_boot_folder }} + +[conductor] +api_url = http://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:6385/ +clean_nodes = {{ cleaning | lower }} +automated_clean = {{ cleaning | lower }} + +[database] +connection = mysql+pymysql://ironic:{{ ironic_db_password }}@localhost/ironic?charset=utf8 +min_pool_size = 1 +max_pool_size = 5 + +[dhcp] +dhcp_provider = none + +{% if testing | bool == true %} +[ssh] +libvirt_uri = qemu:///system +{% endif %} + +{% if enable_cors | bool == true %} +[cors] +allowed_origin = {{ cors_allowed_origin | default('allowed_origin=http://localhost:8000') }} +allow_credentials = {{ enable_cors_credential_support | default('true') }} +{% endif %} + +[ilo] +use_web_server_for_images = true + +{% if enable_inspector | bool == true %} +[inspector] +enabled = true +{% endif %} + +{% if enable_keystone is defined and enable_keystone | bool == true %} +[keystone] +region_name = {{ keystone.bootstrap.region_name | default('RegionOne')}} +[keystone_authtoken] +auth_plugin = password +auth_url = {{ ironic.service_catalog.auth_url }} +username = {{ ironic.service_catalog.username }} +password = {{ ironic.service_catalog.password }} +user_domain_id = default +project_name = {{ ironic.service_catalog.project_name }} +project_domain_id = default + +[service_catalog] +auth_url = {{ ironic.service_catalog.auth_url }} +auth_type = password +tenant_name = {{ ironic.service_catalog.project_name }} +username = {{ ironic.service_catalog.username }} +password = {{ ironic.service_catalog.password }} +{% endif %} diff --git a/prototypes/bifrost/scripts/bifrost-provision.sh b/prototypes/bifrost/scripts/bifrost-provision.sh index 0c13a8414..2814808f0 100755 --- a/prototypes/bifrost/scripts/bifrost-provision.sh +++ b/prototypes/bifrost/scripts/bifrost-provision.sh @@ -14,6 +14,7 @@ export PYTHONUNBUFFERED=1 SCRIPT_HOME="$(cd "$(dirname "$0")" && pwd)" BIFROST_HOME=$SCRIPT_HOME/.. ANSIBLE_INSTALL_ROOT=${ANSIBLE_INSTALL_ROOT:-/opt/stack} +ANSIBLE_VERBOSITY=${ANSIBLE_VERBOSITY-"-vvvv"} ENABLE_VENV="false" USE_DHCP="false" USE_VENV="false" @@ -83,19 +84,19 @@ cd $BIFROST_HOME/playbooks # Syntax check of dynamic inventory test path for task in syntax-check list-tasks; do - ${ANSIBLE} -vvvv \ + ${ANSIBLE} ${ANSIBLE_VERBOSITY} \ -i inventory/localhost \ test-bifrost-create-vm.yaml \ --${task} - ${ANSIBLE} -vvvv \ + ${ANSIBLE} ${ANSIBLE_VERBOSITY} \ -i inventory/localhost \ ${TEST_PLAYBOOK} \ --${task} \ -e testing_user=${TESTING_USER} done -# Create the test VMS -${ANSIBLE} -vvvv \ +# Create the VMS +${ANSIBLE} ${ANSIBLE_VERBOSITY} \ -i inventory/localhost \ test-bifrost-create-vm.yaml \ -e test_vm_num_nodes=${TEST_VM_NUM_NODES} \ @@ -104,8 +105,8 @@ ${ANSIBLE} -vvvv \ -e test_vm_domain_type=${VM_DOMAIN_TYPE} \ -e ${INVENTORY_FILE_FORMAT}=${BAREMETAL_DATA_FILE} -# Execute the installation and VM startup test. -${ANSIBLE} -vvvv \ +# Execute the installation and VM startup test +${ANSIBLE} ${ANSIBLE_VERBOSITY} \ -i inventory/bifrost_inventory.py \ ${TEST_PLAYBOOK} \ -e use_cirros=${USE_CIRROS} \ diff --git a/prototypes/xci/config/aio-vars b/prototypes/xci/config/aio-vars new file mode 100755 index 000000000..48754e507 --- /dev/null +++ b/prototypes/xci/config/aio-vars @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# You are free to modify parts of the configuration to fit into your environment. +# But before doing that, please ensure you checked other flavors to see if one +# them can be used instead, saving you some time. +#------------------------------------------------------------------------------- + +#------------------------------------------------------------------------------- +# Configure VM Nodes +#------------------------------------------------------------------------------- +export TEST_VM_NUM_NODES=1 +export TEST_VM_NODE_NAMES=xci +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=80 +export VM_MEMORY_SIZE=8192 +export VM_DISK_CACHE=unsafe diff --git a/prototypes/xci/config/env-vars b/prototypes/xci/config/env-vars new file mode 100755 index 000000000..cebf7b423 --- /dev/null +++ b/prototypes/xci/config/env-vars @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------- +# !!! Changing or overriding these will most likely break everything altogether !!! +# Please do not change these settings if you are not developing for XCI! +#------------------------------------------------------------------------------- +export OPNFV_RELENG_GIT_URL=https://gerrit.opnfv.org/gerrit/releng.git +export OPENSTACK_BIFROST_GIT_URL=https://git.openstack.org/openstack/bifrost +export OPENSTACK_OSA_GIT_URL=https://git.openstack.org/openstack/openstack-ansible +export OPENSTACK_OSA_ETC_PATH=/etc/openstack_deploy +export CLEAN_DIB_IMAGES=false +export XCI_IP=192.168.122.2 +export XCI_FLAVOR_ANSIBLE_FILE_PATH=$OPNFV_RELENG_PATH/prototypes/xci/file/$XCI_FLAVOR +export JOB_NAME=${JOB_NAME:-false} +export ANSIBLE_HOST_KEY_CHECKING=False +export DISTRO=${DISTRO:-ubuntu} +export DIB_OS_RELEASE=${DIB_OS_RELEASE:-xenial} +export DIB_OS_ELEMENT=${DIB_OS_ELEMENT:-ubuntu-minimal} +export DIB_OS_PACKAGES=${DIB_OS_PACKAGES:-"vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables"} diff --git a/prototypes/xci/config/ha-vars b/prototypes/xci/config/ha-vars new file mode 100755 index 000000000..8a045a3dd --- /dev/null +++ b/prototypes/xci/config/ha-vars @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# You are free to modify parts of the configuration to fit into your environment. +# But before doing that, please ensure you checked other flavors to see if one +# them can be used instead, saving you some time. +#------------------------------------------------------------------------------- + +#------------------------------------------------------------------------------- +# Configure VM Nodes +#------------------------------------------------------------------------------- +export TEST_VM_NUM_NODES=6 +export TEST_VM_NODE_NAMES="xci controller00 controller01 controller02 compute00 compute01" +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=80 +export VM_MEMORY_SIZE=16384 +export VM_DISK_CACHE=unsafe diff --git a/prototypes/xci/config/mini-vars b/prototypes/xci/config/mini-vars new file mode 100755 index 000000000..4d720801f --- /dev/null +++ b/prototypes/xci/config/mini-vars @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# You are free to modify parts of the configuration to fit into your environment. +# But before doing that, please ensure you checked other flavors to see if one +# them can be used instead, saving you some time. +#------------------------------------------------------------------------------- + +#------------------------------------------------------------------------------- +# Configure VM Nodes +#------------------------------------------------------------------------------- +export TEST_VM_NUM_NODES=3 +export TEST_VM_NODE_NAMES="xci controller00 compute00" +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=80 +export VM_MEMORY_SIZE=12288 +export VM_DISK_CACHE=unsafe diff --git a/prototypes/xci/config/noha-vars b/prototypes/xci/config/noha-vars new file mode 100755 index 000000000..22c68feeb --- /dev/null +++ b/prototypes/xci/config/noha-vars @@ -0,0 +1,18 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# You are free to modify parts of the configuration to fit into your environment. +# But before doing that, please ensure you checked other flavors to see if one +# them can be used instead, saving you some time. +#------------------------------------------------------------------------------- + +#------------------------------------------------------------------------------- +# Configure VM Nodes +#------------------------------------------------------------------------------- +export TEST_VM_NUM_NODES=4 +export TEST_VM_NODE_NAMES="xci controller00 compute00 compute01" +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=80 +export VM_MEMORY_SIZE=12288 +export VM_DISK_CACHE=unsafe diff --git a/prototypes/xci/config/pinned-versions b/prototypes/xci/config/pinned-versions new file mode 100755 index 000000000..1cd33813c --- /dev/null +++ b/prototypes/xci/config/pinned-versions @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# Pinned Component Versions +#------------------------------------------------------------------------------- +# You are free to override these versions in user-vars to experiment with +# different branches or with different commits but be aware that things might +# not work as expected. You can set the versions you want to use before running +# the main script on your shell as shown on the examples below. +# +# It is important to be consistent between branches you use for OpenStack +# projects OPNFV XCI uses. +# +# Examples: +# export OPENSTACK_BIFROST_VERSION="stable/ocata" +# export OPENSTACK_OSA_VERSION="stable/ocata" +# or +# export OPENSTACK_BIFROST_VERSION="master" +# export OPENSTACK_OSA_VERSION="master" +# or +# export OPENSTACK_BIFROST_VERSION="a87f7ce6c8725b3bbffec7b2efa1e466796848a9" +# export OPENSTACK_OSA_VERSION="4713cf45e11b4ebca9fbed25d1389854602213d8" +#------------------------------------------------------------------------------- +# use releng from master until the development work with the sandbox is complete +export OPNFV_RELENG_VERSION="master" +# HEAD of "master" as of 28.03.2017 +export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-"2600d546ed7116f5aad81972b0987a269f3c45b4"} +# HEAD of "master" as of 26.03.2017 +export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"baba7b317a5898cd73b4a11c4ce364c7e2d3d77f"} diff --git a/prototypes/xci/config/user-vars b/prototypes/xci/config/user-vars new file mode 100755 index 000000000..b326f5ce7 --- /dev/null +++ b/prototypes/xci/config/user-vars @@ -0,0 +1,46 @@ +#------------------------------------------------------------------------------- +# Set Deployment Flavor +#------------------------------------------------------------------------------- +# OPNFV XCI currently supports 4 different types of flavors: +# - all in one (aio): 1 xci VM which acts as controller and compute node +# - mini: 3 VMs, 1 xci VM, 1 controller, and 1 compute nodes +# - noha: 4 VMs, 1 xci VM, 1 controller, and 2 compute nodes +# - ha: 6 VMs, 1 xci VM, 3 controllers, and 2 compute nodes +# +# Apart from having different number of nodes, CPU, RAM, and disk allocations +# also differ from each other. Please take a look at the env-vars files for +# each of these flavors. +# +# Examples: +# export XCI_FLAVOR="aio" +# or +# export XCI_FLAVOR="mini" +# or +# export XCI_FLAVOR="noha" +# or +# export XCI_FLAVOR="ha" +#------------------------------------------------------------------------------- +export XCI_FLAVOR=${XCI_FLAVOR:-aio} + +#------------------------------------------------------------------------------- +# Set Paths to where git repositories of XCI Components will be cloned +#------------------------------------------------------------------------------- +# OPNFV XCI Sandbox is not verified to be used as non-root user as of yet so +# changing these paths might break things. +#------------------------------------------------------------------------------- +export OPNFV_RELENG_PATH=/opt/releng +export OPENSTACK_BIFROST_PATH=/opt/bifrost +export OPENSTACK_OSA_PATH=/opt/openstack-ansible + +#------------------------------------------------------------------------------- +# Configure some other stuff +#------------------------------------------------------------------------------- +# Set the verbosity for ansible +# +# Examples: +# ANSIBLE_VERBOSITY="-v" +# or +# ANSIBLE_VERBOSITY="-vvvv" +export ANSIBLE_VERBOSITY=${ANSIBLE_VERBOSITY-""} +export LOG_PATH=${LOG_PATH:-/opt/xci/logs} +export RUN_TEMPEST=${RUN_TEMPEST:-false} diff --git a/prototypes/xci/file/aio/flavor-vars.yml b/prototypes/xci/file/aio/flavor-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/aio/flavor-vars.yml diff --git a/prototypes/xci/file/aio/inventory b/prototypes/xci/file/aio/inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/aio/inventory diff --git a/prototypes/xci/file/aio/openstack_user_config.yml b/prototypes/xci/file/aio/openstack_user_config.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/aio/openstack_user_config.yml diff --git a/prototypes/xci/file/cinder.yml b/prototypes/xci/file/cinder.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/cinder.yml diff --git a/prototypes/xci/file/exports b/prototypes/xci/file/exports new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/exports diff --git a/prototypes/xci/file/ha/flavor-vars.yml b/prototypes/xci/file/ha/flavor-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/ha/flavor-vars.yml diff --git a/prototypes/xci/file/ha/inventory b/prototypes/xci/file/ha/inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/ha/inventory diff --git a/prototypes/xci/file/ha/openstack_user_config.yml b/prototypes/xci/file/ha/openstack_user_config.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/ha/openstack_user_config.yml diff --git a/prototypes/xci/file/mini/flavor-vars.yml b/prototypes/xci/file/mini/flavor-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/mini/flavor-vars.yml diff --git a/prototypes/xci/file/mini/inventory b/prototypes/xci/file/mini/inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/mini/inventory diff --git a/prototypes/xci/file/mini/openstack_user_config.yml b/prototypes/xci/file/mini/openstack_user_config.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/mini/openstack_user_config.yml diff --git a/prototypes/xci/file/modules b/prototypes/xci/file/modules new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/modules diff --git a/prototypes/xci/file/noha/flavor-vars.yml b/prototypes/xci/file/noha/flavor-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/noha/flavor-vars.yml diff --git a/prototypes/xci/file/noha/inventory b/prototypes/xci/file/noha/inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/noha/inventory diff --git a/prototypes/xci/file/noha/openstack_user_config.yml b/prototypes/xci/file/noha/openstack_user_config.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/noha/openstack_user_config.yml diff --git a/prototypes/xci/file/setup-openstack.yml b/prototypes/xci/file/setup-openstack.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/setup-openstack.yml diff --git a/prototypes/xci/file/user_variables.yml b/prototypes/xci/file/user_variables.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/user_variables.yml diff --git a/prototypes/xci/playbooks/configure-localhost.yml b/prototypes/xci/playbooks/configure-localhost.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/playbooks/configure-localhost.yml diff --git a/prototypes/xci/playbooks/inventory b/prototypes/xci/playbooks/inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/playbooks/inventory diff --git a/prototypes/xci/template/compute.interface.j2 b/prototypes/xci/template/compute.interface.j2 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/template/compute.interface.j2 diff --git a/prototypes/xci/template/controller.interface.j2 b/prototypes/xci/template/controller.interface.j2 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/template/controller.interface.j2 diff --git a/prototypes/xci/template/xci.interface.j2 b/prototypes/xci/template/xci.interface.j2 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/template/xci.interface.j2 diff --git a/prototypes/xci/var/ubuntu.yml b/prototypes/xci/var/ubuntu.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/var/ubuntu.yml diff --git a/prototypes/xci/xci-deploy.sh b/prototypes/xci/xci-deploy.sh new file mode 100755 index 000000000..eb1e9d78e --- /dev/null +++ b/prototypes/xci/xci-deploy.sh @@ -0,0 +1,76 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# This script must run as root +if [[ $(whoami) != "root" ]]; then + echo "Error: This script must be run as root!" + exit 1 +fi + +# find where are we +XCI_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# source pinned versions +source $XCI_PATH/config/pinned-versions + +# source user vars +source $XCI_PATH/config/user-vars + +# source flavor configuration +source "$XCI_PATH/flavors/${XCI_FLAVOR}-vars" + +# source xci configuration +source $XCI_PATH/config/env-vars + +# log info to console +echo "Info: Starting XCI Deployment" +echo "Info: Deployment parameters" +echo "-------------------------------------------------------------------------" +echo "xci flavor: $XCI_FLAVOR" +echo "opnfv/releng version: $OPNFV_RELENG_VERSION" +echo "openstack/bifrost version: $OPENSTACK_BIFROST_VERSION" +echo "openstack/openstack-ansible version: $OPENSTACK_OSA_VERSION" +echo "-------------------------------------------------------------------------" + +#------------------------------------------------------------------------------- +# Cleanup the leftovers from the previous deployment +#------------------------------------------------------------------------------- +echo "Info: Cleaning up the previous deployment" +$XCI_PATH/../bifrost/scripts/destroy-env.sh > /dev/null 2>&1 +/bin/rm -rf /opt/releng /opt/bifrost /opt/openstack-ansible /opt/stack + +#------------------------------------------------------------------------------- +# Clone the repositories and checkout the versions +#------------------------------------------------------------------------------- +echo "Info: Cloning repositories and checking out versions" +git clone --quiet $OPNFV_RELENG_GIT_URL $OPNFV_RELENG_PATH && \ + cd $OPNFV_RELENG_PATH +echo "Info: Cloned opnfv/releng. HEAD currently points at" +echo " $(git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>')" +git clone --quiet $OPENSTACK_BIFROST_GIT_URL $OPENSTACK_BIFROST_PATH && \ + cd $OPENSTACK_BIFROST_PATH +echo "Info: Cloned openstack/bifrost. HEAD currently points at" +echo " $(git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>')" + +#------------------------------------------------------------------------------- +# Combine opnfv and upstream scripts/playbooks +#------------------------------------------------------------------------------- +echo "Info: Combining opnfv/releng and opestack/bifrost scripts/playbooks" +/bin/cp -rf $OPNFV_RELENG_PATH/prototypes/bifrost/* $OPENSTACK_BIFROST_PATH/ + +#------------------------------------------------------------------------------- +# Start provisioning VM nodes +#------------------------------------------------------------------------------- +echo "Info: Starting provisining VM nodes using openstack/bifrost" +echo " This might take between 10 to 20 minutes depending on the flavor and the host" +echo "-------------------------------------------------------------------------" +cd $OPENSTACK_BIFROST_PATH +STARTTIME=$(date +%s) +./scripts/bifrost-provision.sh +ENDTIME=$(date +%s) +echo "-----------------------------------------------------------------------" +echo "Info: VM nodes are provisioned!" +echo "Info: It took $(($ENDTIME - $STARTTIME)) seconds to provising the VM nodes" |