xci: Use local playbooks for XCI deployments 31/48531/6
authorMarkos Chandras <mchandras@suse.de>
Wed, 6 Dec 2017 10:26:53 +0000 (10:26 +0000)
committerMarkos Chandras <mchandras@suse.de>
Mon, 11 Dec 2017 14:52:29 +0000 (14:52 +0000)
Previously, we used to clone the releng-xci repository under a directory
in /tmp, copy our changes to that repository and then run the
xci-deploy.sh script from it. However, this made things far too complex
for deployers and developers since some playbooks were used from the
local repo whereas others were used from teh /tmp checkout. By running
everything from our local repository simplifies things a lot since we
can directly test our changes and also reduces the code we have in our
playbooks.

Change-Id: If16aa51b2846c170676df82d25cb90e26b1568b2
Signed-off-by: Markos Chandras <mchandras@suse.de>
.gitignore
xci/config/env-vars
xci/config/user-vars
xci/playbooks/configure-localhost.yml
xci/playbooks/configure-opnfvhost.yml
xci/playbooks/configure-targethosts.yml
xci/playbooks/roles/clone-repository/tasks/main.yml
xci/playbooks/roles/remove-folders/tasks/main.yml [deleted file]
xci/var/opnfv.yml
xci/xci-deploy.sh

index 8e08493..af9d008 100644 (file)
@@ -45,3 +45,4 @@ _static/
 conf.py
 *.html
 html/
+xci/logs/
index a7d8696..67ce443 100755 (executable)
@@ -8,10 +8,22 @@ export OPENSTACK_OSA_GIT_URL=https://git.openstack.org/openstack/openstack-ansib
 export OPENSTACK_OSA_OPENRC_GIT_URL=https://git.openstack.org/openstack/openstack-ansible-openstack_openrc
 export OPENSTACK_OSA_ETC_PATH=/etc/openstack_deploy
 export OPNFV_HOST_IP=192.168.122.2
-export OPNFV_XCI_PATH=$OPNFV_RELENG_PATH/xci
-export XCI_FLAVOR_ANSIBLE_FILE_PATH=$OPNFV_XCI_PATH/file/$XCI_FLAVOR
+export XCI_FLAVOR_ANSIBLE_FILE_PATH=$XCI_PATH/xci/file/$XCI_FLAVOR
 export CI_LOOP=${CI_LOOP:-daily}
 export JOB_NAME=${JOB_NAME:-false}
+export XCI_CACHE=${XCI_PATH}/.cache
+export XCI_SCENARIOS_CACHE="${XCI_CACHE}/repos/scenarios"
+export XCI_PLAYBOOKS=${XCI_PATH}/xci/playbooks
+
+#-------------------------------------------------------------------------------
+# Paths where git repositories of XCI Components will be cloned
+#-------------------------------------------------------------------------------
+export OPENSTACK_BIFROST_PATH="${XCI_CACHE}/repos/bifrost"
+export OPENSTACK_OSA_PATH="${XCI_CACHE}/repos/openstack-ansible"
+
+# Logging
+export LOG_PATH=${LOG_PATH:-${XCI_PATH}/xci/logs}
+
 # This currently matches to OSA Ansible version but it doesn't really
 # matter since bifrost and OSA will use the Ansible version they need.
 # Overall, it's better to use what OSA supports so we can use new features.
index 33b8393..e5cb1fb 100755 (executable)
 export XCI_FLAVOR=${XCI_FLAVOR:-aio}
 export XCI_CEPH_ENABLED=${XCI_CEPH_ENABLED:-false}
 
-#-------------------------------------------------------------------------------
-# 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 XCI_DEVEL_ROOT=${XCI_DEVEL_ROOT:-"/tmp/.xci-deploy-env"}
-export OPNFV_RELENG_PATH="${XCI_DEVEL_ROOT}/releng-xci"
-export OPENSTACK_OSA_OPENRC_PATH="${XCI_DEVEL_ROOT}/openstack-ansible-openstack_openrc"
-export OPENSTACK_BIFROST_PATH="${XCI_DEVEL_ROOT}/bifrost"
-export OPENSTACK_OSA_PATH="${XCI_DEVEL_ROOT}/openstack-ansible"
-export OPNFV_SSH_HOST_KEYS_PATH="${XCI_DEVEL_ROOT}/ssh_host_keys"
-export XCI_SCENARIOS_CACHE="${XCI_PATH}/.cache/repos/scenarios"
-
-#-------------------------------------------------------------------------------
-# Set the playbook to use for OpenStack deployment
-#-------------------------------------------------------------------------------
-# The variable can be overriden in order to install additional OpenStack services
-# supported by OpenStack Ansible or exclude certain OpenStack services.
-#-------------------------------------------------------------------------------
-export OPNFV_OSA_PLAYBOOK=${OPNFV_OSA_PLAYBOOK:-"$OPENSTACK_OSA_PATH/playbooks/setup-openstack.yml"}
-
 #-------------------------------------------------------------------------------
 # Configure some other stuff
 #-------------------------------------------------------------------------------
