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-Url: https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=commitdiff_plain;h=21f9500be4da1332fdd41260a3e1f4761f857219 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/prototypes/xci/playbooks/configure-localhost.yml b/prototypes/xci/playbooks/configure-localhost.yml index e2024dd86..b6d0fccb7 100644 --- a/prototypes/xci/playbooks/configure-localhost.yml +++ b/prototypes/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/prototypes/xci/playbooks/configure-opnfvhost.yml b/prototypes/xci/playbooks/configure-opnfvhost.yml index 64fcef0db..28e6b2178 100644 --- a/prototypes/xci/playbooks/configure-opnfvhost.yml +++ b/prototypes/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/prototypes/xci/playbooks/provision-vm-nodes.yml b/prototypes/xci/playbooks/provision-vm-nodes.yml index dad0184f1..8be36c7a9 100644 --- a/prototypes/xci/playbooks/provision-vm-nodes.yml +++ b/prototypes/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/prototypes/xci/var/opnfv.yml b/prototypes/xci/var/opnfv.yml index 12cb55675..aa84d7b54 100644 --- a/prototypes/xci/var/opnfv.yml +++ b/prototypes/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') }}"