diff options
Diffstat (limited to 'xci')
-rwxr-xr-x | xci/config/env-vars | 16 | ||||
-rwxr-xr-x | xci/config/user-vars | 26 | ||||
-rw-r--r-- | xci/playbooks/bootstrap-scenarios.yml | 4 | ||||
-rw-r--r-- | xci/playbooks/configure-localhost.yml | 73 | ||||
-rw-r--r-- | xci/playbooks/configure-opnfvhost.yml | 99 | ||||
-rw-r--r-- | xci/playbooks/configure-targethosts.yml | 16 | ||||
-rw-r--r-- | xci/playbooks/provision-vm-nodes.yml | 27 | ||||
-rw-r--r-- | xci/playbooks/roles/clone-repository/tasks/main.yml | 1 | ||||
-rw-r--r-- | xci/playbooks/roles/remove-folders/tasks/main.yml | 22 | ||||
-rwxr-xr-x | xci/scripts/update-osa-version-files.sh | 2 | ||||
-rw-r--r-- | xci/var/opnfv.yml | 6 | ||||
-rwxr-xr-x | xci/xci-deploy.sh | 30 |
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 |