From 12ff28a69351cf8ab4ef3390739e04862ba76983 Mon Sep 17 00:00:00 2001 From: "binhong.hua" Date: Tue, 9 Apr 2019 16:55:20 +0800 Subject: [PATCH] Make kolla-ansible support extra volumes When integrating 3rd party component into openstack with kolla-ansible, maybe have to mount some extra volumes to container. Change-Id: I69108209320edad4c4ffa37dabadff62d7340939 Implements: blueprint support-extra-volumes --- ansible/group_vars/all.yml | 7 + ansible/roles/aodh/defaults/main.yml | 53 +++-- ansible/roles/barbican/defaults/main.yml | 41 ++-- ansible/roles/blazar/defaults/main.yml | 27 ++- ansible/roles/ceilometer/defaults/main.yml | 60 +++--- ansible/roles/cinder/defaults/main.yml | 71 ++++--- ansible/roles/cloudkitty/defaults/main.yml | 26 ++- ansible/roles/congress/defaults/main.yml | 39 ++-- ansible/roles/cyborg/defaults/main.yml | 37 ++-- ansible/roles/designate/defaults/main.yml | 87 ++++---- ansible/roles/freezer/defaults/main.yml | 31 +-- ansible/roles/glance/defaults/main.yml | 17 +- ansible/roles/haproxy/defaults/main.yml | 24 ++- ansible/roles/heat/defaults/main.yml | 38 ++-- ansible/roles/horizon/defaults/main.yml | 20 +- ansible/roles/ironic/defaults/main.yml | 91 +++++---- ansible/roles/keystone/defaults/main.yml | 16 +- ansible/roles/kuryr/defaults/main.yml | 21 +- ansible/roles/magnum/defaults/main.yml | 28 +-- ansible/roles/manila/defaults/main.yml | 58 +++--- ansible/roles/mistral/defaults/main.yml | 50 +++-- ansible/roles/murano/defaults/main.yml | 26 ++- ansible/roles/neutron/defaults/main.yml | 187 ++++++++++-------- ansible/roles/nova/defaults/main.yml | 172 +++++++++------- ansible/roles/octavia/defaults/main.yml | 42 ++-- ansible/roles/panko/defaults/main.yml | 11 +- ansible/roles/placement/defaults/main.yml | 14 +- ansible/roles/sahara/defaults/main.yml | 33 ++-- ansible/roles/senlin/defaults/main.yml | 26 ++- ansible/roles/solum/defaults/main.yml | 51 +++-- ansible/roles/tacker/defaults/main.yml | 27 ++- ansible/roles/trove/defaults/main.yml | 44 +++-- ansible/roles/vitrage/defaults/main.yml | 51 +++-- ansible/roles/watcher/defaults/main.yml | 39 ++-- ansible/roles/zun/defaults/main.yml | 44 +++-- doc/source/admin/advanced-configuration.rst | 37 ++++ ...upport_extra_volumes-0598122ed90c8d02.yaml | 5 + 37 files changed, 1006 insertions(+), 645 deletions(-) create mode 100644 releasenotes/notes/support_extra_volumes-0598122ed90c8d02.yaml diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index ca1d2971e2..5d63e9d8be 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -122,6 +122,13 @@ docker_common_options: # Dimension options for Docker Containers default_container_dimensions: {} + +####################### +# Extra volumes options +####################### +# Extra volumes for Docker Containers +default_extra_volumes: [] + #################### # keepalived options #################### diff --git a/ansible/roles/aodh/defaults/main.yml b/ansible/roles/aodh/defaults/main.yml index 70b7f45d36..d04fe605c1 100644 --- a/ansible/roles/aodh/defaults/main.yml +++ b/ansible/roles/aodh/defaults/main.yml @@ -7,12 +7,7 @@ aodh_services: group: aodh-api enabled: true image: "{{ aodh_api_image_full }}" - volumes: - - "{{ node_config_directory }}/aodh-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "aodh:/var/lib/aodh/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" + volumes: "{{ aodh_api_default_volumes + aodh_api_extra_volumes }}" dimensions: "{{ aodh_api_dimensions }}" haproxy: aodh_api: @@ -32,33 +27,21 @@ aodh_services: group: aodh-evaluator enabled: true image: "{{ aodh_evaluator_image_full }}" - volumes: - - "{{ node_config_directory }}/aodh-evaluator/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" + volumes: "{{ aodh_evaluator_default_volumes + aodh_evaluator_extra_volumes }}" dimensions: "{{ aodh_evaluator_dimensions }}" aodh-listener: container_name: aodh_listener group: aodh-listener enabled: true image: "{{ aodh_listener_image_full }}" - volumes: - - "{{ node_config_directory }}/aodh-listener/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" + volumes: "{{ aodh_listener_default_volumes + aodh_listener_extra_volumes }}" dimensions: "{{ aodh_listener_dimensions }}" aodh-notifier: container_name: aodh_notifier group: aodh-notifier enabled: true image: "{{ aodh_notifier_image_full }}" - volumes: - - "{{ node_config_directory }}/aodh-notifier/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" + volumes: "{{ aodh_notifier_default_volumes + aodh_notifier_extra_volumes }}" dimensions: "{{ aodh_notifier_dimensions }}" # Aodh Evaluation interval - Period of evaluation cycle, should @@ -115,6 +98,34 @@ aodh_evaluator_dimensions: "{{ default_container_dimensions }}" aodh_listener_dimensions: "{{ default_container_dimensions }}" aodh_notifier_dimensions: "{{ default_container_dimensions }}" +aodh_api_default_volumes: + - "{{ node_config_directory }}/aodh-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "aodh:/var/lib/aodh/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" +aodh_evaluator_default_volumes: + - "{{ node_config_directory }}/aodh-evaluator/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" +aodh_listener_default_volumes: + - "{{ node_config_directory }}/aodh-listener/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" +aodh_notifier_default_volumes: + - "{{ node_config_directory }}/aodh-notifier/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/aodh/aodh:/var/lib/kolla/venv/lib/python2.7/site-packages/aodh' if aodh_dev_mode | bool else '' }}" + +aodh_extra_volumes: "{{ default_extra_volumes }}" +aodh_api_extra_volumes: "{{ aodh_extra_volumes }}" +aodh_evaluator_extra_volumes: "{{ aodh_extra_volumes }}" +aodh_listener_extra_volumes: "{{ aodh_extra_volumes }}" +aodh_notifier_extra_volumes: "{{ aodh_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/barbican/defaults/main.yml b/ansible/roles/barbican/defaults/main.yml index e9d62b8c6d..4f4d58d6a2 100644 --- a/ansible/roles/barbican/defaults/main.yml +++ b/ansible/roles/barbican/defaults/main.yml @@ -7,12 +7,7 @@ barbican_services: group: barbican-api enabled: true image: "{{ barbican_api_image_full }}" - volumes: - - "{{ node_config_directory }}/barbican-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "barbican:/var/lib/barbican/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/barbican/barbican:/var/lib/kolla/venv/lib/python2.7/site-packages/barbican' if barbican_dev_mode | bool else '' }}" + volumes: "{{ barbican_api_default_volumes + barbican_api_extra_volumes }}" dimensions: "{{ barbican_api_dimensions }}" haproxy: barbican_api: @@ -32,22 +27,14 @@ barbican_services: group: barbican-keystone-listener enabled: true image: "{{ barbican_keystone_listener_image_full }}" - volumes: - - "{{ node_config_directory }}/barbican-keystone-listener/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/barbican/barbican:/var/lib/kolla/venv/lib/python2.7/site-packages/barbican' if barbican_dev_mode | bool else '' }}" + volumes: "{{ barbican_keystone_listener_default_volumes + barbican_keystone_listener_extra_volumes }}" dimensions: "{{ barbican_keystone_listener_dimensions }}" barbican-worker: container_name: barbican_worker group: barbican-worker enabled: true image: "{{ barbican_worker_image_full }}" - volumes: - - "{{ node_config_directory }}/barbican-worker/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/barbican/barbican:/var/lib/kolla/venv/lib/python2.7/site-packages/barbican' if barbican_dev_mode | bool else '' }}" + volumes: "{{ barbican_worker_default_volumes + barbican_worker_extra_volumes }}" dimensions: "{{ barbican_worker_dimensions }}" @@ -81,6 +68,28 @@ barbican_api_dimensions: "{{ default_container_dimensions }}" barbican_keystone_listener_dimensions: "{{ default_container_dimensions }}" barbican_worker_dimensions: "{{ default_container_dimensions }}" +barbican_api_default_volumes: + - "{{ node_config_directory }}/barbican-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "barbican:/var/lib/barbican/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/barbican/barbican:/var/lib/kolla/venv/lib/python2.7/site-packages/barbican' if barbican_dev_mode | bool else '' }}" +barbican_keystone_listener_default_volumes: + - "{{ node_config_directory }}/barbican-keystone-listener/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/barbican/barbican:/var/lib/kolla/venv/lib/python2.7/site-packages/barbican' if barbican_dev_mode | bool else '' }}" +barbican_worker_default_volumes: + - "{{ node_config_directory }}/barbican-worker/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/barbican/barbican:/var/lib/kolla/venv/lib/python2.7/site-packages/barbican' if barbican_dev_mode | bool else '' }}" + +barbican_extra_volumes: "{{ default_extra_volumes }}" +barbican_api_extra_volumes: "{{ barbican_extra_volumes }}" +barbican_keystone_listener_extra_volumes: "{{ barbican_extra_volumes }}" +barbican_worker_extra_volumes: "{{ barbican_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/blazar/defaults/main.yml b/ansible/roles/blazar/defaults/main.yml index 2c4271d4b6..b919bb9d8e 100644 --- a/ansible/roles/blazar/defaults/main.yml +++ b/ansible/roles/blazar/defaults/main.yml @@ -7,11 +7,7 @@ blazar_services: group: blazar-api enabled: true image: "{{ blazar_api_image_full }}" - volumes: - - "{{ node_config_directory }}/blazar-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/blazar/blazar:/var/lib/kolla/venv/lib/python2.7/site-packages/blazar' if blazar_dev_mode | bool else '' }}" + volumes: "{{ blazar_api_default_volumes + blazar_api_extra_volumes }}" dimensions: "{{ blazar_api_dimensions }}" haproxy: blazar_api: @@ -29,11 +25,7 @@ blazar_services: group: blazar-manager enabled: true image: "{{ blazar_manager_image_full }}" - volumes: - - "{{ node_config_directory }}/blazar-manager/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/blazar/blazar:/var/lib/kolla/venv/lib/python2.7/site-packages/blazar' if blazar_dev_mode | bool else '' }}" + volumes: "{{ blazar_manager_default_volumes + blazar_manager_extra_volumes }}" dimensions: "{{ blazar_manager_dimensions }}" @@ -67,6 +59,21 @@ blazar_api_image_full: "{{ blazar_api_image }}:{{ blazar_api_tag }}" blazar_api_dimensions: "{{ default_container_dimensions }}" blazar_manager_dimensions: "{{ default_container_dimensions }}" +blazar_api_default_volumes: + - "{{ node_config_directory }}/blazar-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/blazar/blazar:/var/lib/kolla/venv/lib/python2.7/site-packages/blazar' if blazar_dev_mode | bool else '' }}" +blazar_manager_default_volumes: + - "{{ node_config_directory }}/blazar-manager/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/blazar/blazar:/var/lib/kolla/venv/lib/python2.7/site-packages/blazar' if blazar_dev_mode | bool else '' }}" + +blazar_extra_volumes: "{{ default_extra_volumes }}" +blazar_api_extra_volumes: "{{ blazar_extra_volumes }}" +blazar_manager_extra_volumes: "{{ blazar_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/ceilometer/defaults/main.yml b/ansible/roles/ceilometer/defaults/main.yml index 05cfe730e6..89a23ce773 100644 --- a/ansible/roles/ceilometer/defaults/main.yml +++ b/ansible/roles/ceilometer/defaults/main.yml @@ -7,23 +7,14 @@ ceilometer_services: group: ceilometer-notification enabled: True image: "{{ ceilometer_notification_image_full }}" - volumes: - - "{{ node_config_directory }}/ceilometer-notification/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" + volumes: "{{ ceilometer_notification_default_volumes + ceilometer_notification_extra_volumes }}" dimensions: "{{ ceilometer_notification_dimensions }}" ceilometer-central: container_name: ceilometer_central group: ceilometer-central enabled: True image: "{{ ceilometer_central_image_full }}" - volumes: - - "{{ node_config_directory }}/ceilometer-central/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "ceilometer:/var/lib/ceilometer/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" + volumes: "{{ ceilometer_central_default_volumes + ceilometer_central_extra_volumes }}" dimensions: "{{ ceilometer_central_dimensions }}" ceilometer-compute: container_name: ceilometer_compute @@ -31,26 +22,14 @@ ceilometer_services: enabled: True privileged: True image: "{{ ceilometer_compute_image_full }}" - volumes: - - "{{ node_config_directory }}/ceilometer-compute/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run/:/run/:shared" - - "ceilometer:/var/lib/ceilometer/" - - "kolla_logs:/var/log/kolla/" - - "nova_libvirt:/var/lib/libvirt" - - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" + volumes: "{{ ceilometer_compute_default_volumes + ceilometer_compute_extra_volumes }}" dimensions: "{{ ceilometer_compute_dimensions }}" ceilometer-ipmi: container_name: ceilometer_ipmi group: ceilometer-ipmi enabled: "{{ enable_ceilometer_ipmi }}" image: "{{ ceilometer_ipmi_image_full }}" - volumes: - - "{{ node_config_directory }}/ceilometer-ipmi/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "ceilometer:/var/lib/ceilometer/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" + volumes: "{{ ceilometer_ipmi_default_volumes + ceilometer_ipmi_extra_volumes }}" dimensions: "{{ ceilometer_ipmi_dimensions }}" @@ -81,6 +60,37 @@ ceilometer_central_dimensions: "{{ default_container_dimensions }}" ceilometer_compute_dimensions: "{{ default_container_dimensions }}" ceilometer_ipmi_dimensions: "{{ default_container_dimensions }}" +ceilometer_notification_default_volumes: + - "{{ node_config_directory }}/ceilometer-notification/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" +ceilometer_central_default_volumes: + - "{{ node_config_directory }}/ceilometer-central/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "ceilometer:/var/lib/ceilometer/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" +ceilometer_compute_default_volumes: + - "{{ node_config_directory }}/ceilometer-compute/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run/:/run/:shared" + - "ceilometer:/var/lib/ceilometer/" + - "kolla_logs:/var/log/kolla/" + - "nova_libvirt:/var/lib/libvirt" + - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" +ceilometer_ipmi_default_volumes: + - "{{ node_config_directory }}/ceilometer-ipmi/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "ceilometer:/var/lib/ceilometer/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/ceilometer/ceilometer:/var/lib/kolla/venv/lib/python2.7/site-packages/ceilometer' if ceilometer_dev_mode | bool else '' }}" + +ceilometer_extra_volumes: "{{ default_extra_volumes }}" +ceilometer_notification_extra_volumes: "{{ ceilometer_extra_volumes }}" +ceilometer_central_extra_volumes: "{{ ceilometer_extra_volumes }}" +ceilometer_compute_extra_volumes: "{{ ceilometer_extra_volumes }}" +ceilometer_ipmi_extra_volumes: "{{ ceilometer_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml index d8441254de..b88f3ce1af 100644 --- a/ansible/roles/cinder/defaults/main.yml +++ b/ansible/roles/cinder/defaults/main.yml @@ -7,11 +7,7 @@ cinder_services: group: cinder-api enabled: true image: "{{ cinder_api_image_full }}" - volumes: - - "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" + volumes: "{{ cinder_api_default_volumes + cinder_api_extra_volumes }}" dimensions: "{{ cinder_api_dimensions }}" haproxy: cinder_api: @@ -31,11 +27,7 @@ cinder_services: group: cinder-scheduler enabled: true image: "{{ cinder_scheduler_image_full }}" - volumes: - - "{{ node_config_directory }}/cinder-scheduler/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" + volumes: "{{ cinder_scheduler_default_volumes + cinder_scheduler_extra_volumes }}" dimensions: "{{ cinder_scheduler_dimensions }}" cinder-volume: container_name: cinder_volume @@ -44,17 +36,7 @@ cinder_services: image: "{{ cinder_volume_image_full }}" privileged: True ipc_mode: "host" - volumes: - - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/dev/:/dev/" - - "/lib/modules:/lib/modules:ro" - - "/run/:/run/:shared" - - "cinder:/var/lib/cinder" - - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}" - - "{% if enable_cinder_backend_lvm | bool and cinder_target_helper == 'lioadm' %}target_config:/etc/target{% endif %}" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" + volumes: "{{ cinder_volume_default_volumes + cinder_volume_extra_volumes }}" dimensions: "{{ cinder_volume_dimensions }}" cinder-backup: container_name: cinder_backup @@ -62,15 +44,7 @@ cinder_services: enabled: "{{ enable_cinder_backup | bool }}" image: "{{ cinder_backup_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/cinder-backup/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/dev/:/dev/" - - "/run/:/run/:shared" - - "cinder:/var/lib/cinder" - - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" + volumes: "{{ cinder_backup_default_volumes + cinder_backup_extra_volumes }}" dimensions: "{{ cinder_backup_dimensions }}" #################### @@ -152,6 +126,43 @@ cinder_backup_dimensions: "{{ default_container_dimensions }}" cinder_scheduler_dimensions: "{{ default_container_dimensions }}" cinder_volume_dimensions: "{{ default_container_dimensions }}" +cinder_api_default_volumes: + - "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" +cinder_backup_default_volumes: + - "{{ node_config_directory }}/cinder-backup/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/dev/:/dev/" + - "/run/:/run/:shared" + - "cinder:/var/lib/cinder" + - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" +cinder_scheduler_default_volumes: + - "{{ node_config_directory }}/cinder-scheduler/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" +cinder_volume_default_volumes: + - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/dev/:/dev/" + - "/lib/modules:/lib/modules:ro" + - "/run/:/run/:shared" + - "cinder:/var/lib/cinder" + - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}" + - "{% if enable_cinder_backend_lvm | bool and cinder_target_helper == 'lioadm' %}target_config:/etc/target{% endif %}" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python2.7/site-packages/cinder' if cinder_dev_mode | bool else '' }}" + +cinder_extra_volumes: "{{ default_extra_volumes }}" +cinder_api_extra_volumes: "{{ cinder_extra_volumes }}" +cinder_backup_extra_volumes: "{{ cinder_extra_volumes }}" +cinder_scheduler_extra_volumes: "{{ cinder_extra_volumes }}" +cinder_volume_extra_volumes: "{{ cinder_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index 663720adf6..96b5541c0c 100644 --- a/ansible/roles/cloudkitty/defaults/main.yml +++ b/ansible/roles/cloudkitty/defaults/main.yml @@ -7,11 +7,7 @@ cloudkitty_services: group: "cloudkitty-api" image: "{{ cloudkitty_api_image_full }}" enabled: True - volumes: - - "{{ node_config_directory }}/cloudkitty-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/cloudkitty/cloudkitty:/var/lib/kolla/venv/lib/python2.7/site-packages/cloudkitty' if cloudkitty_dev_mode | bool else '' }}" + volumes: "{{ cloudkitty_api_default_volumes + cloudkitty_api_extra_volumes }}" dimensions: "{{ cloudkitty_api_dimensions }}" haproxy: cloudkitty_api: @@ -29,11 +25,7 @@ cloudkitty_services: group: "cloudkitty-processor" image: "{{ cloudkitty_processor_image_full }}" enabled: True - volumes: - - "{{ node_config_directory }}/cloudkitty-processor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/cloudkitty/cloudkitty:/var/lib/kolla/venv/lib/python2.7/site-packages/cloudkitty' if cloudkitty_dev_mode | bool else '' }}" + volumes: "{{ cloudkitty_processor_default_volumes + cloudkitty_processor_extra_volumes }}" dimensions: "{{ cloudkitty_processor_dimensions }}" @@ -62,6 +54,20 @@ cloudkitty_processor_image_full: "{{ cloudkitty_processor_image }}:{{ cloudkitty cloudkitty_processor_dimensions: "{{ default_container_dimensions }}" cloudkitty_api_dimensions: "{{ default_container_dimensions }}" +cloudkitty_api_default_volumes: + - "{{ node_config_directory }}/cloudkitty-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/cloudkitty/cloudkitty:/var/lib/kolla/venv/lib/python2.7/site-packages/cloudkitty' if cloudkitty_dev_mode | bool else '' }}" +cloudkitty_processor_default_volumes: + - "{{ node_config_directory }}/cloudkitty-processor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/cloudkitty/cloudkitty:/var/lib/kolla/venv/lib/python2.7/site-packages/cloudkitty' if cloudkitty_dev_mode | bool else '' }}" + +cloudkitty_extra_volumes: "{{ default_extra_volumes }}" +cloudkitty_processor_extra_volumes: "{{ cloudkitty_extra_volumes }}" +cloudkitty_api_extra_volumes: "{{ cloudkitty_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/congress/defaults/main.yml b/ansible/roles/congress/defaults/main.yml index 1a6af4d1db..4675f656d1 100644 --- a/ansible/roles/congress/defaults/main.yml +++ b/ansible/roles/congress/defaults/main.yml @@ -7,11 +7,7 @@ congress_services: group: congress-api enabled: true image: "{{ congress_api_image_full }}" - volumes: - - "{{ node_config_directory }}/congress-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/congress/congress:/var/lib/kolla/venv/lib/python2.7/site-packages/congress' if congress_dev_mode | bool else '' }}" + volumes: "{{ congress_api_default_volumes + congress_api_extra_volumes }}" dimensions: "{{ congress_api_dimensions }}" haproxy: congress_api: @@ -29,22 +25,14 @@ congress_services: group: congress-policy-engine enabled: true image: "{{ congress_policy_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/congress-policy-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/congress/congress:/var/lib/kolla/venv/lib/python2.7/site-packages/congress' if congress_dev_mode | bool else '' }}" + volumes: "{{ congress_policy_engine_default_volumes + congress_policy_engine_extra_volumes }}" dimensions: "{{ congress_policy_engine_dimensions }}" congress-datasource: container_name: congress_datasource group: congress-datasource enabled: true image: "{{ congress_datasource_image_full }}" - volumes: - - "{{ node_config_directory }}/congress-datasource/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/congress/congress:/var/lib/kolla/venv/lib/python2.7/site-packages/congress' if congress_dev_mode | bool else '' }}" + volumes: "{{ congress_datasource_default_volumes + congress_datasource_extra_volumes }}" dimensions: "{{ congress_datasource_dimensions }}" @@ -78,6 +66,27 @@ congress_api_dimensions: "{{ default_container_dimensions }}" congress_policy_engine_dimensions: "{{ default_container_dimensions }}" congress_datasource_dimensions: "{{ default_container_dimensions }}" +congress_api_default_volumes: + - "{{ node_config_directory }}/congress-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/congress/congress:/var/lib/kolla/venv/lib/python2.7/site-packages/congress' if congress_dev_mode | bool else '' }}" +congress_policy_engine_default_volumes: + - "{{ node_config_directory }}/congress-policy-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/congress/congress:/var/lib/kolla/venv/lib/python2.7/site-packages/congress' if congress_dev_mode | bool else '' }}" +congress_datasource_default_volumes: + - "{{ node_config_directory }}/congress-datasource/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/congress/congress:/var/lib/kolla/venv/lib/python2.7/site-packages/congress' if congress_dev_mode | bool else '' }}" + +congress_extra_volumes: "{{ default_extra_volumes }}" +congress_api_extra_volumes: "{{ congress_extra_volumes }}" +congress_policy_engine_extra_volumes: "{{ congress_extra_volumes }}" +congress_datasource_extra_volumes: "{{ congress_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/cyborg/defaults/main.yml b/ansible/roles/cyborg/defaults/main.yml index 92b941f5ae..4bb3a469ea 100644 --- a/ansible/roles/cyborg/defaults/main.yml +++ b/ansible/roles/cyborg/defaults/main.yml @@ -7,31 +7,21 @@ cyborg_services: group: cyborg-api enabled: true image: "{{ cyborg_api_image_full }}" - volumes: - - "{{ node_config_directory }}/cyborg-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "cyborg:/var/lib/cyborg/" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ cyborg_api_default_volumes + cyborg_api_extra_volumes }}" dimensions: "{{ cyborg_api_dimensions }}" cyborg-agent: container_name: cyborg_agent group: cyborg-agent enabled: true image: "{{ cyborg_agent_image_full }}" - volumes: - - "{{ node_config_directory }}/cyborg-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ cyborg_agent_default_volumes + cyborg_agent_extra_volumes }}" dimensions: "{{ cyborg_agent_dimensions }}" cyborg-conductor: container_name: cyborg_conductor group: cyborg-conductor enabled: true image: "{{ cyborg_conductor_image_full }}" - volumes: - - "{{ node_config_directory }}/cyborg-conductor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ cyborg_conductor_default_volumes + cyborg_conductor_extra_volumes }}" dimensions: "{{ cyborg_conductor_dimensions }}" #################### @@ -63,6 +53,27 @@ cyborg_api_dimensions: "{{ default_container_dimensions }}" cyborg_agent_dimensions: "{{ default_container_dimensions }}" cyborg_conductor_dimensions: "{{ default_container_dimensions }}" +cyborg_api_default_volumes: + - "{{ node_config_directory }}/cyborg-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "cyborg:/var/lib/cyborg/" + - "kolla_logs:/var/log/kolla/" + +cyborg_agent_default_volumes: + - "{{ node_config_directory }}/cyborg-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + +cyborg_conductor_default_volumes: + - "{{ node_config_directory }}/cyborg-conductor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + +cyborg_extra_volumes: "{{ default_extra_volumes }}" +cyborg_api_extra_volumes: "{{ cyborg_extra_volumes }}" +cyborg_agent_extra_volumes: "{{ cyborg_extra_volumes }}" +cyborg_conductor_extra_volumes: "{{ cyborg_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/designate/defaults/main.yml b/ansible/roles/designate/defaults/main.yml index f88c916bf6..c4742a885a 100644 --- a/ansible/roles/designate/defaults/main.yml +++ b/ansible/roles/designate/defaults/main.yml @@ -7,11 +7,7 @@ designate_services: group: designate-api enabled: true image: "{{ designate_api_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + volumes: "{{ designate_api_default_volumes + designate_api_extra_volumes }}" dimensions: "{{ designate_api_dimensions }}" haproxy: designate_api: @@ -31,66 +27,42 @@ designate_services: group: designate-backend-bind9 enabled: "{{ designate_backend == 'bind9' }}" image: "{{ designate_backend_bind9_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-backend-bind9/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "designate_backend_bind9:/var/lib/named/" + volumes: "{{ designate_backend_bind9_default_volumes + designate_backend_bind9_extra_volumes }}" dimensions: "{{ designate_backend_bind9_dimensions }}" designate-central: container_name: designate_central group: designate-central enabled: true image: "{{ designate_central_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-central/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + volumes: "{{ designate_central_default_volumes + designate_central_extra_volumes }}" dimensions: "{{ designate_central_dimensions }}" designate-mdns: container_name: designate_mdns group: designate-mdns enabled: true image: "{{ designate_mdns_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-mdns/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + volumes: "{{ designate_mdns_default_volumes + designate_mdns_extra_volumes }}" dimensions: "{{ designate_mdns_dimensions }}" designate-producer: container_name: designate_producer group: designate-producer enabled: true image: "{{ designate_producer_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-producer/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + volumes: "{{ designate_producer_default_volumes + designate_producer_extra_volumes }}" dimensions: "{{ designate_producer_dimensions }}" designate-worker: container_name: designate_worker group: designate-worker enabled: true image: "{{ designate_worker_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-worker/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + volumes: "{{ designate_worker_default_volumes + designate_worker_extra_volumes }}" dimensions: "{{ designate_worker_dimensions }}" designate-sink: container_name: designate_sink group: designate-sink enabled: true image: "{{ designate_sink_image_full }}" - volumes: - - "{{ node_config_directory }}/designate-sink/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + volumes: "{{ designate_sink_default_volumes + designate_sink_extra_volumes }}" dimensions: "{{ designate_sink_dimensions }}" @@ -148,6 +120,51 @@ designate_producer_dimensions: "{{ default_container_dimensions }}" designate_worker_dimensions: "{{ default_container_dimensions }}" designate_sink_dimensions: "{{ default_container_dimensions }}" +designate_api_default_volumes: + - "{{ node_config_directory }}/designate-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" +designate_backend_bind9_default_volumes: + - "{{ node_config_directory }}/designate-backend-bind9/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "designate_backend_bind9:/var/lib/named/" +designate_central_default_volumes: + - "{{ node_config_directory }}/designate-central/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" +designate_mdns_default_volumes: + - "{{ node_config_directory }}/designate-mdns/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" +designate_producer_default_volumes: + - "{{ node_config_directory }}/designate-producer/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" +designate_worker_default_volumes: + - "{{ node_config_directory }}/designate-worker/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" +designate_sink_default_volumes: + - "{{ node_config_directory }}/designate-sink/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/designate/designate:/var/lib/kolla/venv/lib/python2.7/site-packages/designate' if designate_dev_mode | bool else '' }}" + +designate_extra_volumes: "{{ default_extra_volumes }}" +designate_api_extra_volumes: "{{ designate_extra_volumes }}" +designate_backend_bind9_extra_volumes: "{{ designate_extra_volumes }}" +designate_central_extra_volumes: "{{ designate_extra_volumes }}" +designate_mdns_extra_volumes: "{{ designate_extra_volumes }}" +designate_producer_extra_volumes: "{{ designate_extra_volumes }}" +designate_worker_extra_volumes: "{{ designate_extra_volumes }}" +designate_sink_extra_volumes: "{{ designate_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/freezer/defaults/main.yml b/ansible/roles/freezer/defaults/main.yml index 2c19a7edfe..a9df2d9cfa 100644 --- a/ansible/roles/freezer/defaults/main.yml +++ b/ansible/roles/freezer/defaults/main.yml @@ -7,12 +7,7 @@ freezer_services: group: freezer-api enabled: true image: "{{ freezer_api_image_full }}" - volumes: - - "{{ node_config_directory }}/freezer-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "freezer:/var/lib/freezer/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/freezer-api/freezer_api:/var/lib/kolla/venv/lib/python2.7/site-packages/freezer_api' if freezer_dev_mode | bool else '' }}" + volumes: "{{ freezer_api_default_volumes + freezer_api_extra_volumes }}" dimensions: "{{ freezer_api_dimensions }}" haproxy: freezer_api: @@ -30,12 +25,7 @@ freezer_services: group: freezer-scheduler enabled: true image: "{{ freezer_scheduler_image_full }}" - volumes: - - "{{ node_config_directory }}/freezer-scheduler/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "freezer:/var/lib/freezer/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/freezer/freezer:/var/lib/kolla/venv/lib/python2.7/site-packages/freezer' if freezer_dev_mode | bool else '' }}" + volumes: "{{ freezer_scheduler_default_volumes + freezer_scheduler_extra_volumes }}" dimensions: "{{ freezer_scheduler_dimensions }}" @@ -56,6 +46,23 @@ freezer_scheduler_image_full: "{{ freezer_scheduler_image }}:{{ freezer_schedule freezer_api_dimensions: "{{ default_container_dimensions }}" freezer_scheduler_dimensions: "{{ default_container_dimensions }}" +freezer_api_default_volumes: + - "{{ node_config_directory }}/freezer-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "freezer:/var/lib/freezer/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/freezer-api/freezer_api:/var/lib/kolla/venv/lib/python2.7/site-packages/freezer_api' if freezer_dev_mode | bool else '' }}" +freezer_scheduler_default_volumes: + - "{{ node_config_directory }}/freezer-scheduler/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "freezer:/var/lib/freezer/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/freezer/freezer:/var/lib/kolla/venv/lib/python2.7/site-packages/freezer' if freezer_dev_mode | bool else '' }}" + +freezer_extra_volumes: "{{ default_extra_volumes }}" +freezer_api_extra_volumes: "{{ freezer_extra_volumes }}" +freezer_scheduler_extra_volumes: "{{ freezer_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml index f417edaed7..fc551a1ad6 100644 --- a/ansible/roles/glance/defaults/main.yml +++ b/ansible/roles/glance/defaults/main.yml @@ -8,12 +8,7 @@ glance_services: enabled: true image: "{{ glance_api_image_full }}" environment: "{{ container_proxy }}" - volumes: - - "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ glance_file_datadir_volume }}:/var/lib/glance/" - - "{{ kolla_dev_repos_directory ~ '/glance/glance:/var/lib/kolla/venv/lib/python2.7/site-packages/glance' if glance_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ glance_api_default_volumes + glance_api_extra_volumes }}" dimensions: "{{ glance_api_dimensions }}" haproxy: glance_api: @@ -100,8 +95,16 @@ glance_api_tag: "{{ glance_tag }}" glance_api_image_full: "{{ glance_api_image }}:{{ glance_api_tag }}" glance_api_dimensions: "{{ default_container_dimensions }}" -glance_registry_dimensions: "{{ default_container_dimensions }}" +glance_api_default_volumes: + - "{{ node_config_directory }}/glance-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ glance_file_datadir_volume }}:/var/lib/glance/" + - "{{ kolla_dev_repos_directory ~ '/glance/glance:/var/lib/kolla/venv/lib/python2.7/site-packages/glance' if glance_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + +glance_extra_volumes: "{{ default_extra_volumes }}" +glance_api_extra_volumes: "{{ glance_extra_volumes }}" #################### # Glance diff --git a/ansible/roles/haproxy/defaults/main.yml b/ansible/roles/haproxy/defaults/main.yml index 970f2c1d41..ffd50e0e14 100644 --- a/ansible/roles/haproxy/defaults/main.yml +++ b/ansible/roles/haproxy/defaults/main.yml @@ -8,10 +8,7 @@ haproxy_services: enabled: true image: "{{ haproxy_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/haproxy/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "haproxy_socket:/var/lib/kolla/haproxy/" + volumes: "{{ haproxy_default_volumes + haproxy_extra_volumes }}" dimensions: "{{ haproxy_dimensions }}" keepalived: container_name: keepalived @@ -19,11 +16,7 @@ haproxy_services: enabled: "{{ enable_keepalived | bool }}" image: "{{ keepalived_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/keepalived/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "haproxy_socket:/var/lib/kolla/haproxy/" + volumes: "{{ keepalived_default_volumes + keepalived_extra_volumes }}" dimensions: "{{ keepalived_dimensions }}" @@ -52,6 +45,19 @@ haproxy_process_cpu_map: "no" haproxy_dimensions: "{{ default_container_dimensions }}" keepalived_dimensions: "{{ default_container_dimensions }}" +haproxy_default_volumes: + - "{{ node_config_directory }}/haproxy/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "haproxy_socket:/var/lib/kolla/haproxy/" +keepalived_default_volumes: + - "{{ node_config_directory }}/keepalived/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "haproxy_socket:/var/lib/kolla/haproxy/" + +haproxy_extra_volumes: "{{ default_extra_volumes }}" +keepalived_extra_volumes: "{{ default_extra_volumes }}" + # Default timeout values haproxy_http_request_timeout: "10s" haproxy_queue_timeout: "1m" diff --git a/ansible/roles/heat/defaults/main.yml b/ansible/roles/heat/defaults/main.yml index 7bb7669a76..2e4455d67c 100644 --- a/ansible/roles/heat/defaults/main.yml +++ b/ansible/roles/heat/defaults/main.yml @@ -7,11 +7,7 @@ heat_services: group: heat-api enabled: true image: "{{ heat_api_image_full }}" - volumes: - - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/heat/heat:/var/lib/kolla/venv/lib/python2.7/site-packages/heat' if heat_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ heat_api_default_volumes + heat_api_extra_volumes }}" dimensions: "{{ heat_api_dimensions }}" haproxy: heat_api: @@ -31,11 +27,7 @@ heat_services: group: heat-api-cfn enabled: true image: "{{ heat_api_cfn_image_full }}" - volumes: - - "{{ node_config_directory }}/heat-api-cfn/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/heat/heat:/var/lib/kolla/venv/lib/python2.7/site-packages/heat' if heat_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ heat_api_cfn_default_volumes + heat_api_cfn_extra_volumes }}" dimensions: "{{ heat_api_cfn_dimensions }}" haproxy: heat_api_cfn: @@ -55,11 +47,7 @@ heat_services: group: heat-engine enabled: true image: "{{ heat_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/heat-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/heat/heat:/var/lib/kolla/venv/lib/python2.7/site-packages/heat' if heat_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ heat_engine_default_volumes + heat_engine_extra_volumes }}" dimensions: "{{ heat_engine_dimensions }}" #################### @@ -92,6 +80,26 @@ heat_api_dimensions: "{{ default_container_dimensions }}" heat_api_cfn_dimensions: "{{ default_container_dimensions }}" heat_engine_dimensions: "{{ default_container_dimensions }}" +heat_api_default_volumes: + - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/heat/heat:/var/lib/kolla/venv/lib/python2.7/site-packages/heat' if heat_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +heat_api_cfn_default_volumes: + - "{{ node_config_directory }}/heat-api-cfn/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/heat/heat:/var/lib/kolla/venv/lib/python2.7/site-packages/heat' if heat_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +heat_engine_default_volumes: + - "{{ node_config_directory }}/heat-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/heat/heat:/var/lib/kolla/venv/lib/python2.7/site-packages/heat' if heat_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + +heat_extra_volumes: "{{ default_extra_volumes }}" +heat_api_extra_volumes: "{{ heat_extra_volumes }}" +heat_api_cfn_extra_volumes: "{{ heat_extra_volumes }}" +heat_engine_extra_volumes: "{{ heat_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/horizon/defaults/main.yml b/ansible/roles/horizon/defaults/main.yml index babe266dfe..240cfb9207 100644 --- a/ansible/roles/horizon/defaults/main.yml +++ b/ansible/roles/horizon/defaults/main.yml @@ -34,14 +34,7 @@ horizon_services: ENABLE_WATCHER: "{{ 'yes' if enable_horizon_watcher | bool else 'no' }}" ENABLE_ZUN: "{{ 'yes' if enable_horizon_zun | bool else 'no' }}" FORCE_GENERATE: "{{ 'yes' if horizon_dev_mode | bool else 'no' }}" - volumes: - - "{{ node_config_directory }}/horizon/:{{ container_config_directory }}/:ro" - - "{{ kolla_dev_repos_directory ~ '/horizon/horizon:/var/lib/kolla/venv/lib/python2.7/site-packages/horizon' if horizon_dev_mode | bool else '' }}" - - "{{ kolla_dev_repos_directory ~ '/horizon/openstack_dashboard:/var/lib/kolla/venv/lib/python2.7/site-packages/openstack_dashboard' if horizon_dev_mode | bool else '' }}" - - "{{ kolla_dev_repos_directory ~ '/murano-dashboard/muranodashboard:/var/lib/kolla/venv/lib/python2.7/site-packages/muranodashboard' if horizon_murano_dev_mode | bool else '' }}" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "/tmp:/tmp" + volumes: "{{ horizon_default_volumes + horizon_extra_volumes }}" dimensions: "{{ horizon_dimensions }}" haproxy: horizon: @@ -86,6 +79,17 @@ horizon_image_full: "{{ horizon_image }}:{{ horizon_tag }}" horizon_dimensions: "{{ default_container_dimensions }}" +horizon_default_volumes: + - "{{ node_config_directory }}/horizon/:{{ container_config_directory }}/:ro" + - "{{ kolla_dev_repos_directory ~ '/horizon/horizon:/var/lib/kolla/venv/lib/python2.7/site-packages/horizon' if horizon_dev_mode | bool else '' }}" + - "{{ kolla_dev_repos_directory ~ '/horizon/openstack_dashboard:/var/lib/kolla/venv/lib/python2.7/site-packages/openstack_dashboard' if horizon_dev_mode | bool else '' }}" + - "{{ kolla_dev_repos_directory ~ '/murano-dashboard/muranodashboard:/var/lib/kolla/venv/lib/python2.7/site-packages/muranodashboard' if horizon_murano_dev_mode | bool else '' }}" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "/tmp:/tmp" + +horizon_extra_volumes: "{{ default_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml index e66eba2c6e..f1f0a29bca 100644 --- a/ansible/roles/ironic/defaults/main.yml +++ b/ansible/roles/ironic/defaults/main.yml @@ -7,11 +7,7 @@ ironic_services: group: ironic-api enabled: true image: "{{ ironic_api_image_full }}" - volumes: - - "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla" - - "{{ kolla_dev_repos_directory ~ '/ironic/ironic:/var/lib/kolla/venv/lib/python2.7/site-packages/ironic' if ironic_dev_mode | bool else '' }}" + volumes: "{{ ironic_api_default_volumes + ironic_api_extra_volumes }}" dimensions: "{{ ironic_api_dimensions }}" haproxy: ironic_api: @@ -32,18 +28,7 @@ ironic_services: enabled: true image: "{{ ironic_conductor_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/ironic-conductor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/sys:/sys" - - "/dev:/dev" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla" - - "ironic:/var/lib/ironic" - - "ironic_pxe:/tftpboot/" - - "ironic_ipxe:/httpboot/" - - "{{ kolla_dev_repos_directory ~ '/ironic/ironic:/var/lib/kolla/venv/lib/python2.7/site-packages/ironic' if ironic_dev_mode | bool else '' }}" + volumes: "{{ ironic_conductor_default_volumes + ironic_conductor_extra_volumes }}" dimensions: "{{ ironic_conductor_dimensions }}" ironic-inspector: container_name: ironic_inspector @@ -51,12 +36,7 @@ ironic_services: enabled: true image: "{{ ironic_inspector_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/ironic-inspector/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla" - - "ironic_inspector_dhcp_hosts:/var/lib/ironic-inspector/dhcp-hostsdir" - - "{{ kolla_dev_repos_directory ~ '/ironic-inspector/ironic_inspector:/var/lib/kolla/venv/lib/python2.7/site-packages/ironic_inspector' if ironic_dev_mode | bool else '' }}" + volumes: "{{ ironic_inspector_default_volumes + ironic_inspector_extra_volumes }}" dimensions: "{{ ironic_inspector_dimensions }}" haproxy: ironic_inspector: @@ -76,22 +56,14 @@ ironic_services: group: ironic-pxe enabled: true image: "{{ ironic_pxe_image_full }}" - volumes: - - "{{ node_config_directory }}/ironic-pxe/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "ironic_pxe:/tftpboot/" - - "kolla_logs:/var/log/kolla" + volumes: "{{ ironic_pxe_default_volumes + ironic_pxe_extra_volumes }}" dimensions: "{{ ironic_pxe_dimensions }}" ironic-ipxe: container_name: ironic_ipxe group: ironic-ipxe enabled: "{{ enable_ironic_ipxe | bool }}" image: "{{ ironic_pxe_image_full }}" - volumes: - - "{{ node_config_directory }}/ironic-ipxe/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "ironic_ipxe:/httpboot/" - - "kolla_logs:/var/log/kolla" + volumes: "{{ ironic_ipxe_default_volumes + ironic_ipxe_extra_volumes }}" dimensions: "{{ ironic_ipxe_dimensions }}" ironic-dnsmasq: container_name: ironic_dnsmasq @@ -100,11 +72,7 @@ ironic_services: cap_add: - NET_ADMIN image: "{{ ironic_dnsmasq_image_full }}" - volumes: - - "{{ node_config_directory }}/ironic-dnsmasq/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla" - - "ironic_inspector_dhcp_hosts:/etc/dnsmasq/dhcp-hostsdir:ro" + volumes: "{{ ironic_dnsmasq_default_volumes + ironic_dnsmasq_extra_volumes }}" dimensions: "{{ ironic_dnsmasq_dimensions }}" @@ -153,6 +121,53 @@ ironic_ipxe_dimensions: "{{ default_container_dimensions }}" ironic_inspector_dimensions: "{{ default_container_dimensions }}" ironic_dnsmasq_dimensions: "{{ default_container_dimensions }}" +ironic_api_default_volumes: + - "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla" + - "{{ kolla_dev_repos_directory ~ '/ironic/ironic:/var/lib/kolla/venv/lib/python2.7/site-packages/ironic' if ironic_dev_mode | bool else '' }}" +ironic_conductor_default_volumes: + - "{{ node_config_directory }}/ironic-conductor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/sys:/sys" + - "/dev:/dev" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla" + - "ironic:/var/lib/ironic" + - "ironic_pxe:/tftpboot/" + - "ironic_ipxe:/httpboot/" + - "{{ kolla_dev_repos_directory ~ '/ironic/ironic:/var/lib/kolla/venv/lib/python2.7/site-packages/ironic' if ironic_dev_mode | bool else '' }}" +ironic_pxe_default_volumes: + - "{{ node_config_directory }}/ironic-pxe/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "ironic_pxe:/tftpboot/" + - "kolla_logs:/var/log/kolla" +ironic_ipxe_default_volumes: + - "{{ node_config_directory }}/ironic-ipxe/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "ironic_ipxe:/httpboot/" + - "kolla_logs:/var/log/kolla" +ironic_inspector_default_volumes: + - "{{ node_config_directory }}/ironic-inspector/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla" + - "ironic_inspector_dhcp_hosts:/var/lib/ironic-inspector/dhcp-hostsdir" + - "{{ kolla_dev_repos_directory ~ '/ironic-inspector/ironic_inspector:/var/lib/kolla/venv/lib/python2.7/site-packages/ironic_inspector' if ironic_dev_mode | bool else '' }}" +ironic_dnsmasq_default_volumes: + - "{{ node_config_directory }}/ironic-dnsmasq/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla" + - "ironic_inspector_dhcp_hosts:/etc/dnsmasq/dhcp-hostsdir:ro" + +ironic_extra_volumes: "{{ default_extra_volumes }}" +ironic_api_extra_volumes: "{{ ironic_extra_volumes }}" +ironic_conductor_extra_volumes: "{{ ironic_extra_volumes }}" +ironic_pxe_extra_volumes: "{{ ironic_extra_volumes }}" +ironic_ipxe_extra_volumes: "{{ ironic_extra_volumes }}" +ironic_inspector_extra_volumes: "{{ ironic_extra_volumes }}" +ironic_dnsmasq_extra_volumes: "{{ ironic_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/keystone/defaults/main.yml b/ansible/roles/keystone/defaults/main.yml index 5154c45a4e..0e2d21fc57 100644 --- a/ansible/roles/keystone/defaults/main.yml +++ b/ansible/roles/keystone/defaults/main.yml @@ -7,12 +7,7 @@ keystone_services: group: "keystone" enabled: true image: "{{ keystone_image_full }}" - volumes: - - "{{ node_config_directory }}/keystone/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/keystone/keystone:/var/lib/kolla/venv/lib/python2.7/site-packages/keystone' if keystone_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" - - "{% if keystone_token_provider == 'fernet' %}keystone_fernet_tokens:/etc/keystone/fernet-keys{% endif %}" + volumes: "{{ keystone_default_volumes + keystone_extra_volumes }}" dimensions: "{{ keystone_dimensions }}" haproxy: keystone_internal: @@ -94,6 +89,15 @@ keystone_dimensions: "{{ default_container_dimensions }}" keystone_fernet_dimensions: "{{ default_container_dimensions }}" keystone_ssh_dimensions: "{{ default_container_dimensions }}" +keystone_default_volumes: + - "{{ node_config_directory }}/keystone/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/keystone/keystone:/var/lib/kolla/venv/lib/python2.7/site-packages/keystone' if keystone_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + - "{% if keystone_token_provider == 'fernet' %}keystone_fernet_tokens:/etc/keystone/fernet-keys{% endif %}" + +keystone_extra_volumes: "{{ default_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/kuryr/defaults/main.yml b/ansible/roles/kuryr/defaults/main.yml index 6a62b94b7f..b16bce3c05 100644 --- a/ansible/roles/kuryr/defaults/main.yml +++ b/ansible/roles/kuryr/defaults/main.yml @@ -17,15 +17,7 @@ kuryr_services: privileged: True cap_add: - NET_ADMIN - volumes: - - "{{ node_config_directory }}/kuryr/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run:/run:shared" - - "/usr/lib/docker:/usr/lib/docker" - - "{{ kolla_dev_repos_directory ~ '/kuryr/kuryr:/var/lib/kolla/venv/lib/python2.7/site-packages/kuryr' if kuryr_dev_mode | bool else '' }}" - - "{{ kolla_dev_repos_directory ~ '/kuryr-libnetwork/kuryr_libnetwork:/var/lib/kolla/venv/lib/python2.7/site-packages/kuryr_libnetwork' if kuryr_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ kuryr_default_volumes + kuryr_extra_volumes }}" dimensions: "{{ kuryr_dimensions }}" @@ -36,6 +28,17 @@ kuryr_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_na kuryr_tag: "{{ openstack_release }}" kuryr_image_full: "{{ kuryr_image }}:{{ kuryr_tag }}" +kuryr_default_volumes: + - "{{ node_config_directory }}/kuryr/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run:/run:shared" + - "/usr/lib/docker:/usr/lib/docker" + - "{{ kolla_dev_repos_directory ~ '/kuryr/kuryr:/var/lib/kolla/venv/lib/python2.7/site-packages/kuryr' if kuryr_dev_mode | bool else '' }}" + - "{{ kolla_dev_repos_directory ~ '/kuryr-libnetwork/kuryr_libnetwork:/var/lib/kolla/venv/lib/python2.7/site-packages/kuryr_libnetwork' if kuryr_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + +kuryr_extra_volumes: "{{ default_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/magnum/defaults/main.yml b/ansible/roles/magnum/defaults/main.yml index 781bc1f81b..559035ae91 100644 --- a/ansible/roles/magnum/defaults/main.yml +++ b/ansible/roles/magnum/defaults/main.yml @@ -9,11 +9,7 @@ magnum_services: image: "{{ magnum_api_image_full }}" environment: DUMMY_ENVIRONMENT: kolla_useless_env - volumes: - - "{{ node_config_directory }}/magnum-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/magnum/magnum:/var/lib/kolla/venv/lib/python2.7/site-packages/magnum' if magnum_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ magnum_api_default_volumes + magnum_api_extra_volumes }}" dimensions: "{{ magnum_api_dimensions }}" haproxy: magnum_api: @@ -32,12 +28,7 @@ magnum_services: enabled: true image: "{{ magnum_conductor_image_full }}" environment: "{{ container_proxy }}" - volumes: - - "{{ node_config_directory }}/magnum-conductor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "magnum:/var/lib/magnum/" - - "{{ kolla_dev_repos_directory ~ '/magnum/magnum:/var/lib/kolla/venv/lib/python2.7/site-packages/magnum' if magnum_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ magnum_conductor_default_volumes + magnum_conductor_extra_volumes }}" dimensions: "{{ magnum_conductor_dimensions }}" @@ -75,6 +66,21 @@ magnum_conductor_image_full: "{{ magnum_conductor_image }}:{{ magnum_conductor_t magnum_api_dimensions: "{{ default_container_dimensions }}" magnum_conductor_dimensions: "{{ default_container_dimensions }}" +magnum_api_default_volumes: + - "{{ node_config_directory }}/magnum-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/magnum/magnum:/var/lib/kolla/venv/lib/python2.7/site-packages/magnum' if magnum_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +magnum_conductor_default_volumes: + - "{{ node_config_directory }}/magnum-conductor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "magnum:/var/lib/magnum/" + - "{{ kolla_dev_repos_directory ~ '/magnum/magnum:/var/lib/kolla/venv/lib/python2.7/site-packages/magnum' if magnum_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + +magnum_extra_volumes: "{{ default_extra_volumes }}" +magnum_api_extra_volumes: "{{ magnum_extra_volumes }}" +magnum_conductor_extra_volumes: "{{ magnum_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/manila/defaults/main.yml b/ansible/roles/manila/defaults/main.yml index f206d963b3..264ac68812 100644 --- a/ansible/roles/manila/defaults/main.yml +++ b/ansible/roles/manila/defaults/main.yml @@ -7,11 +7,7 @@ manila_services: group: "manila-api" image: "{{ manila_api_image_full }}" enabled: True - volumes: - - "{{ 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 '' }}" + volumes: "{{ manila_api_default_volumes + manila_api_extra_volumes }}" dimensions: "{{ manila_api_dimensions }}" haproxy: manila_api: @@ -29,11 +25,7 @@ manila_services: group: "manila-scheduler" image: "{{ manila_scheduler_image_full }}" enabled: True - volumes: - - "{{ 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 '' }}" + volumes: "{{ manila_scheduler_default_volumes + manila_scheduler_extra_volumes }}" dimensions: "{{ manila_scheduler_dimensions }}" manila-share: container_name: "manila_share" @@ -41,13 +33,7 @@ manila_services: image: "{{ manila_share_image_full }}" enabled: True privileged: True - volumes: - - "{{ node_config_directory }}/manila-share/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run/:/run/:shared" - - "kolla_logs:/var/log/kolla/" - - "/lib/modules:/lib/modules:ro" - - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}" + volumes: "{{ manila_share_default_volumes + manila_share_extra_volumes }}" dimensions: "{{ manila_share_dimensions }}" manila-data: container_name: "manila_data" @@ -55,13 +41,7 @@ manila_services: image: "{{ manila_data_image_full }}" enabled: True privileged: True - volumes: - - "{{ node_config_directory }}/manila-data/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/dev/:/dev/" - - "/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 '' }}" + volumes: "{{ manila_data_default_volumes + manila_data_extra_volumes }}" dimensions: "{{ manila_data_dimensions }}" @@ -115,6 +95,36 @@ manila_scheduler_dimensions: "{{ default_container_dimensions }}" manila_api_dimensions: "{{ default_container_dimensions }}" manila_data_dimensions: "{{ default_container_dimensions }}" +manila_share_default_volumes: + - "{{ node_config_directory }}/manila-share/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run/:/run/:shared" + - "kolla_logs:/var/log/kolla/" + - "/lib/modules:/lib/modules:ro" + - "{{ kolla_dev_repos_directory ~ '/manila/manila:/var/lib/kolla/venv/lib/python2.7/site-packages/manila' if manila_dev_mode | bool else '' }}" +manila_scheduler_default_volumes: + - "{{ 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_api_default_volumes: + - "{{ 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_data_default_volumes: + - "{{ node_config_directory }}/manila-data/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/dev/:/dev/" + - "/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_extra_volumes: "{{ default_extra_volumes }}" +manila_share_extra_volumes: "{{ manila_extra_volumes }}" +manila_scheduler_extra_volumes: "{{ manila_extra_volumes }}" +manila_api_extra_volumes: "{{ manila_extra_volumes }}" +manila_data_extra_volumes: "{{ manila_extra_volumes }}" ##################### ## OpenStack diff --git a/ansible/roles/mistral/defaults/main.yml b/ansible/roles/mistral/defaults/main.yml index ad2e497f79..8982e53e7a 100644 --- a/ansible/roles/mistral/defaults/main.yml +++ b/ansible/roles/mistral/defaults/main.yml @@ -7,11 +7,7 @@ mistral_services: group: mistral-api enabled: true image: "{{ mistral_api_image_full }}" - volumes: - - "{{ node_config_directory }}/mistral-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" + volumes: "{{ mistral_api_default_volumes + mistral_api_extra_volumes }}" dimensions: "{{ mistral_api_dimensions }}" haproxy: mistral_api: @@ -29,33 +25,21 @@ mistral_services: group: mistral-engine enabled: true image: "{{ mistral_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/mistral-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" + volumes: "{{ mistral_engine_default_volumes + mistral_engine_extra_volumes }}" dimensions: "{{ mistral_engine_dimensions }}" mistral-event-engine: container_name: mistral_event_engine group: mistral-event-engine enabled: true image: "{{ mistral_event_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/mistral-event-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" + volumes: "{{ mistral_event_engine_default_volumes + mistral_event_engine_extra_volumes }}" dimensions: "{{ mistral_event_engine_dimensions }}" mistral-executor: container_name: mistral_executor group: mistral-executor enabled: true image: "{{ mistral_executor_image_full }}" - volumes: - - "{{ node_config_directory }}/mistral-executor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" + volumes: "{{ mistral_executor_default_volumes + mistral_executor_extra_volumes }}" dimensions: "{{ mistral_executor_dimensions }}" @@ -94,6 +78,32 @@ mistral_event_engine_dimensions: "{{ default_container_dimensions }}" mistral_executor_dimensions: "{{ default_container_dimensions }}" mistral_api_dimensions: "{{ default_container_dimensions }}" +mistral_engine_default_volumes: + - "{{ node_config_directory }}/mistral-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" +mistral_event_engine_default_volumes: + - "{{ node_config_directory }}/mistral-event-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" +mistral_executor_default_volumes: + - "{{ node_config_directory }}/mistral-executor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" +mistral_api_default_volumes: + - "{{ node_config_directory }}/mistral-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/mistral/mistral:/var/lib/kolla/venv/lib/python2.7/site-packages/mistral' if mistral_dev_mode | bool else '' }}" + +mistral_extra_volumes: "{{ default_extra_volumes }}" +mistral_engine_extra_volumes: "{{ mistral_extra_volumes }}" +mistral_event_engine_extra_volumes: "{{ mistral_extra_volumes }}" +mistral_executor_extra_volumes: "{{ mistral_extra_volumes }}" +mistral_api_extra_volumes: "{{ mistral_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/murano/defaults/main.yml b/ansible/roles/murano/defaults/main.yml index 3e5431a3ad..0fcba7d1a9 100644 --- a/ansible/roles/murano/defaults/main.yml +++ b/ansible/roles/murano/defaults/main.yml @@ -7,11 +7,7 @@ murano_services: group: murano-api enabled: true image: "{{ murano_api_image_full }}" - volumes: - - "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro" - - "{{ kolla_dev_repos_directory ~ '/murano/murano:/var/lib/kolla/venv/lib/python2.7/site-packages/murano' if murano_dev_mode | bool else '' }}" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ murano_api_default_volumes + murano_api_extra_volumes }}" dimensions: "{{ murano_api_dimensions }}" haproxy: murano_api: @@ -29,11 +25,7 @@ murano_services: group: murano-engine enabled: true image: "{{ murano_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/murano-engine/:{{ container_config_directory }}/:ro" - - "{{ kolla_dev_repos_directory ~ '/murano/murano:/var/lib/kolla/venv/lib/python2.7/site-packages/murano' if murano_dev_mode | bool else '' }}" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ murano_engine_default_volumes + murano_engine_extra_volumes }}" dimensions: "{{ murano_engine_dimensions }}" @@ -62,6 +54,20 @@ murano_engine_image_full: "{{ murano_engine_image }}:{{ murano_engine_tag }}" murano_api_dimensions: "{{ default_container_dimensions }}" murano_engine_dimensions: "{{ default_container_dimensions }}" +murano_api_default_volumes: + - "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro" + - "{{ kolla_dev_repos_directory ~ '/murano/murano:/var/lib/kolla/venv/lib/python2.7/site-packages/murano' if murano_dev_mode | bool else '' }}" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" +murano_engine_default_volumes: + - "{{ node_config_directory }}/murano-engine/:{{ container_config_directory }}/:ro" + - "{{ kolla_dev_repos_directory ~ '/murano/murano:/var/lib/kolla/venv/lib/python2.7/site-packages/murano' if murano_dev_mode | bool else '' }}" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + +murano_extra_volumes: "{{ default_extra_volumes }}" +murano_api_extra_volumes: "{{ murano_extra_volumes }}" +murano_engine_extra_volumes: "{{ murano_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml index 0607af41c7..d308869b85 100644 --- a/ansible/roles/neutron/defaults/main.yml +++ b/ansible/roles/neutron/defaults/main.yml @@ -8,11 +8,7 @@ neutron_services: enabled: true group: "neutron-server" host_in_groups: "{{ inventory_hostname in groups['neutron-server'] }}" - volumes: - - "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_server_default_volumes + neutron_server_extra_volumes }}" dimensions: "{{ neutron_server_dimensions }}" haproxy: neutron_server: @@ -49,13 +45,7 @@ neutron_services: and enable_nova_fake | bool ) }} - volumes: - - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_openvswitch_agent_default_volumes + neutron_openvswitch_agent_extra_volumes }}" dimensions: "{{ neutron_openvswitch_agent_dimensions }}" neutron-openvswitch-agent-xenapi: container_name: "neutron_openvswitch_agent_xenapi" @@ -66,13 +56,7 @@ neutron_services: {{ inventory_hostname in groups['compute'] }} - volumes: - - "{{ node_config_directory }}/neutron-openvswitch-agent-xenapi/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_openvswitch_agent_xenapi_default_volumes + neutron_openvswitch_agent_xenapi_extra_volumes }}" dimensions: "{{ neutron_openvswitch_agent_xenapi_dimensions }}" neutron-linuxbridge-agent: container_name: "neutron_linuxbridge_agent" @@ -91,13 +75,7 @@ neutron_services: or inventory_hostname in groups['neutron-l3-agent'] or inventory_hostname in groups['neutron-metadata-agent'] }} - volumes: - - "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_linuxbridge_agent_default_volumes + neutron_linuxbridge_agent_extra_volumes }}" dimensions: "{{ neutron_linuxbridge_agent_dimensions }}" neutron-dhcp-agent: container_name: "neutron_dhcp_agent" @@ -106,13 +84,7 @@ neutron_services: enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] and not enable_onos | bool }}" group: "neutron-dhcp-agent" host_in_groups: "{{ inventory_hostname in groups['neutron-dhcp-agent'] }}" - volumes: - - "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run/:/run/:shared" - - "neutron_metadata_socket:/var/lib/neutron/kolla/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_dhcp_agent_default_volumes + neutron_dhcp_agent_extra_volumes }}" dimensions: "{{ neutron_dhcp_agent_dimensions }}" neutron-l3-agent: container_name: "neutron_l3_agent" @@ -124,14 +96,7 @@ neutron_services: inventory_hostname in groups['neutron-l3-agent'] or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool) }} - volumes: - - "{{ node_config_directory }}/neutron-l3-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run:/run:shared" - - "neutron_metadata_socket:/var/lib/neutron/kolla/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_l3_agent_default_volumes + neutron_l3_agent_extra_volumes }}" dimensions: "{{ neutron_l3_agent_dimensions }}" neutron-lbaas-agent: container_name: "neutron_lbaas_agent" @@ -140,11 +105,7 @@ neutron_services: enabled: "{{ enable_neutron_lbaas | bool and not enable_octavia | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_dvs'] }}" group: "neutron-lbaas-agent" host_in_groups: "{{ inventory_hostname in groups['neutron-lbaas-agent'] }}" - volumes: - - "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ neutron_lbaas_agent_default_volumes + neutron_lbaas_agent_extra_volumes }}" dimensions: "{{ neutron_lbaas_agent_dimensions }}" neutron-sriov-agent: container_name: "neutron_sriov_agent" @@ -152,12 +113,7 @@ neutron_services: privileged: True enabled: "{{ enable_neutron_sriov | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3' ] }}" host_in_groups: "{{ inventory_hostname in groups['compute'] }}" - volumes: - - "{{ node_config_directory }}/neutron-sriov-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_sriov_agent_default_volumes + neutron_sriov_agent_extra_volumes }}" dimensions: "{{ neutron_sriov_agent_dimensions }}" neutron-metadata-agent: container_name: "neutron_metadata_agent" @@ -169,13 +125,7 @@ neutron_services: inventory_hostname in groups['neutron-metadata-agent'] or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool) }} - volumes: - - "{{ node_config_directory }}/neutron-metadata-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run/:/run/:shared" - - "neutron_metadata_socket:/var/lib/neutron/kolla/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_metadata_agent_default_volumes + neutron_metadata_agent_extra_volumes }}" dimensions: "{{ neutron_metadata_agent_dimensions }}" neutron-bgp-dragent: container_name: "neutron_bgp_dragent" @@ -184,11 +134,7 @@ neutron_services: enabled: "{{ enable_neutron_bgp_dragent | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] }}" group: "neutron-bgp-dragent" host_in_groups: "{{ inventory_hostname in groups['neutron-bgp-dragent'] }}" - volumes: - - "{{ node_config_directory }}/neutron-bgp-dragent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ neutron_bgp_dragent_default_volumes + neutron_bgp_dragent_extra_volumes }}" dimensions: "{{ neutron_bgp_dragent_dimensions }}" neutron-infoblox-ipam-agent: container_name: "neutron_infoblox_ipam_agent" @@ -197,11 +143,7 @@ neutron_services: enabled: "{{ enable_neutron_infoblox_ipam_agent | bool }}" group: "neutron-infoblox-ipam-agent" host_in_groups: "{{ inventory_hostname in groups['neutron-infoblox-ipam-agent'] }}" - volumes: - - "{{ node_config_directory }}/neutron-infoblox-ipam-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ neutron_infoblox_ipam_agent_default_volumes + neutron_infoblox_ipam_agent_extra_volumes }}" dimensions: "{{ neutron_infoblox_ipam_agent_dimensions }}" neutron-metering-agent: container_name: "neutron_metering_agent" @@ -210,12 +152,7 @@ neutron_services: enabled: "{{ enable_neutron_metering | bool }}" group: "neutron-metering-agent" host_in_groups: "{{ inventory_hostname in groups['neutron-metering-agent'] }}" - volumes: - - "{{ node_config_directory }}/neutron-metering-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/run:/run:shared" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" + volumes: "{{ neutron_metering_agent_default_volumes + neutron_metering_agent_extra_volumes }}" dimensions: "{{ neutron_metering_agent_dimensions }}" ironic-neutron-agent: container_name: "ironic_neutron_agent" @@ -224,10 +161,7 @@ neutron_services: enabled: "{{ enable_ironic_neutron_agent | bool }}" group: "ironic-neutron-agent" host_in_groups: "{{ inventory_hostname in groups['ironic-neutron-agent'] }}" - volumes: - - "{{ node_config_directory }}/ironic-neutron-agent/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ ironic_neutron_agent_default_volumes + ironic_neutron_agent_extra_volumes }}" dimensions: "{{ ironic_neutron_agent_dimensions }}" #################### @@ -307,6 +241,101 @@ neutron_metering_agent_dimensions: "{{ default_container_dimensions }}" ironic_neutron_agent_dimensions: "{{ default_container_dimensions }}" +neutron_dhcp_agent_default_volumes: + - "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run/:/run/:shared" + - "neutron_metadata_socket:/var/lib/neutron/kolla/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_l3_agent_default_volumes: + - "{{ node_config_directory }}/neutron-l3-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run:/run:shared" + - "neutron_metadata_socket:/var/lib/neutron/kolla/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_lbaas_agent_default_volumes: + - "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" +neutron_sriov_agent_default_volumes: + - "{{ node_config_directory }}/neutron-sriov-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_linuxbridge_agent_default_volumes: + - "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_metadata_agent_default_volumes: + - "{{ node_config_directory }}/neutron-metadata-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run/:/run/:shared" + - "neutron_metadata_socket:/var/lib/neutron/kolla/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_openvswitch_agent_default_volumes: + - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_server_default_volumes: + - "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_bgp_dragent_default_volumes: + - "{{ node_config_directory }}/neutron-bgp-dragent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" +neutron_infoblox_ipam_agent_default_volumes: + - "{{ node_config_directory }}/neutron-infoblox-ipam-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" +neutron_openvswitch_agent_xenapi_default_volumes: + - "{{ node_config_directory }}/neutron-openvswitch-agent-xenapi/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +neutron_metering_agent_default_volumes: + - "{{ node_config_directory }}/neutron-metering-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/run:/run:shared" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/neutron/neutron:/var/lib/kolla/venv/lib/python2.7/site-packages/neutron' if neutron_dev_mode | bool else '' }}" +ironic_neutron_agent_default_volumes: + - "{{ node_config_directory }}/ironic-neutron-agent/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + +neutron_extra_volumes: "{{ default_extra_volumes }}" +neutron_dhcp_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_l3_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_lbaas_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_sriov_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_linuxbridge_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_metadata_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_openvswitch_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_server_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_bgp_dragent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_infoblox_ipam_agent_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_openvswitch_agent_xenapi_extra_volumes: "{{ neutron_extra_volumes }}" +neutron_metering_agent_extra_volumes: "{{ neutron_extra_volumes }}" +ironic_neutron_agent_extra_volumes: "{{ neutron_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index 8081b7ad45..dd9f45eedb 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -9,32 +9,14 @@ nova_services: image: "{{ nova_libvirt_image_full }}" pid_mode: "host" privileged: True - volumes: - - "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run/:/run/:shared" - - "/dev:/dev" - - "/sys/fs/cgroup:/sys/fs/cgroup" - - "kolla_logs:/var/log/kolla/" - - "libvirtd:/var/lib/libvirt" - - "{{ nova_instance_datadir_volume }}:/var/lib/nova/" - - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}" - - "nova_libvirt_qemu:/etc/libvirt/qemu" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_libvirt_default_volumes + nova_libvirt_extra_volumes }}" dimensions: "{{ nova_libvirt_dimensions }}" nova-ssh: container_name: "nova_ssh" group: "compute" image: "{{ nova_ssh_image_full }}" enabled: "{{ enable_nova_ssh | bool }}" - volumes: - - "{{ node_config_directory }}/nova-ssh/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla" - - "{{ nova_instance_datadir_volume }}:/var/lib/nova" - - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_ssh_default_volumes + nova_ssh_extra_volumes }}" dimensions: "{{ nova_ssh_dimensions }}" nova-api: container_name: "nova_api" @@ -42,12 +24,7 @@ nova_services: image: "{{ nova_api_image_full }}" enabled: True privileged: True - volumes: - - "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_api_default_volumes + nova_api_extra_volumes }}" dimensions: "{{ nova_api_dimensions }}" haproxy: nova_api: @@ -85,22 +62,14 @@ nova_services: group: "nova-consoleauth" image: "{{ nova_consoleauth_image_full }}" enabled: True - volumes: - - "{{ node_config_directory }}/nova-consoleauth/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_consoleauth_default_volumes + nova_consoleauth_extra_volumes }}" dimensions: "{{ nova_consoleauth_dimensions }}" nova-novncproxy: container_name: "nova_novncproxy" group: "nova-novncproxy" image: "{{ nova_novncproxy_image_full }}" enabled: "{{ nova_console == 'novnc' }}" - volumes: - - "{{ node_config_directory }}/nova-novncproxy/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_novncproxy_default_volumes + nova_novncproxy_extra_volumes }}" dimensions: "{{ nova_novncproxy_dimensions }}" haproxy: nova_novncproxy: @@ -122,22 +91,14 @@ nova_services: group: "nova-scheduler" image: "{{ nova_scheduler_image_full }}" enabled: True - volumes: - - "{{ node_config_directory }}/nova-scheduler/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_scheduler_default_volumes + nova_scheduler_extra_volumes }}" dimensions: "{{ nova_scheduler_dimensions }}" nova-spicehtml5proxy: container_name: "nova_spicehtml5proxy" group: "nova-spicehtml5proxy" image: "{{ nova_spicehtml5proxy_image_full }}" enabled: "{{ nova_console == 'spice' }}" - volumes: - - "{{ node_config_directory }}/nova-spicehtml5proxy/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_spicehtml5proxy_default_volumes + nova_spicehtml5proxy_extra_volumes }}" dimensions: "{{ nova_spicehtml5proxy_dimensions }}" haproxy: nova_spicehtml5proxy: @@ -157,11 +118,7 @@ nova_services: group: "nova-serialproxy" image: "{{ nova_serialproxy_image_full }}" enabled: "{{ enable_nova_serialconsole_proxy | bool }}" - volumes: - - "{{ node_config_directory }}/nova-serialproxy/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_serialproxy_default_volumes + nova_serialproxy_extra_volumes }}" dimensions: "{{ nova_serialproxy_dimensions }}" haproxy: nova_serialconsole_proxy: @@ -185,11 +142,7 @@ nova_services: group: "nova-conductor" enabled: True image: "{{ nova_conductor_image_full }}" - volumes: - - "{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_conductor_default_volumes + nova_conductor_extra_volumes }}" dimensions: "{{ nova_conductor_dimensions }}" nova-compute: container_name: "nova_compute" @@ -200,29 +153,14 @@ nova_services: privileged: True enabled: "{{ not enable_nova_fake | bool }}" ipc_mode: "host" - volumes: - - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "/lib/modules:/lib/modules:ro" - - "/run:/run:shared" - - "/dev:/dev" - - "kolla_logs:/var/log/kolla/" - - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}" - - "libvirtd:/var/lib/libvirt" - - "{{ nova_instance_datadir_volume }}:/var/lib/nova/" - - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_compute_default_volumes + nova_compute_extra_volumes }}" dimensions: "{{ nova_compute_dimensions }}" nova-compute-ironic: container_name: "nova_compute_ironic" group: "nova-compute-ironic" image: "{{ nova_compute_ironic_image_full }}" enabled: "{{ enable_ironic | bool }}" - volumes: - - "{{ node_config_directory }}/nova-compute-ironic/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + volumes: "{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}" dimensions: "{{ nova_compute_ironic_dimensions }}" #################### @@ -329,6 +267,94 @@ nova_conductor_dimensions: "{{ default_container_dimensions }}" nova_compute_dimensions: "{{ default_container_dimensions }}" nova_compute_ironic_dimensions: "{{ default_container_dimensions }}" +nova_libvirt_default_volumes: + - "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run/:/run/:shared" + - "/dev:/dev" + - "/sys/fs/cgroup:/sys/fs/cgroup" + - "kolla_logs:/var/log/kolla/" + - "libvirtd:/var/lib/libvirt" + - "{{ nova_instance_datadir_volume }}:/var/lib/nova/" + - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}" + - "nova_libvirt_qemu:/etc/libvirt/qemu" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_ssh_default_volumes: + - "{{ node_config_directory }}/nova-ssh/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla" + - "{{ nova_instance_datadir_volume }}:/var/lib/nova" + - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_api_default_volumes: + - "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_consoleauth_default_volumes: + - "{{ node_config_directory }}/nova-consoleauth/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_novncproxy_default_volumes: + - "{{ node_config_directory }}/nova-novncproxy/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_scheduler_default_volumes: + - "{{ node_config_directory }}/nova-scheduler/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_spicehtml5proxy_default_volumes: + - "{{ node_config_directory }}/nova-spicehtml5proxy/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_serialproxy_default_volumes: + - "{{ node_config_directory }}/nova-serialproxy/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_conductor_default_volumes: + - "{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_compute_default_volumes: + - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "/lib/modules:/lib/modules:ro" + - "/run:/run:shared" + - "/dev:/dev" + - "kolla_logs:/var/log/kolla/" + - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}" + - "libvirtd:/var/lib/libvirt" + - "{{ nova_instance_datadir_volume }}:/var/lib/nova/" + - "{% if enable_shared_var_lib_nova_mnt | bool %}/var/lib/nova/mnt:/var/lib/nova/mnt:shared{% endif %}" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" +nova_compute_ironic_default_volumes: + - "{{ node_config_directory }}/nova-compute-ironic/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/nova/nova:/var/lib/kolla/venv/lib/python2.7/site-packages/nova' if nova_dev_mode | bool else '' }}" + +nova_extra_volumes: "{{ default_extra_volumes }}" +nova_libvirt_extra_volumes: "{{ nova_extra_volumes }}" +nova_ssh_extra_volumes: "{{ nova_extra_volumes }}" +nova_api_extra_volumes: "{{ nova_extra_volumes }}" +nova_consoleauth_extra_volumes: "{{ nova_extra_volumes }}" +nova_novncproxy_extra_volumes: "{{ nova_extra_volumes }}" +nova_scheduler_extra_volumes: "{{ nova_extra_volumes }}" +nova_spicehtml5proxy_extra_volumes: "{{ nova_extra_volumes }}" +nova_serialproxy_extra_volumes: "{{ nova_extra_volumes }}" +nova_conductor_extra_volumes: "{{ nova_extra_volumes }}" +nova_compute_extra_volumes: "{{ nova_extra_volumes }}" +nova_compute_ironic_extra_volumes: "{{ nova_extra_volumes }}" + + #################### # HAProxy #################### diff --git a/ansible/roles/octavia/defaults/main.yml b/ansible/roles/octavia/defaults/main.yml index 3ec8162564..984f990fca 100644 --- a/ansible/roles/octavia/defaults/main.yml +++ b/ansible/roles/octavia/defaults/main.yml @@ -7,10 +7,7 @@ octavia_services: group: octavia-api enabled: true image: "{{ octavia_api_image_full }}" - volumes: - - "{{ node_config_directory }}/octavia-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ octavia_api_default_volumes + octavia_api_extra_volumes }}" dimensions: "{{ octavia_api_dimensions }}" haproxy: octavia_api: @@ -28,30 +25,21 @@ octavia_services: group: octavia-health-manager enabled: true image: "{{ octavia_health_manager_image_full }}" - volumes: - - "{{ node_config_directory }}/octavia-health-manager/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ octavia_health_manager_default_volumes + octavia_health_manager_extra_volumes }}" dimensions: "{{ octavia_health_manager_dimensions }}" octavia-housekeeping: container_name: octavia_housekeeping group: octavia-housekeeping enabled: true image: "{{ octavia_housekeeping_image_full }}" - volumes: - - "{{ node_config_directory }}/octavia-housekeeping/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ octavia_housekeeping_default_volumes + octavia_housekeeping_extra_volumes }}" dimensions: "{{ octavia_housekeeping_dimensions }}" octavia-worker: container_name: octavia_worker group: octavia-worker enabled: true image: "{{ octavia_worker_image_full }}" - volumes: - - "{{ node_config_directory }}/octavia-worker/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ octavia_worker_default_volumes + octavia_worker_extra_volumes }}" dimensions: "{{ octavia_worker_dimensions }}" octavia_required_roles: @@ -97,6 +85,28 @@ octavia_health_manager_dimensions: "{{ default_container_dimensions }}" octavia_housekeeping_dimensions: "{{ default_container_dimensions }}" octavia_worker_dimensions: "{{ default_container_dimensions }}" +octavia_api_default_volumes: + - "{{ node_config_directory }}/octavia-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" +octavia_health_manager_default_volumes: + - "{{ node_config_directory }}/octavia-health-manager/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" +octavia_housekeeping_default_volumes: + - "{{ node_config_directory }}/octavia-housekeeping/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" +octavia_worker_default_volumes: + - "{{ node_config_directory }}/octavia-worker/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + +octavia_extra_volumes: "{{ default_extra_volumes }}" +octavia_api_extra_volumes: "{{ octavia_extra_volumes }}" +octavia_health_manager_extra_volumes: "{{ octavia_extra_volumes }}" +octavia_housekeeping_extra_volumes: "{{ octavia_extra_volumes }}" +octavia_worker_extra_volumes: "{{ octavia_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/panko/defaults/main.yml b/ansible/roles/panko/defaults/main.yml index c9cf7bb6e8..fca49b54e3 100644 --- a/ansible/roles/panko/defaults/main.yml +++ b/ansible/roles/panko/defaults/main.yml @@ -7,10 +7,7 @@ panko_services: group: panko-api enabled: true image: "{{ panko_api_image_full }}" - volumes: - - "{{ node_config_directory }}/panko-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ panko_api_default_volumes + panko_api_extra_volumes }}" dimensions: "{{ panko_api_dimensions }}" haproxy: panko_api: @@ -43,6 +40,12 @@ panko_api_tag: "{{ openstack_release }}" panko_api_image_full: "{{ panko_api_image }}:{{ panko_api_tag }}" panko_api_dimensions: "{{ default_container_dimensions }}" +panko_api_default_volumes: + - "{{ node_config_directory }}/panko-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" +panko_api_extra_volumes: "{{ default_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/placement/defaults/main.yml b/ansible/roles/placement/defaults/main.yml index a25496f28d..bcc583124a 100644 --- a/ansible/roles/placement/defaults/main.yml +++ b/ansible/roles/placement/defaults/main.yml @@ -7,11 +7,7 @@ placement_services: group: "placement-api" image: "{{ placement_api_image_full }}" enabled: True - volumes: - - "{{ node_config_directory }}/placement-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/placement/placement:/var/lib/kolla/venv/lib/python2.7/site-packages/placement' if placement_dev_mode | bool else '' }}" + volumes: "{{ placement_api_default_volumes + placement_api_extra_volumes }}" dimensions: "{{ placement_api_dimensions }}" haproxy: placement_api: @@ -46,6 +42,14 @@ placement_api_image_full: "{{ placement_api_image }}:{{ placement_api_tag }}" placement_api_dimensions: "{{ default_container_dimensions }}" +placement_api_default_volumes: + - "{{ node_config_directory }}/placement-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/placement/placement:/var/lib/kolla/venv/lib/python2.7/site-packages/placement' if placement_dev_mode | bool else '' }}" + +placement_api_extra_volumes: "{{ default_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/sahara/defaults/main.yml b/ansible/roles/sahara/defaults/main.yml index 89edd7a580..0c86d2867a 100644 --- a/ansible/roles/sahara/defaults/main.yml +++ b/ansible/roles/sahara/defaults/main.yml @@ -7,12 +7,7 @@ sahara_services: group: sahara-api enabled: true image: "{{ sahara_api_image_full }}" - volumes: - - "{{ node_config_directory }}/sahara-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "sahara:/var/lib/sahara/" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/sahara/sahara:/var/lib/kolla/venv/lib/python2.7/site-packages/sahara' if sahara_dev_mode | bool else '' }}" + volumes: "{{ sahara_api_default_volumes + sahara_api_extra_volumes }}" dimensions: "{{ sahara_api_dimensions }}" haproxy: sahara_api: @@ -31,13 +26,7 @@ sahara_services: enabled: true image: "{{ sahara_engine_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/sahara-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "sahara:/var/lib/sahara/" - - "kolla_logs:/var/log/kolla/" - - "/run:/run:shared" - - "{{ kolla_dev_repos_directory ~ '/sahara/sahara:/var/lib/kolla/venv/lib/python2.7/site-packages/sahara' if sahara_dev_mode | bool else '' }}" + volumes: "{{ sahara_engine_default_volumes + sahara_engine_extra_volumes }}" dimensions: "{{ sahara_engine_dimensions }}" @@ -66,6 +55,24 @@ sahara_api_image_full: "{{ sahara_api_image }}:{{ sahara_api_tag }}" sahara_api_dimensions: "{{ default_container_dimensions }}" sahara_engine_dimensions: "{{ default_container_dimensions }}" +sahara_api_default_volumes: + - "{{ node_config_directory }}/sahara-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "sahara:/var/lib/sahara/" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/sahara/sahara:/var/lib/kolla/venv/lib/python2.7/site-packages/sahara' if sahara_dev_mode | bool else '' }}" +sahara_engine_default_volumes: + - "{{ node_config_directory }}/sahara-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "sahara:/var/lib/sahara/" + - "kolla_logs:/var/log/kolla/" + - "/run:/run:shared" + - "{{ kolla_dev_repos_directory ~ '/sahara/sahara:/var/lib/kolla/venv/lib/python2.7/site-packages/sahara' if sahara_dev_mode | bool else '' }}" + +sahara_extra_volumes: "{{ default_extra_volumes }}" +sahara_api_extra_volumes: "{{ sahara_extra_volumes }}" +sahara_engine_extra_volumes: "{{ sahara_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/senlin/defaults/main.yml b/ansible/roles/senlin/defaults/main.yml index 56c6cd9a5b..35a8022d67 100644 --- a/ansible/roles/senlin/defaults/main.yml +++ b/ansible/roles/senlin/defaults/main.yml @@ -7,11 +7,7 @@ senlin_services: group: senlin-api enabled: true image: "{{ senlin_api_image_full }}" - volumes: - - "{{ node_config_directory }}/senlin-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}" + volumes: "{{ senlin_api_default_volumes + senlin_api_extra_volumes }}" dimensions: "{{ senlin_api_dimensions }}" haproxy: senlin_api: @@ -31,11 +27,7 @@ senlin_services: group: senlin-engine enabled: true image: "{{ senlin_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/senlin-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}" + volumes: "{{ senlin_engine_default_volumes + senlin_engine_extra_volumes }}" dimensions: "{{ senlin_engine_dimensions }}" #################### @@ -63,6 +55,20 @@ senlin_api_image_full: "{{ senlin_api_image }}:{{ senlin_api_tag }}" senlin_api_dimensions: "{{ default_container_dimensions }}" senlin_engine_dimensions: "{{ default_container_dimensions }}" +senlin_api_default_volumes: + - "{{ node_config_directory }}/senlin-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}" +senlin_engine_default_volumes: + - "{{ node_config_directory }}/senlin-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}" + +senlin_extra_volumes: "{{ default_extra_volumes }}" +senlin_api_extra_volumes: "{{ senlin_extra_volumes }}" +senlin_engine_extra_volumes: "{{ senlin_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/solum/defaults/main.yml b/ansible/roles/solum/defaults/main.yml index b75c56abe4..6bbb337a28 100644 --- a/ansible/roles/solum/defaults/main.yml +++ b/ansible/roles/solum/defaults/main.yml @@ -7,33 +7,21 @@ solum_services: group: solum-api enabled: true image: "{{ solum_api_image_full }}" - volumes: - - "{{ node_config_directory }}/solum-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" + volumes: "{{ solum_api_default_volumes + solum_api_extra_volumes }}" dimensions: "{{ solum_api_dimensions }}" solum-worker: container_name: solum_worker group: solum-worker enabled: true image: "{{ solum_worker_image_full }}" - volumes: - - "{{ node_config_directory }}/solum-worker/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" + volumes: "{{ solum_worker_default_volumes + solum_worker_extra_volumes }}" dimensions: "{{ solum_worker_dimensions }}" solum-deployer: container_name: solum_deployer group: solum-deployer enabled: true image: "{{ solum_deployer_image_full }}" - volumes: - - "{{ node_config_directory }}/solum-deployer/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" + volumes: "{{ solum_deployer_default_volumes + solum_deployer_extra_volumes }}" dimensions: "{{ solum_deployer_dimensions }}" haproxy: solum_application_deployment: @@ -65,11 +53,7 @@ solum_services: group: solum-conductor enabled: true image: "{{ solum_conductor_image_full }}" - volumes: - - "{{ node_config_directory }}/solum-conductor/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" + volumes: "{{ solum_conductor_default_volumes + solum_conductor_extra_volumes }}" dimensions: "{{ solum_conductor_dimensions }}" #################### @@ -107,6 +91,33 @@ solum_worker_dimensions: "{{ default_container_dimensions }}" solum_deployer_dimensions: "{{ default_container_dimensions }}" solum_conductor_dimensions: "{{ default_container_dimensions }}" +solum_api_default_volumes: + - "{{ node_config_directory }}/solum-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" +solum_worker_default_volumes: + - "{{ node_config_directory }}/solum-worker/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" +solum_deployer_default_volumes: + - "{{ node_config_directory }}/solum-deployer/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" +solum_conductor_default_volumes: + - "{{ node_config_directory }}/solum-conductor/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/solum/solum:/var/lib/kolla/venv/lib/python2.7/site-packages/solum' if solum_dev_mode | bool else '' }}" + +solum_extra_volumes: "{{ default_extra_volumes }}" +solum_api_extra_volumes: "{{ solum_extra_volumes }}" +solum_worker_extra_volumes: "{{ solum_extra_volumes }}" +solum_deployer_extra_volumes: "{{ solum_extra_volumes }}" +solum_conductor_extra_volumes: "{{ solum_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/tacker/defaults/main.yml b/ansible/roles/tacker/defaults/main.yml index e53cdc55df..3b481634c6 100644 --- a/ansible/roles/tacker/defaults/main.yml +++ b/ansible/roles/tacker/defaults/main.yml @@ -7,11 +7,7 @@ tacker_services: group: "tacker-server" enabled: true image: "{{ tacker_server_image_full }}" - volumes: - - "{{ node_config_directory }}/tacker-server/:{{ container_config_directory }}/:ro" - - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ tacker_server_default_volumes + tacker_server_extra_volumes }}" dimensions: "{{ tacker_server_dimensions }}" haproxy: tacker_server: @@ -29,11 +25,7 @@ tacker_services: group: "tacker-conductor" enabled: true image: "{{ tacker_conductor_image_full }}" - volumes: - - "{{ node_config_directory }}/tacker-conductor/:{{ container_config_directory }}/:ro" - - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ tacker_conductor_default_volumes + tacker_conductor_extra_volumes }}" dimensions: "{{ tacker_conductor_dimensions }}" #################### @@ -60,6 +52,21 @@ tacker_conductor_image_full: "{{ tacker_conductor_image }}:{{ tacker_conductor_t tacker_server_dimensions: "{{ default_container_dimensions }}" tacker_conductor_dimensions: "{{ default_container_dimensions }}" +tacker_server_default_volumes: + - "{{ node_config_directory }}/tacker-server/:{{ container_config_directory }}/:ro" + - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" +tacker_conductor_default_volumes: + - "{{ node_config_directory }}/tacker-conductor/:{{ container_config_directory }}/:ro" + - "{{ kolla_dev_repos_directory ~ '/tacker/tacker:/var/lib/kolla/venv/lib/python2.7/site-packages/tacker' if tacker_dev_mode | bool else '' }}" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + +tacker_extra_volumes: "{{ default_extra_volumes }}" +tacker_server_extra_volumes: "{{ tacker_extra_volumes }}" +tacker_conductor_extra_volumes: "{{ tacker_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/trove/defaults/main.yml b/ansible/roles/trove/defaults/main.yml index 370d6634b5..25f312df16 100644 --- a/ansible/roles/trove/defaults/main.yml +++ b/ansible/roles/trove/defaults/main.yml @@ -7,12 +7,7 @@ trove_services: group: trove-api enabled: true image: "{{ trove_api_image_full }}" - volumes: - - "{{ 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/" + volumes: "{{ trove_api_default_volumes + trove_api_extra_volumes }}" dimensions: "{{ trove_api_dimensions }}" haproxy: trove_api: @@ -30,24 +25,14 @@ trove_services: group: trove-conductor enabled: true image: "{{ trove_conductor_image_full }}" - volumes: - - "{{ 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/" + volumes: "{{ trove_conductor_default_volumes + trove_conductor_extra_volumes }}" dimensions: "{{ trove_conductor_dimensions }}" trove-taskmanager: container_name: trove_taskmanager group: trove-taskmanager enabled: true image: "{{ trove_taskmanager_image_full }}" - volumes: - - "{{ 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/" + volumes: "{{ trove_taskmanager_default_volumes + trove_taskmanager_extra_volumes }}" dimensions: "{{ trove_taskmanager_dimensions }}" @@ -81,6 +66,29 @@ trove_api_dimensions: "{{ default_container_dimensions }}" trove_conductor_dimensions: "{{ default_container_dimensions }}" trove_taskmanager_dimensions: "{{ default_container_dimensions }}" +trove_api_default_volumes: + - "{{ 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_default_volumes: + - "{{ 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_default_volumes: + - "{{ 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/" + +trove_extra_volumes: "{{ default_extra_volumes }}" +trove_api_extra_volumes: "{{ trove_extra_volumes }}" +trove_conductor_extra_volumes: "{{ trove_extra_volumes }}" +trove_taskmanager_extra_volumes: "{{ trove_extra_volumes }}" #################### # OpenStack diff --git a/ansible/roles/vitrage/defaults/main.yml b/ansible/roles/vitrage/defaults/main.yml index a952203684..fd1804c748 100644 --- a/ansible/roles/vitrage/defaults/main.yml +++ b/ansible/roles/vitrage/defaults/main.yml @@ -7,11 +7,7 @@ vitrage_services: group: vitrage-api enabled: true image: "{{ vitrage_api_image_full }}" - volumes: - - "{{ node_config_directory }}/vitrage-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ vitrage_api_default_volumes + vitrage_api_extra_volumes }}" dimensions: "{{ vitrage_api_dimensions }}" haproxy: vitrage_api: @@ -29,33 +25,21 @@ vitrage_services: group: vitrage-notifier enabled: true image: "{{ vitrage_notifier_image_full }}" - volumes: - - "{{ node_config_directory }}/vitrage-notifier/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ vitrage_notifier_default_volumes + vitrage_notifier_extra_volumes }}" dimensions: "{{ vitrage_notifier_dimensions }}" vitrage-graph: container_name: vitrage_graph group: vitrage-graph enabled: true image: "{{ vitrage_graph_image_full }}" - volumes: - - "{{ node_config_directory }}/vitrage-graph/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ vitrage_graph_default_volumes + vitrage_graph_extra_volumes }}" dimensions: "{{ vitrage_graph_dimensions }}" vitrage-ml: container_name: vitrage_ml group: vitrage-ml enabled: true image: "{{ vitrage_ml_image_full }}" - volumes: - - "{{ node_config_directory }}/vitrage-ml/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ vitrage_ml_default_volumes + vitrage_ml_extra_volumes }}" dimensions: "{{ vitrage_ml_dimensions }}" #################### @@ -93,6 +77,33 @@ vitrage_notifier_dimensions: "{{ default_container_dimensions }}" vitrage_graph_dimensions: "{{ default_container_dimensions }}" vitrage_ml_dimensions: "{{ default_container_dimensions }}" +vitrage_api_default_volumes: + - "{{ node_config_directory }}/vitrage-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +vitrage_notifier_default_volumes: + - "{{ node_config_directory }}/vitrage-notifier/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +vitrage_graph_default_volumes: + - "{{ node_config_directory }}/vitrage-graph/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +vitrage_ml_default_volumes: + - "{{ node_config_directory }}/vitrage-ml/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/vitrage/vitrage:/var/lib/kolla/venv/lib/python2.7/site-packages/vitrage' if vitrage_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + +vitrage_extra_volumes: "{{ default_extra_volumes }}" +vitrage_api_extra_volumes: "{{ vitrage_extra_volumes }}" +vitrage_notifier_extra_volumes: "{{ vitrage_extra_volumes }}" +vitrage_graph_extra_volumes: "{{ vitrage_extra_volumes }}" +vitrage_ml_extra_volumes: "{{ vitrage_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/watcher/defaults/main.yml b/ansible/roles/watcher/defaults/main.yml index aab03f6e7c..002167bf32 100644 --- a/ansible/roles/watcher/defaults/main.yml +++ b/ansible/roles/watcher/defaults/main.yml @@ -7,11 +7,7 @@ watcher_services: group: watcher-api enabled: true image: "{{ watcher_api_image_full }}" - volumes: - - "{{ node_config_directory }}/watcher-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ watcher_api_default_volumes + watcher_api_extra_volumes }}" dimensions: "{{ watcher_api_dimensions }}" haproxy: watcher_api: @@ -29,22 +25,14 @@ watcher_services: group: watcher-applier enabled: true image: "{{ watcher_applier_image_full }}" - volumes: - - "{{ node_config_directory }}/watcher-applier/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ watcher_applier_default_volumes + watcher_applier_extra_volumes }}" dimensions: "{{ watcher_applier_dimensions }}" watcher-engine: container_name: watcher_engine group: watcher-engine enabled: true image: "{{ watcher_engine_image_full }}" - volumes: - - "{{ node_config_directory }}/watcher-engine/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ watcher_engine_default_volumes + watcher_engine_extra_volumes }}" dimensions: "{{ watcher_engine_dimensions }}" @@ -78,6 +66,27 @@ watcher_api_dimensions: "{{ default_container_dimensions }}" watcher_applier_dimensions: "{{ default_container_dimensions }}" watcher_engine_dimensions: "{{ default_container_dimensions }}" +watcher_api_default_volumes: + - "{{ node_config_directory }}/watcher-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +watcher_applier_default_volumes: + - "{{ node_config_directory }}/watcher-applier/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +watcher_engine_default_volumes: + - "{{ node_config_directory }}/watcher-engine/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/watcher/watcher:/var/lib/kolla/venv/lib/python2.7/site-packages/watcher' if watcher_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" + +watcher_extra_volumes: "{{ default_extra_volumes }}" +watcher_api_extra_volumes: "{{ watcher_extra_volumes }}" +watcher_applier_extra_volumes: "{{ watcher_extra_volumes }}" +watcher_engine_extra_volumes: "{{ watcher_extra_volumes }}" + #################### # OpenStack #################### diff --git a/ansible/roles/zun/defaults/main.yml b/ansible/roles/zun/defaults/main.yml index a8c2991eac..4ed55c6bb3 100644 --- a/ansible/roles/zun/defaults/main.yml +++ b/ansible/roles/zun/defaults/main.yml @@ -7,11 +7,7 @@ zun_services: group: zun-api enabled: true image: "{{ zun_api_image_full }}" - volumes: - - "{{ node_config_directory }}/zun-api/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ zun_api_default_volumes + zun_api_extra_volumes }}" dimensions: "{{ zun_api_dimensions }}" haproxy: zun_api: @@ -29,11 +25,7 @@ zun_services: group: zun-wsproxy enabled: true image: "{{ zun_wsproxy_image_full }}" - volumes: - - "{{ node_config_directory }}/zun-wsproxy/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}" - - "kolla_logs:/var/log/kolla/" + volumes: "{{ zun_wsproxy_default_volumes + zun_wsproxy_extra_volumes }}" dimensions: "{{ zun_wsproxy_dimensions }}" haproxy: zun_wsproxy: @@ -52,14 +44,7 @@ zun_services: enabled: true image: "{{ zun_compute_image_full }}" privileged: True - volumes: - - "{{ node_config_directory }}/zun-compute/:{{ container_config_directory }}/:ro" - - "/etc/localtime:/etc/localtime:ro" - - "kolla_logs:/var/log/kolla/" - - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}" - - "/run:/run:shared" - - "/usr/lib/docker:/usr/lib/docker" - - "/var/lib/docker:/var/lib/docker" + volumes: "{{ zun_compute_default_volumes + zun_compute_extra_volumes }}" dimensions: "{{ zun_compute_dimensions }}" #################### @@ -92,6 +77,29 @@ zun_api_dimensions: "{{ default_container_dimensions }}" zun_wsproxy_dimensions: "{{ default_container_dimensions }}" zun_compute_dimensions: "{{ default_container_dimensions }}" +zun_api_default_volumes: + - "{{ node_config_directory }}/zun-api/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +zun_wsproxy_default_volumes: + - "{{ node_config_directory }}/zun-wsproxy/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}" + - "kolla_logs:/var/log/kolla/" +zun_compute_default_volumes: + - "{{ node_config_directory }}/zun-compute/:{{ container_config_directory }}/:ro" + - "/etc/localtime:/etc/localtime:ro" + - "kolla_logs:/var/log/kolla/" + - "{{ kolla_dev_repos_directory ~ '/zun/zun:/var/lib/kolla/venv/lib/python2.7/site-packages/zun' if zun_dev_mode | bool else '' }}" + - "/run:/run:shared" + - "/usr/lib/docker:/usr/lib/docker" + - "/var/lib/docker:/var/lib/docker" + +zun_extra_volumes: "{{ default_extra_volumes }}" +zun_api_extra_volumes: "{{ zun_extra_volumes }}" +zun_wsproxy_extra_volumes: "{{ zun_extra_volumes }}" +zun_compute_extra_volumes: "{{ zun_extra_volumes }}" #################### ## OpenStack diff --git a/doc/source/admin/advanced-configuration.rst b/doc/source/admin/advanced-configuration.rst index 1869a8b1eb..9a07d043c5 100644 --- a/doc/source/admin/advanced-configuration.rst +++ b/doc/source/admin/advanced-configuration.rst @@ -288,3 +288,40 @@ By default, Swift and HAProxy use ``local0`` and ``local1``, respectively. syslog_swift_facility: "local0" syslog_haproxy_facility: "local1" +Mount additional Docker volumes in containers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is sometimes useful to be able to mount additional Docker volumes into +one or more containers. This may be to integrate 3rd party components into +OpenStack, or to provide access to site-specific data such as x.509 +certificate bundles. + +Additional volumes may be specified at three levels: + +* globally +* per-service (e.g. nova) +* per-container (e.g. ``nova-api``) + +To specify additional volumes globally for all containers, set +``default_extra_volumes`` in ``globals.yml``. For example: + +.. code-block:: yaml + + default_extra_volumes: + - "/etc/foo:/etc/foo" + +To specify additional volumes for all containers in a service, set +``_extra_volumes`` in ``globals.yml``. For example: + +.. code-block:: yaml + + nova_extra_volumes: + - "/etc/foo:/etc/foo" + +To specify additional volumes for a single container, set +``_extra_volumes`` in ``globals.yml``. For example: + +.. code-block:: yaml + + nova_libvirt_extra_volumes: + - "/etc/foo:/etc/foo" diff --git a/releasenotes/notes/support_extra_volumes-0598122ed90c8d02.yaml b/releasenotes/notes/support_extra_volumes-0598122ed90c8d02.yaml new file mode 100644 index 0000000000..50c1504a92 --- /dev/null +++ b/releasenotes/notes/support_extra_volumes-0598122ed90c8d02.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds support for configuring the extra volumes. + Split container volumes into `_default_volumes` and `_extra_volumes`.