From: Markos Chandras Date: Tue, 9 May 2017 20:20:59 +0000 (+0100) Subject: prototypes: xci: Add ability to use local repositories for testing X-Git-Tag: 6.0.0~369 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=f004ad478b359709dd8a886085f8e13a224e6f24;p=releng-xci.git prototypes: xci: Add ability to use local repositories for testing When developing XCI features it's useful to be able to use the local repositories rather than cloning them from git since that makes it harder to test local modifications against XCI. As such, we add three new variables which can be used to hold local paths to the bifrost, releng and openstack-ansible repositories. We are still cloning the repositories but we then use the 'synchronize' Ansible module to copy modified files from the local repositories. Change-Id: I6d593ea48d8b9c51415d9d0848f77a498ef2f486 Signed-off-by: Markos Chandras --- diff --git a/xci/playbooks/configure-localhost.yml b/xci/playbooks/configure-localhost.yml index e2024dd8..b6d0fccb 100644 --- a/xci/playbooks/configure-localhost.yml +++ b/xci/playbooks/configure-localhost.yml @@ -15,6 +15,28 @@ roles: - role: remove-folders - { role: clone-repository, project: "opnfv/releng", repo: "{{ OPNFV_RELENG_GIT_URL }}", dest: "{{ OPNFV_RELENG_PATH }}", version: "{{ OPNFV_RELENG_VERSION }}" } + +- hosts: localhost + connection: local + gather_facts: false + vars_files: + - ../var/{{ ansible_os_family }}.yml + - ../var/opnfv.yml + tasks: + - name: Synchronize local development releng repository to XCI paths + synchronize: + src: "{{ OPNFV_RELENG_DEV_PATH }}" + dest: "{{ OPNFV_RELENG_PATH }}" + recursive: yes + delete: yes + when: + - OPNFV_RELENG_DEV_PATH != "" + +- hosts: localhost + connection: local + vars_files: + - ../var/{{ ansible_os_family }}.yml + - ../var/opnfv.yml tasks: - name: create log directory {{LOG_PATH}} file: diff --git a/xci/playbooks/configure-opnfvhost.yml b/xci/playbooks/configure-opnfvhost.yml index 64fcef0d..28e6b217 100644 --- a/xci/playbooks/configure-opnfvhost.yml +++ b/xci/playbooks/configure-opnfvhost.yml @@ -17,6 +17,37 @@ - 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: "openstack/openstack-ansible", repo: "{{ OPENSTACK_OSA_GIT_URL }}", dest: "{{ OPENSTACK_OSA_PATH }}", version: "{{ OPENSTACK_OSA_VERSION }}" } + +- hosts: opnfv + remote_user: root + vars_files: + - ../var/{{ ansible_os_family }}.yml + - ../var/opnfv.yml + tasks: + - name: Synchronize local development releng repository to XCI paths + synchronize: + src: "{{ OPNFV_RELENG_DEV_PATH }}" + dest: "{{ OPNFV_RELENG_PATH }}" + recursive: yes + delete: yes + when: + - OPNFV_RELENG_DEV_PATH != "" + - 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 != "" + +- hosts: opnfv + remote_user: root + vars_files: + - ../var/{{ ansible_os_family }}.yml + - ../var/flavor-vars.yml + - ../var/opnfv.yml + roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/opnfv.interface.j2", dest: "/etc/network/interfaces" } tasks: diff --git a/xci/playbooks/provision-vm-nodes.yml b/xci/playbooks/provision-vm-nodes.yml index dad0184f..8be36c7a 100644 --- a/xci/playbooks/provision-vm-nodes.yml +++ b/xci/playbooks/provision-vm-nodes.yml @@ -17,6 +17,38 @@ - 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 }}" } + +- hosts: localhost + connection: local + gather_facts: false + vars_files: + - ../var/{{ ansible_os_family }}.yml + - ../var/opnfv.yml + tasks: + - name: Synchronize local development bifrost repository to XCI paths + # command module is much faster than the copy module + synchronize: + src: "{{ OPENSTACK_BIFROST_DEV_PATH }}" + dest: "{{ OPENSTACK_BIFROST_PATH }}" + recursive: yes + delete: yes + when: + - OPENSTACK_BIFROST_DEV_PATH != "" + - name: Synchronize local development releng repository to XCI paths + synchronize: + src: "{{ OPNFV_RELENG_DEV_PATH }}" + dest: "{{ OPNFV_RELENG_PATH }}" + recursive: yes + delete: yes + when: + - OPNFV_RELENG_DEV_PATH != "" + +- hosts: localhost + connection: local + gather_facts: false + vars_files: + - ../var/{{ ansible_os_family }}.yml + - ../var/opnfv.yml tasks: - name: combine opnfv/releng and openstack/bifrost scripts/playbooks copy: diff --git a/xci/var/opnfv.yml b/xci/var/opnfv.yml index 12cb5567..aa84d7b5 100644 --- a/xci/var/opnfv.yml +++ b/xci/var/opnfv.yml @@ -9,12 +9,15 @@ ############################################################################## OPNFV_RELENG_GIT_URL: "{{ lookup('env','OPNFV_RELENG_GIT_URL') }}" OPNFV_RELENG_PATH: "{{ lookup('env','OPNFV_RELENG_PATH') }}" +OPNFV_RELENG_DEV_PATH: "{{ lookup('env','OPNFV_RELENG_DEV_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_DEV_PATH: "{{ lookup('env','OPENSTACK_BIFROST_DEV_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_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') }}"