f1b2eed3eb
This patch removes the conditional inclusion of the notification section of the service configuration. This ensures that oslo.messaging notifications use the correct transport for deployments that have separate rpc and notify messaging backends. For example, if the transport_url is not provided in the notification section of the service configuration, the transport_url specified in the default section will be used instead. This patch conditionally selects the notifier driver. The noop driver will be selected when notification publishing is disabled. The messagingv2 driver is selected when notification publishing is enabled. Change-Id: I65ef897e78b5fb1c9ff6bb3d31cb6aa9e0c8429e
139 lines
4.6 KiB
YAML
139 lines
4.6 KiB
YAML
---
|
|
# Copyright 2014, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Gather variables for each operating system
|
|
include_vars: "{{ item }}"
|
|
with_first_found:
|
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml"
|
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
|
|
- "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
|
|
- "{{ ansible_distribution | lower }}.yml"
|
|
- "{{ ansible_os_family | lower }}-{{ ansible_distribution_version.split('.')[0] }}.yml"
|
|
- "{{ ansible_os_family | lower }}.yml"
|
|
tags:
|
|
- always
|
|
|
|
- name: Fail if service was deployed using a different installation method
|
|
fail:
|
|
msg: "Switching installation methods for OpenStack services is not supported"
|
|
when:
|
|
- ansible_local is defined
|
|
- ansible_local.openstack_ansible is defined
|
|
- ansible_local.openstack_ansible.cinder is defined
|
|
- ansible_local.openstack_ansible.cinder.install_method is defined
|
|
- ansible_local.openstack_ansible.cinder.install_method != cinder_install_method
|
|
|
|
- name: Gather variables for installation method
|
|
include_vars: "{{ cinder_install_method }}_install.yml"
|
|
tags:
|
|
- always
|
|
|
|
- include: cinder_lvm_config.yml
|
|
when:
|
|
- "cinder_services['cinder-volume']['group'] in group_names"
|
|
- "cinder_backend_lvm_inuse | bool"
|
|
tags:
|
|
- cinder-config
|
|
|
|
- include: cinder_pre_install.yml
|
|
tags:
|
|
- cinder-install
|
|
|
|
- include: cinder_install.yml
|
|
tags:
|
|
- cinder-install
|
|
|
|
- name: refresh local facts
|
|
setup:
|
|
filter: ansible_local
|
|
gather_subset: "!all"
|
|
tags:
|
|
- cinder-config
|
|
|
|
- include: cinder_cleanup_old_facts.yml
|
|
when:
|
|
- "'need_db_sync' in ansible_local['openstack_ansible']['cinder']"
|
|
tags:
|
|
- cinder-config
|
|
|
|
- include: cinder_post_install.yml
|
|
tags:
|
|
- cinder-config
|
|
|
|
- import_tasks: mq_setup.yml
|
|
when:
|
|
- "cinder_services['cinder-api']['group'] in group_names"
|
|
- "inventory_hostname == ((groups[cinder_services['cinder-api']['group']]| intersect(ansible_play_hosts)) | list)[0]"
|
|
vars:
|
|
_oslomsg_rpc_setup_host: "{{ cinder_oslomsg_rpc_setup_host }}"
|
|
_oslomsg_rpc_userid: "{{ cinder_oslomsg_rpc_userid }}"
|
|
_oslomsg_rpc_password: "{{ cinder_oslomsg_rpc_password }}"
|
|
_oslomsg_rpc_vhost: "{{ cinder_oslomsg_rpc_vhost }}"
|
|
_oslomsg_rpc_transport: "{{ cinder_oslomsg_rpc_transport }}"
|
|
_oslomsg_notify_setup_host: "{{ cinder_oslomsg_notify_setup_host }}"
|
|
_oslomsg_notify_userid: "{{ cinder_oslomsg_notify_userid }}"
|
|
_oslomsg_notify_password: "{{ cinder_oslomsg_notify_password }}"
|
|
_oslomsg_notify_vhost: "{{ cinder_oslomsg_notify_vhost }}"
|
|
_oslomsg_notify_transport: "{{ cinder_oslomsg_notify_transport }}"
|
|
tags:
|
|
- common-mq
|
|
- cinder-config
|
|
|
|
- include: cinder_db_setup.yml
|
|
static: no
|
|
when:
|
|
- "groups['cinder_api'] | length > 0"
|
|
- "cinder_services['cinder-api']['group'] in group_names"
|
|
- "inventory_hostname == ((groups['cinder_api'] | intersect(ansible_play_hosts)) | list)[0]"
|
|
tags:
|
|
- cinder-config
|
|
|
|
- include: cinder_uwsgi.yml
|
|
tags:
|
|
- cinder-config
|
|
|
|
- include: cinder_service_setup.yml
|
|
static: no
|
|
when:
|
|
- "groups['cinder_api'] | length > 0"
|
|
- "cinder_services['cinder-api']['group'] in group_names"
|
|
- "inventory_hostname == ((groups['cinder_api'] | intersect(ansible_play_hosts)) | list)[0]"
|
|
tags:
|
|
- cinder-config
|
|
|
|
- name: Include ceph_client role
|
|
include_role:
|
|
name: ceph_client
|
|
vars:
|
|
openstack_service_system_user: "{{ cinder_system_user_name }}"
|
|
openstack_service_venv_bin: "{{ cinder_bin }}"
|
|
when:
|
|
- "cinder_services['cinder-volume']['group'] in group_names"
|
|
- "cinder_backend_rbd_inuse | bool"
|
|
tags:
|
|
- ceph
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|
|
|
|
- include: cinder_backends.yml
|
|
static: no
|
|
when:
|
|
- "groups[cinder_services['cinder-volume']['group']] | length > 0"
|
|
- "cinder_services['cinder-api']['group'] in group_names"
|
|
- "inventory_hostname == ((groups[cinder_services['cinder-api']['group']] | intersect(ansible_play_hosts)) | list)[-1]"
|
|
tags:
|
|
- cinder-config
|