diff options
-rwxr-xr-x | prototypes/xci/config/pinned-versions | 26 | ||||
-rwxr-xr-x | prototypes/xci/config/user-vars | 44 | ||||
-rw-r--r-- | prototypes/xci/file/configure-xci-aio.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/configure-xci-ha.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/configure-xci-mini.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/configure-xci-noha.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-aio-inventory | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-aio-vars.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-ha-inventory | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-ha-vars.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-mini-inventory | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-mini-vars.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-noha-inventory | 0 | ||||
-rw-r--r-- | prototypes/xci/file/xci-noha-vars.yml | 0 | ||||
-rw-r--r-- | prototypes/xci/flavors/xci-aio.sh | 27 | ||||
-rw-r--r-- | prototypes/xci/flavors/xci-ha.sh | 27 | ||||
-rw-r--r-- | prototypes/xci/flavors/xci-mini.sh | 27 | ||||
-rw-r--r-- | prototypes/xci/flavors/xci-noha.sh | 27 | ||||
-rwxr-xr-x | prototypes/xci/xci-deploy.sh | 17 |
19 files changed, 195 insertions, 0 deletions
diff --git a/prototypes/xci/config/pinned-versions b/prototypes/xci/config/pinned-versions new file mode 100755 index 000000000..c81fcc36b --- /dev/null +++ b/prototypes/xci/config/pinned-versions @@ -0,0 +1,26 @@ +#------------------------------------------------------------------------------- +# 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. +# +# 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 "stable/ocata" as of 24.03.2017 - verified by OPNFV CI +export OPENSTACK_BIFROST_VERSION="a87f7ce6c8725b3bbffec7b2efa1e466796848a9" +# HEAD of "stable/ocata" as of 24.03.2017 - verified by OPNFV CI +export OPENSTACK_OSA_VERSION="4713cf45e11b4ebca9fbed25d1389854602213d8" diff --git a/prototypes/xci/config/user-vars b/prototypes/xci/config/user-vars new file mode 100755 index 000000000..bb2bfe1d3 --- /dev/null +++ b/prototypes/xci/config/user-vars @@ -0,0 +1,44 @@ +#------------------------------------------------------------------------------- +# 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 + +#------------------------------------------------------------------------------- +# Set Deployment Flavor +#------------------------------------------------------------------------------- +# OPNFV XCI currently supports 4 different types of flavors: +# - all in one (aio) - xci-aio.sh: 1 VM which acts as controller and compute node +# - mini opnfv: 3 VMs, 1 xcimaster, 1 controller, and 1 compute nodes +# - noha: 4 VMs, 1 xcimaster, 1 controller, and 2 compute nodes +# - ha: 6 VMs, 1 xcimaster, 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="xci-aio" +# or +# export XCI_FLAVOR="xci-mini" +# or +# export XCI_FLAVOR="xci-noha" +# or +# export XCI_FLAVOR="xci-ha" +#------------------------------------------------------------------------------- +export XCI_FLAVOR=${XCI_FLAVOR:-xci-mini} + +#------------------------------------------------------------------------------- +# Configure some other stuff +#------------------------------------------------------------------------------- +# Set the verbosity for ansible +# +# Examples: +# ANSIBLE_VERBOSITY="-v" +# or +# ANSIBLE_VERBOSITY="-vvvv" +export ANSIBLE_VERBOSITY=${ANSIBLE_VERBOSITY:-""} diff --git a/prototypes/xci/file/configure-xci-aio.yml b/prototypes/xci/file/configure-xci-aio.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/configure-xci-aio.yml diff --git a/prototypes/xci/file/configure-xci-ha.yml b/prototypes/xci/file/configure-xci-ha.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/configure-xci-ha.yml diff --git a/prototypes/xci/file/configure-xci-mini.yml b/prototypes/xci/file/configure-xci-mini.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/configure-xci-mini.yml diff --git a/prototypes/xci/file/configure-xci-noha.yml b/prototypes/xci/file/configure-xci-noha.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/configure-xci-noha.yml diff --git a/prototypes/xci/file/xci-aio-inventory b/prototypes/xci/file/xci-aio-inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-aio-inventory diff --git a/prototypes/xci/file/xci-aio-vars.yml b/prototypes/xci/file/xci-aio-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-aio-vars.yml diff --git a/prototypes/xci/file/xci-ha-inventory b/prototypes/xci/file/xci-ha-inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-ha-inventory diff --git a/prototypes/xci/file/xci-ha-vars.yml b/prototypes/xci/file/xci-ha-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-ha-vars.yml diff --git a/prototypes/xci/file/xci-mini-inventory b/prototypes/xci/file/xci-mini-inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-mini-inventory diff --git a/prototypes/xci/file/xci-mini-vars.yml b/prototypes/xci/file/xci-mini-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-mini-vars.yml diff --git a/prototypes/xci/file/xci-noha-inventory b/prototypes/xci/file/xci-noha-inventory new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-noha-inventory diff --git a/prototypes/xci/file/xci-noha-vars.yml b/prototypes/xci/file/xci-noha-vars.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/prototypes/xci/file/xci-noha-vars.yml diff --git a/prototypes/xci/flavors/xci-aio.sh b/prototypes/xci/flavors/xci-aio.sh new file mode 100644 index 000000000..9f9ea1be6 --- /dev/null +++ b/prototypes/xci/flavors/xci-aio.sh @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# This is the configuration for xci-aio. +# +# 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=xciaio +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=80 +export VM_MEMORY_SIZE=12288 +export VM_DISK_CACHE=unsafe + +#------------------------------------------------------------------------------- +# Ansible Files for the Flavor +#------------------------------------------------------------------------------- +XCI_ANSIBLE_PLAYBOOK=$OPNFV_RELENG_PATH/prototypes/xci/file/configure-xci-aio.yml +XCI_ANSIBLE_INVENTORY=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-aio-inventory +XCI_ANSIBLE_VARS=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-aio-vars.yml diff --git a/prototypes/xci/flavors/xci-ha.sh b/prototypes/xci/flavors/xci-ha.sh new file mode 100644 index 000000000..442432fea --- /dev/null +++ b/prototypes/xci/flavors/xci-ha.sh @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# This is the configuration for xci-aio. +# +# 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="xcimaster controller00 controller01 controller02 compute00 compute01" +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=100 +export VM_MEMORY_SIZE=16384 +export VM_DISK_CACHE=unsafe + +#------------------------------------------------------------------------------- +# Ansible Files for the Flavor +#------------------------------------------------------------------------------- +XCI_ANSIBLE_PLAYBOOK=$OPNFV_RELENG_PATH/prototypes/xci/file/configure-xci-ha.yml +XCI_ANSIBLE_INVENTORY=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-ha-inventory +XCI_ANSIBLE_VARS=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-ha-vars.yml diff --git a/prototypes/xci/flavors/xci-mini.sh b/prototypes/xci/flavors/xci-mini.sh new file mode 100644 index 000000000..11048f6be --- /dev/null +++ b/prototypes/xci/flavors/xci-mini.sh @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# This is the configuration for xci-aio. +# +# 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="xcimaster controller00 compute00" +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=100 +export VM_MEMORY_SIZE=12288 +export VM_DISK_CACHE=unsafe + +#------------------------------------------------------------------------------- +# Ansible Files for the Flavor +#------------------------------------------------------------------------------- +XCI_ANSIBLE_PLAYBOOK=$OPNFV_RELENG_PATH/prototypes/xci/file/configure-xci-mini.yml +XCI_ANSIBLE_INVENTORY=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-mini-inventory +XCI_ANSIBLE_VARS=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-mini-vars.yml diff --git a/prototypes/xci/flavors/xci-noha.sh b/prototypes/xci/flavors/xci-noha.sh new file mode 100644 index 000000000..6a83f9962 --- /dev/null +++ b/prototypes/xci/flavors/xci-noha.sh @@ -0,0 +1,27 @@ +#------------------------------------------------------------------------------- +# XCI Flavor Configuration +#------------------------------------------------------------------------------- +# This is the configuration for xci-aio. +# +# 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="xcimaster controller00 compute00 compute01" +export VM_DOMAIN_TYPE=kvm +export VM_CPU=8 +export VM_DISK=100 +export VM_MEMORY_SIZE=12288 +export VM_DISK_CACHE=unsafe + +#------------------------------------------------------------------------------- +# Ansible Files for the Flavor +#------------------------------------------------------------------------------- +XCI_ANSIBLE_PLAYBOOK=$OPNFV_RELENG_PATH/prototypes/xci/file/configure-xci-mini.yml +XCI_ANSIBLE_INVENTORY=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-mini-inventory +XCI_ANSIBLE_VARS=$OPNFV_RELENG_PATH/prototypes/xci/file/xci-mini-vars.yml diff --git a/prototypes/xci/xci-deploy.sh b/prototypes/xci/xci-deploy.sh new file mode 100755 index 000000000..34149f22f --- /dev/null +++ b/prototypes/xci/xci-deploy.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# 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.sh |