@@ -55,7 +33,6 @@ export OPNFV_OSA_PLAYBOOK=${OPNFV_OSA_PLAYBOOK:-"$OPENSTACK_OSA_PATH/playbooks/s
 # or
 #   XCI_ANSIBLE_VERBOSITY="-vvvv"
 export XCI_ANSIBLE_VERBOSITY=${XCI_ANSIBLE_VERBOSITY:-""}
-export LOG_PATH=${LOG_PATH:-${XCI_DEVEL_ROOT}/opnfv/logs}
 export RUN_TEMPEST=${RUN_TEMPEST:-false}
 # Set this to to true to force XCI to re-create the target OS images
 export CLEAN_DIB_IMAGES=${CLEAN_DIB_IMAGES:-false}
index a083711..0265fd2 100644 (file)
@@ -9,77 +9,36 @@
 ##############################################################################
 - hosts: localhost
   connection: local
-  become: yes
   vars_files:
     - ../var/opnfv.yml
-  pre_tasks:
-    - name: Load distribution variables
-      include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
-  roles:
-    - role: remove-folders
 
-- hosts: localhost
-  connection: local
-  vars_files:
-    - ../var/opnfv.yml
-  pre_tasks:
-    - name: Load distribution variables
-      include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
   roles:
-    - { role: clone-repository, project: "opnfv/releng-xci", repo: "{{ OPNFV_RELENG_GIT_URL }}", dest: "{{ OPNFV_RELENG_PATH }}", version: "{{ OPNFV_RELENG_VERSION }}" }
-    - { role: clone-repository, project: "openstack/openstack-ansible-openstack_openrc", repo: "{{ OPENSTACK_OSA_OPENRC_GIT_URL }}", dest: "{{ OPENSTACK_OSA_OPENRC_PATH }}", version: "master" }
-- hosts: localhost
-  connection: local
-  vars_files:
-    - ../var/opnfv.yml
-  tasks:
-    - name: Load distribution variables
-      include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
-    - name: Synchronize local development releng-xci repository to XCI paths
-      synchronize:
-        src: "{{ XCI_PATH }}"
-        dest: "{{ OPNFV_RELENG_PATH }}"
-        recursive: yes
-        delete: yes
+    - role: clone-repository
+      project: "openstack/openstack-ansible-openstack_openrc"
+      repo: "{{ OPENSTACK_OSA_OPENRC_GIT_URL }}"
+      dest: roles/openstack-ansible-openstack_openrc
+      version: "master"
 
-- hosts: localhost
-  connection: local
-  vars_files:
-    - ../var/opnfv.yml
   tasks:
     - name: Load distribution variables
       include_vars:
         file: ../var/{{ ansible_os_family }}.yml
+    - name: cleanup leftovers of previous deployment
+      file:
+        path: "{{ item }}"
+        state: absent
+        recurse: no
+      with_items:
+        - "{{ OPENSTACK_BIFROST_PATH }}"
+        - "{{ OPENSTACK_OSA_PATH }}"
+        - "{{ OPENSTACK_OSA_ETC_PATH }}"
+        - "{{ LOG_PATH }} "
+        - "{{ OPNFV_SSH_HOST_KEYS_PATH }}"
     - name:  create log directory {{LOG_PATH}}
       file:
         path: "{{LOG_PATH}}"
         state: directory
         recurse: no
-    # when the deployment is aio, we overwrite and use playbook, configure-opnfvhost.yml, since everything gets installed on opnfv host
-    - name: copy aio playbook
-      copy:
-        src: "{{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/configure-opnfvhost.yml"
-        dest: "{{OPNFV_RELENG_PATH}}/xci/playbooks"
-      when: XCI_FLAVOR == "aio"
-    - name: copy flavor inventory
-      copy:
-        src: "{{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/inventory"
-        dest: "{{OPNFV_RELENG_PATH}}/xci/playbooks"
-    - name: copy flavor vars
-      copy:
-        src: "{{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/flavor-vars.yml"
-        dest: "{{OPNFV_RELENG_PATH}}/xci/var"
-- hosts: localhost
-  connection: local
-  vars_files:
-    - ../var/opnfv.yml
-  tasks:
-    - name: Load distribution variables
-      include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
     - name: check if certificate directory /etc/ssl/certs exists already
       stat: path=/etc/ssl/certs
       register: check_etc_ssl_certs
index 0f28845..e9e4f6b 100644 (file)
 - hosts: opnfv
   remote_user: root
   vars_files:
-    - ../var/flavor-vars.yml
     - ../var/opnfv.yml
   pre_tasks:
     - name: Load distribution variables
       include_vars:
         file: ../var/{{ ansible_os_family }}.yml
-  roles:
-    - { role: clone-repository, project: "opnfv/releng-xci", repo: "{{ OPNFV_RELENG_GIT_URL }}", dest: "{{ OPNFV_RELENG_PATH }}", version: "{{ OPNFV_RELENG_VERSION }}" }
-    - { role: clone-repository, project: "openstack/openstack-ansible", repo: "{{ OPENSTACK_OSA_GIT_URL }}", dest: "{{ OPENSTACK_OSA_PATH }}", version: "{{ OPENSTACK_OSA_VERSION }}" }
+        file: ../file/{{ XCI_FLAVOR }}/flavor-vars.yml
 
-- hosts: opnfv
-  remote_user: root
-  vars_files:
-    - ../var/opnfv.yml
-  tasks:
-    - name: Load distribution variables
-      include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
-    - name: Synchronize local development releng-xci repository to XCI paths
-      synchronize:
-        src: "{{ XCI_PATH }}"
-        dest: "{{ OPNFV_RELENG_PATH }}"
-        recursive: yes
-        delete: yes
-    - name: Synchronize local development openstack-ansible repository to XCI paths
-      synchronize:
-        src: "{{ OPENSTACK_OSA_DEV_PATH }}"
-        dest: "{{ OPENSTACK_OSA_PATH }}"
-        recursive: yes
-        delete: yes
-      when:
-        - OPENSTACK_OSA_DEV_PATH != ""
+  roles:
+    - role: clone-repository
+      project: "openstack/openstack-ansible"
+      repo: "{{ OPENSTACK_OSA_GIT_URL }}"
+      dest: "{{ OPENSTACK_OSA_PATH }}"
+      version: "{{ OPENSTACK_OSA_VERSION }}"
 
 - hosts: opnfv
   remote_user: root
   vars_files:
-    - ../var/flavor-vars.yml
     - ../var/opnfv.yml
   pre_tasks:
     - name: Load distribution variables
       include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
+        file: "{{ item }}"
+      with_items:
+        - ../var/{{ ansible_os_family }}.yml
+        - ../file/{{ XCI_FLAVOR }}/flavor-vars.yml
+
   roles:
       - role: configure-network
+
   tasks:
     - name: generate SSH keys
       shell: ssh-keygen -b 2048 -t rsa -f /root/.ssh/id_rsa -q -N ""
       args:
-        creates: /root/.ssh/id_rsa
-    - name: ensure ssh key storage directory exists
-      file:
-        path: "{{ OPNFV_SSH_HOST_KEYS_PATH }}"
-        state: directory
+        creates: "{{ ansible_env.HOME }}/.ssh/id_rsa"
     - name: fetch public key
-      fetch: src="/root/.ssh/id_rsa.pub" dest="{{ OPNFV_SSH_HOST_KEYS_PATH }}"
+      fetch:
+        src: "{{ ansible_env.HOME }}/.ssh/id_rsa.pub"
+        dest: "../file/authorized_keys"
+        flat: yes
+    - name: Set facts for remote deployment
+      set_fact:
+        remote_xci_path: "{{ ansible_env.HOME }}/releng-xci"
+        remote_xci_flavor_files: "{{ ansible_env.HOME }}/releng-xci/xci/file/{{ XCI_FLAVOR }}"
+        remote_xci_playbooks: "{{ ansible_env.HOME }}/releng-xci/xci/playbooks"
+    - name: Copy releng-xci to remote host
+      synchronize:
+        src: "{{ XCI_PATH }}/"
+        dest: "{{ remote_xci_path }}"
+        recursive: yes
+        delete: yes
     - name: copy flavor inventory
-      shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/inventory {{OPNFV_RELENG_PATH}}/xci/playbooks"
-    - name: copy flavor vars
-      shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/flavor-vars.yml {{OPNFV_RELENG_PATH}}/xci/var"
+      shell: "/bin/cp -rf {{ remote_xci_flavor_files }}/inventory {{ remote_xci_playbooks }}"
     - name: copy openstack_deploy
       shell: "/bin/cp -rf {{OPENSTACK_OSA_PATH}}/etc/openstack_deploy {{OPENSTACK_OSA_ETC_PATH}}"
     - name: copy openstack_user_config.yml
-      shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/openstack_user_config.yml {{OPENSTACK_OSA_ETC_PATH}}"
+      shell: "/bin/cp -rf {{ remote_xci_flavor_files }}/openstack_user_config.yml {{OPENSTACK_OSA_ETC_PATH}}"
     - name: copy all user override files
-      shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/user_variables.yml {{OPENSTACK_OSA_ETC_PATH}}"
+      shell: "/bin/cp -rf {{ remote_xci_flavor_files }}/user_variables.yml {{OPENSTACK_OSA_ETC_PATH}}"
     - name: copy cinder.yml
-      shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/xci/file/cinder.yml {{OPENSTACK_OSA_ETC_PATH}}/env.d"
+      shell: "/bin/cp -rf {{ remote_xci_path }}/xci/file/cinder.yml {{OPENSTACK_OSA_ETC_PATH}}/env.d"
     - name: Configure AIO tempest
       lineinfile:
         path: "{{ OPENSTACK_OSA_ETC_PATH }}/user_variables.yml"
         - "tempest_run"
     - block:
         - name: copy ceph.yml
-          shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/ceph.yml {{OPENSTACK_OSA_ETC_PATH}}/conf.d/"
+          shell: "/bin/cp -rf {{ remote_xci_flavor_files }}/ceph.yml {{OPENSTACK_OSA_ETC_PATH}}/conf.d/"
         - name: copy user_ceph.yml
-          shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/user_ceph.yml {{OPENSTACK_OSA_ETC_PATH}}/user_ceph.yml"
+          shell: "/bin/cp -rf {{ remote_xci_flavor_files }}/user_ceph.yml {{OPENSTACK_OSA_ETC_PATH}}/user_ceph.yml"
         - name: copy user_variables_ceph.yml
-          shell: "/bin/cp -rf {{XCI_FLAVOR_ANSIBLE_FILE_PATH}}/user_variables_ceph.yml {{OPENSTACK_OSA_ETC_PATH}}/user_variables_ceph.yml"
+          shell: "/bin/cp -rf {{ remote_xci_flavor_files }}/user_variables_ceph.yml {{OPENSTACK_OSA_ETC_PATH}}/user_variables_ceph.yml"
       when: XCI_CEPH_ENABLED == "true"
     # TODO: We need to get rid of this as soon as the issue is fixed upstream
     - name: change the haproxy state from disable to enable
         regexp: '(\s+)haproxy_state: disabled'
         replace: '\1haproxy_state: enabled'
     - name: copy OPNFV OpenStack playbook
-      shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/xci/file/setup-openstack.yml {{OPENSTACK_OSA_PATH}}/playbooks"
+      shell: "/bin/cp -rf {{ remote_xci_path }}/xci/file/setup-openstack.yml {{OPENSTACK_OSA_PATH}}/playbooks"
     - name: copy pinned versions of OSA Roles and global requirements
-      shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/xci/file/{{ item }} {{OPENSTACK_OSA_PATH}}/{{ item }}"
+      shell: "/bin/cp -rf {{ remote_xci_path }}/xci/file/{{ item }} {{OPENSTACK_OSA_PATH}}/{{ item }}"
       with_items:
         - "ansible-role-requirements.yml"
         - "global-requirement-pins.txt"
       when:
         - OPENSTACK_OSA_VERSION != "master"
     - name: copy pinned versions of OpenStack services
-      shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/xci/file/openstack_services.yml {{OPENSTACK_OSA_PATH}}/playbooks/defaults/repo_packages/openstack_services.yml"
+      shell: "/bin/cp -rf {{ remote_xci_path }}/xci/file/openstack_services.yml {{OPENSTACK_OSA_PATH}}/playbooks/defaults/repo_packages/openstack_services.yml"
       when:
         - OPENSTACK_OSA_VERSION != "master"
     - include: bootstrap-scenarios.yml
   vars_files:
     - ../var/opnfv.yml
   tasks:
-    - name: Generate authorized_keys
-      shell: "/bin/cat {{ OPNFV_SSH_HOST_KEYS_PATH }}/opnfv/root/.ssh/id_rsa.pub >> ../file/authorized_keys"
     - name: Append public keys to authorized_keys
       shell: "/bin/cat {{ ansible_env.HOME }}/.ssh/id_rsa.pub >> ../file/authorized_keys"
 
 - hosts: opnfv
   remote_user: root
   vars_files:
-    - ../var/flavor-vars.yml
     - ../var/opnfv.yml
-    - "{{ XCI_FLAVOR_ANSIBLE_FILE_PATH }}/user_variables.yml"
   pre_tasks:
     - name: Load distribution variables
       include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
+        file: "{{ item }}"
+      with_items:
+        - ../var/opnfv.yml
+        - ../var/{{ ansible_os_family }}.yml
+        - ../file/{{ XCI_FLAVOR }}/flavor-vars.yml
+        - ../file/{{ XCI_FLAVOR }}/user_variables.yml
   roles:
     - role: "openstack-ansible-openstack_openrc"
+
   tasks:
     - name: add extra insecure flag to generated openrc
       blockinfile:
     - name: fetch generated openrc
       fetch:
         src: "{{ ansible_env.HOME }}/openrc"
-        dest: "{{ XCI_DEVEL_ROOT }}/"
+        dest: "{{ XCI_PATH }}/.cache/openrc"
         flat: true
index b7b09cf..d136f43 100644 (file)
 - hosts: controller
   remote_user: root
   vars_files:
-    - ../var/flavor-vars.yml
+    - ../var/opnfv.yml
+
   pre_tasks:
     - name: Load distribution variables
       include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
+        file: "{{ item }}"
+      with_items:
+        - ../var/{{ ansible_os_family }}.yml
+        - ../file/{{ XCI_FLAVOR }}/flavor-vars.yml
   roles:
     - role: configure-network
     # we need to force sync time with ntp or the nodes will be out of sync timewise
 - hosts: compute
   remote_user: root
   vars_files:
-    - ../var/flavor-vars.yml
     - ../var/opnfv.yml
+
   pre_tasks:
     - name: Load distribution variables
       include_vars:
-        file: ../var/{{ ansible_os_family }}.yml
+        file: "{{ item }}"
+      with_items:
+        - ../var/opnfv.yml
+        - ../var/{{ ansible_os_family }}.yml
+        - ../file/{{ XCI_FLAVOR }}/flavor-vars.yml
   roles:
     - role: configure-network
     # we need to force sync time with ntp or the nodes will be out of sync timewise
index 3f7e091..a124003 100644 (file)
@@ -12,3 +12,4 @@
     repo: "{{ repo }}"
     dest: "{{ dest }}"
     version: "{{ version }}"
+    force: yes
diff --git a/xci/playbooks/roles/remove-folders/tasks/main.yml b/xci/playbooks/roles/remove-folders/tasks/main.yml
deleted file mode 100644 (file)
index cb81dae..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# 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
-##############################################################################
-- name: cleanup leftovers of previous deployment
-  file:
-    path: "{{ item }}"
-    state: absent
-    recurse: no
-  with_items:
-    - "{{ OPNFV_RELENG_PATH }}"
-    - "{{ OPENSTACK_BIFROST_PATH }}"
-    - "{{ OPENSTACK_OSA_PATH }}"
-    - "{{ OPENSTACK_OSA_ETC_PATH }}"
-    - "{{ XCI_DEVEL_ROOT }}"
-    - "{{ LOG_PATH }} "
-    - "{{ OPNFV_SSH_HOST_KEYS_PATH }}"
index 9eefe6c..f13a94e 100644 (file)
@@ -8,8 +8,6 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 OPNFV_RELENG_GIT_URL: "{{ lookup('env','OPNFV_RELENG_GIT_URL') }}"
-OPNFV_RELENG_PATH: "{{ lookup('env','OPNFV_RELENG_PATH') }}"
-XCI_DEVEL_ROOT: "{{ lookup('env','XCI_DEVEL_ROOT') }}"
 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') }}"
@@ -18,15 +16,15 @@ OPENSTACK_BIFROST_VERSION: "{{ lookup('env','OPENSTACK_BIFROST_VERSION') }}"
 OPENSTACK_OSA_GIT_URL: "{{ lookup('env','OPENSTACK_OSA_GIT_URL') }}"
 OPENSTACK_OSA_OPENRC_GIT_URL: "{{ lookup('env', 'OPENSTACK_OSA_OPENRC_GIT_URL') }}"
 OPENSTACK_OSA_PATH: "{{ lookup('env','OPENSTACK_OSA_PATH') }}"
-OPENSTACK_OSA_OPENRC_PATH: "{{ lookup('env', 'OPENSTACK_OSA_OPENRC_PATH') }}"
 OPENSTACK_OSA_DEV_PATH: "{{ lookup('env','OPENSTACK_OSA_DEV_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_CACHE: "{{ lookup('env', 'XCI_CACHE') }}"
 XCI_FLAVOR: "{{ lookup('env','XCI_FLAVOR') }}"
 XCI_FLAVOR_ANSIBLE_FILE_PATH: "{{ lookup('env','XCI_FLAVOR_ANSIBLE_FILE_PATH') }}"
 XCI_LOOP: "{{ lookup('env','XCI_LOOP') }}"
-XCI_PATH: "{{ lookup('env', 'XCI_PATH') }}/"
+XCI_PATH: "{{ lookup('env', 'XCI_PATH') }}"
 XCI_SCENARIOS_CACHE: "{{ lookup('env', 'XCI_SCENARIOS_CACHE') }}"
 LOG_PATH: "{{ lookup('env','LOG_PATH') }}"
 OPNFV_HOST_IP: "{{ lookup('env','OPNFV_HOST_IP') }}"
index d5e41f6..47cc5dc 100755 (executable)
@@ -163,7 +163,7 @@ echo "-------------------------------------------------------------------------"
 sudo sed -i "s/^Defaults.*env_reset/#&/" /etc/sudoers
 cd $XCI_PATH/bifrost/
 sudo -E bash ./scripts/destroy-env.sh
-cd $XCI_PATH/xci/playbooks
+cd $XCI_PLAYBOOKS
 ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory provision-vm-nodes.yml
 cd ${OPENSTACK_BIFROST_PATH}
 bash ./scripts/bifrost-provision.sh
@@ -181,7 +181,7 @@ echo "Info: VM nodes are provisioned!"
 
 echo "Info: Configuring localhost for openstack-ansible"
 echo "-----------------------------------------------------------------------"
-cd $XCI_PATH/xci/playbooks
+cd $XCI_PLAYBOOKS
 ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory configure-localhost.yml
 echo "-----------------------------------------------------------------------"
 echo "Info: Configured localhost host for openstack-ansible"
@@ -199,8 +199,9 @@ echo "Info: Configured localhost host for openstack-ansible"
 #-------------------------------------------------------------------------------
 echo "Info: Configuring opnfv deployment host for openstack-ansible"
 echo "-----------------------------------------------------------------------"
-cd ${XCI_DEVEL_ROOT}
-ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i ${OPNFV_XCI_PATH}/playbooks/inventory ${OPNFV_XCI_PATH}/playbooks/configure-opnfvhost.yml
+cd $XCI_PLAYBOOKS
+ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i ${XCI_FLAVOR_ANSIBLE_FILE_PATH}/inventory \
+    configure-opnfvhost.yml
 echo "-----------------------------------------------------------------------"
 echo "Info: Configured opnfv deployment host for openstack-ansible"
 
@@ -218,8 +219,9 @@ echo "Info: Configured opnfv deployment host for openstack-ansible"
 if [[ $XCI_FLAVOR != "aio" ]]; then
     echo "Info: Configuring target hosts for openstack-ansible"
     echo "-----------------------------------------------------------------------"
-    cd $OPNFV_XCI_PATH/playbooks
-    ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i inventory configure-targethosts.yml
+    cd $XCI_PLAYBOOKS
+    ansible-playbook ${XCI_ANSIBLE_VERBOSITY} -i ${XCI_FLAVOR_ANSIBLE_FILE_PATH}/inventory \
+        configure-targethosts.yml
     echo "-----------------------------------------------------------------------"
     echo "Info: Configured target hosts"
 fi