From be3dc2f76705d07981b52b87046e16e0e6bf0c03 Mon Sep 17 00:00:00 2001 From: caoyuan Date: Fri, 13 Apr 2018 00:45:39 +0800 Subject: [PATCH] Provide support for manila dev mode in kolla Add a possibility to mount sources as volumes to containers, in "more than documentation" way. That will let us to use kolla as a replacement for devstack. Partially implements: blueprint mount-sources Change-Id: I4fe7bf54ad6aaeca75e1b56172a11bb6e00b1539 --- ansible/roles/manila/defaults/main.yml | 12 ++++++++++++ ansible/roles/manila/tasks/bootstrap_service.yml | 2 +- ansible/roles/manila/tasks/clone.yml | 6 ++++++ ansible/roles/manila/tasks/deploy.yml | 3 +++ 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ansible/roles/manila/tasks/clone.yml diff --git a/ansible/roles/manila/defaults/main.yml b/ansible/roles/manila/defaults/main.yml index 0d4a5d876e..e8fd8934e4 100644 --- a/ansible/roles/manila/defaults/main.yml +++ b/ansible/roles/manila/defaults/main.yml @@ -11,6 +11,7 @@ manila_services: - "{{ node_config_directory }}/manila-api/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}" manila-scheduler: container_name: "manila_scheduler" group: "manila-scheduler" @@ -20,6 +21,7 @@ manila_services: - "{{ node_config_directory }}/manila-scheduler/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}" manila-share: container_name: "manila_share" group: "manila-share" @@ -31,6 +33,7 @@ manila_services: - "/etc/localtime:/etc/localtime:ro" - "/run/:/run/:shared" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}" manila-data: container_name: "manila_data" group: "manila-data" @@ -42,6 +45,7 @@ manila_services: - "/etc/localtime:/etc/localtime:ro" - "/run/:/run/:shared" - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}" ##################### @@ -123,3 +127,11 @@ manila_backends: - "CIFS" manila_enabled_backends: "{{ manila_backends|selectattr('enabled', 'equalto', true)|list }}" + + +#################### +# Kolla +#################### +manila_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}" +manila_dev_repos_pull: "{{ kolla_dev_repos_pull }}" +manila_dev_mode: "{{ kolla_dev_mode }}" diff --git a/ansible/roles/manila/tasks/bootstrap_service.yml b/ansible/roles/manila/tasks/bootstrap_service.yml index 5f79880673..29cac2ac12 100644 --- a/ansible/roles/manila/tasks/bootstrap_service.yml +++ b/ansible/roles/manila/tasks/bootstrap_service.yml @@ -15,6 +15,6 @@ BOOTSTRAP: name: "bootstrap_manila" restart_policy: "never" - volumes: "{{ manila_api.volumes }}" + volumes: "{{ manila_api.volumes|reject('equalto', '')|list }}" run_once: True delegate_to: "{{ groups[manila_api.group][0] }}" diff --git a/ansible/roles/manila/tasks/clone.yml b/ansible/roles/manila/tasks/clone.yml new file mode 100644 index 0000000000..9a9b43d232 --- /dev/null +++ b/ansible/roles/manila/tasks/clone.yml @@ -0,0 +1,6 @@ +--- +- name: Cloning manila source repository for development + git: + repo: "{{ manila_git_repository }}" + dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}" + update: "{{ manila_dev_repos_pull }}" diff --git a/ansible/roles/manila/tasks/deploy.yml b/ansible/roles/manila/tasks/deploy.yml index 95cde2076d..9b52ba0b97 100644 --- a/ansible/roles/manila/tasks/deploy.yml +++ b/ansible/roles/manila/tasks/deploy.yml @@ -13,6 +13,9 @@ - (enable_manila_backend_cephfs_native | bool) or (enable_manila_backend_cephfs_nfs | bool) - inventory_hostname in groups['manila-share'] +- include: clone.yml + when: manila_dev_mode | bool + - include: register.yml when: inventory_hostname in groups['manila-api']