summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-03-24 20:17:42 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-03-24 20:17:42 +0000
commit27c2b900b293a83d23990eba3b4492fa65bbf413 (patch)
treec9d8cf3fad171cf14494cb2e02a824889e595d73
parented77a7078497572a8d534ea234fe76f9969713b6 (diff)
parentaf43f43798ccb6a012dcb072f84c116f7e3ca46a (diff)
Merge "xci: Set up the basics for xci developer sandbox"
-rwxr-xr-xprototypes/xci/config/pinned-versions26
-rwxr-xr-xprototypes/xci/config/user-vars44
-rw-r--r--prototypes/xci/file/configure-xci-aio.yml0
-rw-r--r--prototypes/xci/file/configure-xci-ha.yml0
-rw-r--r--prototypes/xci/file/configure-xci-mini.yml0
-rw-r--r--prototypes/xci/file/configure-xci-noha.yml0
-rw-r--r--prototypes/xci/file/xci-aio-inventory0
-rw-r--r--prototypes/xci/file/xci-aio-vars.yml0
-rw-r--r--prototypes/xci/file/xci-ha-inventory0
-rw-r--r--prototypes/xci/file/xci-ha-vars.yml0
-rw-r--r--prototypes/xci/file/xci-mini-inventory0
-rw-r--r--prototypes/xci/file/xci-mini-vars.yml0
-rw-r--r--prototypes/xci/file/xci-noha-inventory0
-rw-r--r--prototypes/xci/file/xci-noha-vars.yml0
-rw-r--r--prototypes/xci/flavors/xci-aio.sh27
-rw-r--r--prototypes/xci/flavors/xci-ha.sh27
-rw-r--r--prototypes/xci/flavors/xci-mini.sh27
-rw-r--r--prototypes/xci/flavors/xci-noha.sh27
-rwxr-xr-xprototypes/xci/xci-deploy.sh17
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