summaryrefslogtreecommitdiffstats
path: root/xci
diff options
context:
space:
mode:
Diffstat (limited to 'xci')
-rwxr-xr-xxci/config/env-vars16
-rwxr-xr-xxci/config/user-vars26
-rw-r--r--xci/playbooks/bootstrap-scenarios.yml4
-rw-r--r--xci/playbooks/configure-localhost.yml73
-rw-r--r--xci/playbooks/configure-opnfvhost.yml99
-rw-r--r--xci/playbooks/configure-targethosts.yml16
-rw-r--r--xci/playbooks/provision-vm-nodes.yml27
-rw-r--r--xci/playbooks/roles/clone-repository/tasks/main.yml1
-rw-r--r--xci/playbooks/roles/remove-folders/tasks/main.yml22
-rwxr-xr-xxci/scripts/update-osa-version-files.sh2
-rw-r--r--xci/var/opnfv.yml6
-rwxr-xr-xxci/xci-deploy.sh30
12 files changed, 122 insertions, 200 deletions
diff --git a/xci/config/env-vars b/xci/config/env-vars
index a7d8696f..67ce443e 100755
--- a/xci/config/env-vars
+++ b/xci/config/env-vars
@@ -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.
diff --git a/xci/config/user-vars b/xci/config/user-vars
index 14c0ca45..e5cb1fbf 100755
--- a/xci/config/user-vars
+++ b/xci/config/user-vars
@@ -24,28 +24,6 @@ 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
#-------------------------------------------------------------------------------
# Set the verbosity for ansible
@@ -55,10 +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}
-# Set this to a full path pointing to extra config files (containing
-# group_vars/all)
-export XCI_EXTRA_VARS_PATH=${XCI_EXTRA_VARS_PATH:-""}
diff --git a/xci/playbooks/bootstrap-scenarios.yml b/xci/playbooks/bootstrap-scenarios.yml
index d7b43dd6..c7646e0d 100644
--- a/xci/playbooks/bootstrap-scenarios.yml
+++ b/xci/playbooks/bootstrap-scenarios.yml
@@ -17,3 +17,7 @@
include_role:
name: "os-odl-nofeature"
when: OPNFV_SCENARIO == 'os-odl-nofeature'
+- name: Prepare everything to run the os-odl-sfc scenario
+ include_role:
+ name: "os-odl-sfc"
+ when: OPNFV_SCENARIO == 'os-odl-sfc'
diff --git a/xci/playbooks/configure-localhost.yml b/xci/playbooks/configure-localhost.yml
index a0837117..0265fd2c 100644
--- a/xci/playbooks/configure-localhost.yml
+++ b/xci/playbooks/configure-localhost.yml
@@ -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
diff --git a/xci/playbooks/configure-opnfvhost.yml b/xci/playbooks/configure-opnfvhost.yml
index 0f288459..e9e4f6bb 100644
--- a/xci/playbooks/configure-opnfvhost.yml
+++ b/xci/playbooks/configure-opnfvhost.yml
@@ -10,73 +10,66 @@
- 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"
@@ -87,11 +80,11 @@
- "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
@@ -100,16 +93,16 @@
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
@@ -172,23 +165,25 @@
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:
@@ -199,5 +194,5 @@
- name: fetch generated openrc
fetch:
src: "{{ ansible_env.HOME }}/openrc"
- dest: "{{ XCI_DEVEL_ROOT }}/"
+ dest: "{{ XCI_PATH }}/.cache/openrc"
flat: true
diff --git a/xci/playbooks/configure-targethosts.yml b/xci/playbooks/configure-targethosts.yml
index b7b09cfb..d136f436 100644
--- a/xci/playbooks/configure-targethosts.yml
+++ b/xci/playbooks/configure-targethosts.yml
@@ -10,11 +10,15 @@
- 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
@@ -23,12 +27,16 @@
- 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
diff --git a/xci/playbooks/provision-vm-nodes.yml b/xci/playbooks/provision-vm-nodes.yml
index aa55f6ce..8e91741e 100644
--- a/xci/playbooks/provision-vm-nodes.yml
+++ b/xci/playbooks/provision-vm-nodes.yml
@@ -10,15 +10,6 @@
- hosts: localhost
connection: local
gather_facts: true
- become: yes
- vars_files:
- - ../var/opnfv.yml
- roles:
- - role: remove-folders
-
-- hosts: localhost
- connection: local
- gather_facts: true
vars_files:
- ../var/opnfv.yml
pre_tasks:
@@ -26,7 +17,6 @@
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: "opnfv/bifrost", repo: "{{ OPENSTACK_BIFROST_GIT_URL }}", dest: "{{ OPENSTACK_BIFROST_PATH }}", version: "{{ OPENSTACK_BIFROST_VERSION }}" }
tasks:
@@ -42,22 +32,7 @@
delete: yes
when:
- OPENSTACK_BIFROST_DEV_PATH != ""
- - name: Synchronize local development releng-xci repository to XCI paths
- synchronize:
- src: "{{ XCI_PATH }}"
- dest: "{{ OPNFV_RELENG_PATH }}"
- recursive: yes
- delete: yes
- - name: Copy extra vars to releng-xci and bifrost
- synchronize:
- src: "{{ XCI_EXTRA_VARS_PATH }}"
- dest: "{{ item }}"
- with_items:
- - "{{ OPNFV_RELENG_PATH }}/xci/playbooks"
- - "{{ OPENSTACK_BIFROST_PATH }}/playbooks/inventory"
- when:
- - XCI_EXTRA_VARS_PATH != ""
- name: combine opnfv/releng-xci and openstack/bifrost scripts/playbooks
copy:
- src: "{{ OPNFV_RELENG_PATH }}/bifrost/"
+ src: "{{ XCI_PATH}}/bifrost/"
dest: "{{ OPENSTACK_BIFROST_PATH }}"
diff --git a/xci/playbooks/roles/clone-repository/tasks/main.yml b/xci/playbooks/roles/clone-repository/tasks/main.yml
index 3f7e0910..a124003d 100644
--- a/xci/playbooks/roles/clone-repository/tasks/main.yml
+++ b/xci/playbooks/roles/clone-repository/tasks/main.yml
@@ -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
index cb81dae9..00000000
--- a/xci/playbooks/roles/remove-folders/tasks/main.yml
+++ /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 }}"
diff --git a/xci/scripts/update-osa-version-files.sh b/xci/scripts/update-osa-version-files.sh
index edd09da4..52e21ca5 100755
--- a/xci/scripts/update-osa-version-files.sh
+++ b/xci/scripts/update-osa-version-files.sh
@@ -53,7 +53,7 @@ popd &> /dev/null
pushd $tempdir/openstack-ansible &> /dev/null
source scripts/sources-branch-updater-lib.sh
printme "Synchronize roles and packages"
-update_ansible_role_requirements "master" "true" "true"
+update_ansible_role_requirements "${OPENSTACK_OSA_VERSION:-master}" "true" "true"
# Construct the ansible-role-requirements-file
echo """---
diff --git a/xci/var/opnfv.yml b/xci/var/opnfv.yml
index 9eefe6c1..f13a94e8 100644
--- a/xci/var/opnfv.yml
+++ b/xci/var/opnfv.yml
@@ -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') }}"
diff --git a/xci/xci-deploy.sh b/xci/xci-deploy.sh
index d5e41f66..0223d7d5 100755
--- a/xci/xci-deploy.sh
+++ b/xci/xci-deploy.sh
@@ -4,6 +4,7 @@ set -o nounset
set -o pipefail
submit_bug_report() {
+ cd ${XCI_PATH}
echo ""
echo "-------------------------------------------------------------------------"
echo "Oh nooooo! The XCI deployment failed miserably :-("
@@ -86,6 +87,7 @@ echo "xci flavor: $XCI_FLAVOR"
echo "opnfv/releng-xci version: $(git rev-parse HEAD)"
echo "openstack/bifrost version: $OPENSTACK_BIFROST_VERSION"
echo "openstack/openstack-ansible version: $OPENSTACK_OSA_VERSION"
+echo "OPNFV scenario: $OPNFV_SCENARIO"
echo "-------------------------------------------------------------------------"
#-------------------------------------------------------------------------------
@@ -126,6 +128,20 @@ if [[ $OS_FAMILY == RedHat ]]; then
exit 1
fi
+if [[ ${OPENSTACK_OSA_VERSION} =~ "stable/" ]]; then
+ echo ""
+ echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ echo "WARNING: We have detected that you are trying to use a stable OpenStack-Ansible."
+ echo "This will likely not work because, unless you know what you are doing, you are going"
+ echo "to be mixing roles and services from the master branch with a stable OpenStack-Ansible."
+ echo "This is _NOT_ supported in any way but we can try to make it work for you."
+ echo "Either way you are on your own so please do not report bugs as they will be considered invalid."
+ echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ echo ""
+ sleep 15
+ trap - ERR
+ ${XCI_PATH}/xci/scripts/update-osa-version-files.sh ${OPENSTACK_OSA_VERSION}
+fi
# TODO: The xci playbooks can be put into a playbook which will be done later.
# Clone OPNFV scenario repositories
@@ -163,7 +179,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 +197,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 +215,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 +235,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