From 85e4ce8129d18be4c0918213b7565f7402faef50 Mon Sep 17 00:00:00 2001 From: caoyuan Date: Thu, 18 Jan 2018 16:31:31 +0800 Subject: [PATCH] dev mode: Add support for trove Allows users to develop of Trove using Kolla. Partially implements: blueprint mount-sources Co-Authored-By: zhulingjie Change-Id: I4db447a487baec822723deb383029dd6840f1606 --- ansible/roles/trove/defaults/main.yml | 11 +++++++++++ ansible/roles/trove/handlers/main.yml | 6 +++--- ansible/roles/trove/tasks/bootstrap_service.yml | 2 +- ansible/roles/trove/tasks/clone.yml | 6 ++++++ ansible/roles/trove/tasks/config.yml | 2 +- ansible/roles/trove/tasks/deploy.yml | 3 +++ 6 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 ansible/roles/trove/tasks/clone.yml diff --git a/ansible/roles/trove/defaults/main.yml b/ansible/roles/trove/defaults/main.yml index 0c2ff8959e..94e2ac4016 100644 --- a/ansible/roles/trove/defaults/main.yml +++ b/ansible/roles/trove/defaults/main.yml @@ -11,6 +11,7 @@ trove_services: - "{{ node_config_directory }}/trove-api/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/trove/trove:/var/lib/kolla/venv/lib/python2.7/site-packages/trove' if trove_dev_mode | bool else '' }}" - "trove:/var/lib/trove/" trove-conductor: container_name: trove_conductor @@ -21,6 +22,7 @@ trove_services: - "{{ node_config_directory }}/trove-conductor/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/trove/trove:/var/lib/kolla/venv/lib/python2.7/site-packages/trove' if trove_dev_mode | bool else '' }}" - "trove:/var/lib/trove/" trove-taskmanager: container_name: trove_taskmanager @@ -31,6 +33,7 @@ trove_services: - "{{ node_config_directory }}/trove-taskmanager/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/trove/trove:/var/lib/kolla/venv/lib/python2.7/site-packages/trove' if trove_dev_mode | bool else '' }}" - "trove:/var/lib/trove/" @@ -73,3 +76,11 @@ trove_logging_debug: "{{ openstack_logging_debug }}" trove_keystone_user: "trove" openstack_trove_auth: "{{ openstack_auth }}" + + +#################### +# Kolla +#################### +trove_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}" +trove_dev_repos_pull: "{{ kolla_dev_repos_pull }}" +trove_dev_mode: "{{ kolla_dev_mode }}" diff --git a/ansible/roles/trove/handlers/main.yml b/ansible/roles/trove/handlers/main.yml index 4dd46d2199..5f85426750 100644 --- a/ansible/roles/trove/handlers/main.yml +++ b/ansible/roles/trove/handlers/main.yml @@ -12,7 +12,7 @@ common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" - volumes: "{{ service.volumes }}" + volumes: "{{ service.volumes|reject('equalto', '')|list }}" when: - kolla_action != "config" - inventory_hostname in groups[service.group] @@ -34,7 +34,7 @@ common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" - volumes: "{{ service.volumes }}" + volumes: "{{ service.volumes|reject('equalto', '')|list }}" when: - kolla_action != "config" - inventory_hostname in groups[service.group] @@ -56,7 +56,7 @@ common_options: "{{ docker_common_options }}" name: "{{ service.container_name }}" image: "{{ service.image }}" - volumes: "{{ service.volumes }}" + volumes: "{{ service.volumes|reject('equalto', '')|list }}" when: - kolla_action != "config" - inventory_hostname in groups[service.group] diff --git a/ansible/roles/trove/tasks/bootstrap_service.yml b/ansible/roles/trove/tasks/bootstrap_service.yml index f643475132..7a6811b079 100644 --- a/ansible/roles/trove/tasks/bootstrap_service.yml +++ b/ansible/roles/trove/tasks/bootstrap_service.yml @@ -15,6 +15,6 @@ BOOTSTRAP: name: "bootstrap_trove" restart_policy: "never" - volumes: "{{ trove_api.volumes }}" + volumes: "{{ trove_api.volumes|reject('equalto', '')|list }}" run_once: True delegate_to: "{{ groups[trove_api.group][0] }}" diff --git a/ansible/roles/trove/tasks/clone.yml b/ansible/roles/trove/tasks/clone.yml new file mode 100644 index 0000000000..5837eacf25 --- /dev/null +++ b/ansible/roles/trove/tasks/clone.yml @@ -0,0 +1,6 @@ +--- +- name: Cloning trove source repository for development + git: + repo: "{{ trove_git_repository }}" + dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}" + update: "{{ trove_dev_repos_pull }}" diff --git a/ansible/roles/trove/tasks/config.yml b/ansible/roles/trove/tasks/config.yml index 925a09aa0a..0554848cb6 100644 --- a/ansible/roles/trove/tasks/config.yml +++ b/ansible/roles/trove/tasks/config.yml @@ -78,7 +78,7 @@ common_options: "{{ docker_common_options }}" name: "{{ item.value.container_name }}" image: "{{ item.value.image }}" - volumes: "{{ item.value.volumes }}" + volumes: "{{ item.value.volumes|reject('equalto', '')|list }}" register: check_trove_containers when: - kolla_action != "config" diff --git a/ansible/roles/trove/tasks/deploy.yml b/ansible/roles/trove/tasks/deploy.yml index 80a1326be2..484571f6a5 100644 --- a/ansible/roles/trove/tasks/deploy.yml +++ b/ansible/roles/trove/tasks/deploy.yml @@ -7,6 +7,9 @@ inventory_hostname in groups['trove-conductor'] or inventory_hostname in groups['trove-taskmanager'] +- include: clone.yml + when: trove_dev_mode | bool + - include: bootstrap.yml when: inventory_hostname in groups['trove-api']