summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xxci/config/env-vars3
-rw-r--r--xci/playbooks/provision-vm-nodes.yml32
-rw-r--r--xci/playbooks/roles/remove-folders/tasks/main.yml1
-rw-r--r--xci/var/opnfv.yml4
-rwxr-xr-xxci/xci-deploy.sh33
5 files changed, 44 insertions, 29 deletions
diff --git a/xci/config/env-vars b/xci/config/env-vars
index 1bb553b6..e2976a0a 100755
--- a/xci/config/env-vars
+++ b/xci/config/env-vars
@@ -10,6 +10,9 @@ export CLEAN_DIB_IMAGES=false
export OPNFV_HOST_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}
+# TODO: this currently matches to bifrost ansible version
+# there is perhaps better way to do this
+export XCI_ANSIBLE_PIP_VERSION=2.1.5.0
export ANSIBLE_HOST_KEY_CHECKING=False
export DISTRO=${DISTRO:-ubuntu}
export DIB_OS_RELEASE=${DIB_OS_RELEASE:-xenial}
diff --git a/xci/playbooks/provision-vm-nodes.yml b/xci/playbooks/provision-vm-nodes.yml
new file mode 100644
index 00000000..9a32d0bf
--- /dev/null
+++ b/xci/playbooks/provision-vm-nodes.yml
@@ -0,0 +1,32 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2017 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+- hosts: localhost
+ remote_user: root
+ vars_files:
+ - ../var/{{ ansible_os_family }}.yml
+ - ../var/opnfv.yml
+ roles:
+ # using these roles here ensures that we can reuse this playbook in different context
+ - role: remove-folders
+ - { role: clone-repository, project: "opnfv/releng", repo: "{{ OPNFV_RELENG_GIT_URL }}", dest: "{{ OPNFV_RELENG_PATH }}", version: "{{ OPNFV_RELENG_VERSION }}" }
+ - { role: clone-repository, project: "opnfv/bifrost", repo: "{{ OPENSTACK_BIFROST_GIT_URL }}", dest: "{{ OPENSTACK_BIFROST_PATH }}", version: "{{ OPENSTACK_BIFROST_VERSION }}" }
+ tasks:
+ - name: combine opnfv/releng and openstack/bifrost scripts/playbooks
+ copy:
+ src: "{{ OPNFV_RELENG_PATH }}/prototypes/bifrost/"
+ dest: "{{ OPENSTACK_BIFROST_PATH }}"
+ - name: destroy VM nodes created by previous deployment
+ command: "/bin/bash ./scripts/destroy-env.sh"
+ args:
+ chdir: "{{ OPENSTACK_BIFROST_PATH }}"
+ - name: create and provision VM nodes for the flavor {{ XCI_FLAVOR }}
+ command: "/bin/bash ./scripts/bifrost-provision.sh"
+ args:
+ chdir: "{{ OPENSTACK_BIFROST_PATH }}"
diff --git a/xci/playbooks/roles/remove-folders/tasks/main.yml b/xci/playbooks/roles/remove-folders/tasks/main.yml
index fb321dfd..ac8c0f7d 100644
--- a/xci/playbooks/roles/remove-folders/tasks/main.yml
+++ b/xci/playbooks/roles/remove-folders/tasks/main.yml
@@ -14,6 +14,7 @@
recurse: no
with_items:
- "{{ OPNFV_RELENG_PATH }}"
+ - "{{ OPENSTACK_BIFROST_PATH }}"
- "{{ OPENSTACK_OSA_PATH }}"
- "{{ OPENSTACK_OSA_ETC_PATH }}"
- "{{ LOG_PATH }} "
diff --git a/xci/var/opnfv.yml b/xci/var/opnfv.yml
index 174d9b3b..dd3761bd 100644
--- a/xci/var/opnfv.yml
+++ b/xci/var/opnfv.yml
@@ -10,10 +10,14 @@
OPNFV_RELENG_GIT_URL: "{{ lookup('env','OPNFV_RELENG_GIT_URL') }}"
OPNFV_RELENG_PATH: "{{ lookup('env','OPNFV_RELENG_PATH') }}"
OPNFV_RELENG_VERSION: "{{ lookup('env','OPNFV_RELENG_VERSION') }}"
+OPENSTACK_BIFROST_GIT_URL: "{{ lookup('env','OPENSTACK_BIFROST_GIT_URL') }}"
+OPENSTACK_BIFROST_PATH: "{{ lookup('env','OPENSTACK_BIFROST_PATH') }}"
+OPENSTACK_BIFROST_VERSION: "{{ lookup('env','OPENSTACK_BIFROST_VERSION') }}"
OPENSTACK_OSA_GIT_URL: "{{ lookup('env','OPENSTACK_OSA_GIT_URL') }}"
OPENSTACK_OSA_PATH: "{{ lookup('env','OPENSTACK_OSA_PATH') }}"
OPENSTACK_OSA_VERSION: "{{ lookup('env','OPENSTACK_OSA_VERSION') }}"
OPENSTACK_OSA_ETC_PATH: "{{ lookup('env','OPENSTACK_OSA_ETC_PATH') }}"
+XCI_ANSIBLE_PIP_VERSION: "{{ lookup('env','XCI_ANSIBLE_PIP_VERSION') }}"
XCI_FLAVOR: "{{ lookup('env','XCI_FLAVOR') }}"
XCI_FLAVOR_ANSIBLE_FILE_PATH: "{{ lookup('env','XCI_FLAVOR_ANSIBLE_FILE_PATH') }}"
LOG_PATH: "{{ lookup('env','LOG_PATH') }}"
diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh
index 277206dc..c5cfab36 100755
--- a/xci/xci-deploy.sh
+++ b/xci/xci-deploy.sh
@@ -36,41 +36,16 @@ echo "openstack/openstack-ansible version: $OPENSTACK_OSA_VERSION"
echo "-------------------------------------------------------------------------"
#-------------------------------------------------------------------------------
-# Cleanup the leftovers from the previous deployment
+# install ansible on localhost
#-------------------------------------------------------------------------------
-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
-
-#-------------------------------------------------------------------------------
-# 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/
+pip install ansible==$XCI_ANSIBLE_PIP_VERSION
#-------------------------------------------------------------------------------
# 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)
+cd $XCI_PATH/playbooks
+ansible-playbook $ANSIBLE_VERBOSITY -i inventory provision-vm-nodes.yml
echo "-----------------------------------------------------------------------"
echo "Info: VM nodes are provisioned!"
-echo "Info: It took $(($ENDTIME - $STARTTIME)) seconds to provising the VM nodes"