3a326c054a
In order to be able to globally enable notification reporting for all services, without an need to have ceilometer deployed or bunch of overrides for each service, we add `oslomsg_notify_enabled` variable that aims to control behaviour of enabled notifications. Presence of ceilometer is still respected by default and being referenced. Potential usecase are various billing panels that do rely on notifications but do not require presence of Ceilometer. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/914144 Change-Id: I1bffec218f903ea16cbd06e7abf28b8139024df8
246 lines
7.9 KiB
YAML
246 lines
7.9 KiB
YAML
---
|
|
# Copyright 2019, 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: "{{ lookup('first_found', params) }}"
|
|
vars:
|
|
params:
|
|
files:
|
|
- "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_version'] | lower }}.yml"
|
|
- "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml"
|
|
- "{{ ansible_facts['os_family'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml"
|
|
- "{{ ansible_facts['distribution'] | lower }}.yml"
|
|
- "{{ ansible_facts['os_family'] | lower }}-{{ ansible_facts['distribution_version'].split('.')[0] }}.yml"
|
|
- "{{ ansible_facts['os_family'] | lower }}.yml"
|
|
paths:
|
|
- "{{ role_path }}/vars"
|
|
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']['manila'] is defined
|
|
- ansible_local['openstack_ansible']['manila']['install_method'] is defined
|
|
- ansible_local['openstack_ansible']['manila']['install_method'] != manila_install_method
|
|
|
|
- name: Check for rpc password
|
|
fail:
|
|
msg: >-
|
|
The optiton "manila_oslomsg_rpc_password" is not defined
|
|
when:
|
|
- manila_oslomsg_rpc_password is undefined
|
|
|
|
- name: Check for mysql password
|
|
fail:
|
|
msg: >-
|
|
The optiton "manila_container_mysql_password" is not defined
|
|
when:
|
|
- manila_container_mysql_password is undefined
|
|
|
|
- name: Check for service password
|
|
fail:
|
|
msg: >-
|
|
The optiton "manila_service_password" is not defined
|
|
when:
|
|
- manila_service_password is undefined
|
|
|
|
- name: Gather variables for installation method
|
|
include_vars: "{{ manila_install_method }}_install.yml"
|
|
tags:
|
|
- always
|
|
|
|
- name: Importing manila_lvm_config tasks
|
|
import_tasks: manila_lvm_config.yml
|
|
when:
|
|
- manila_services['manila-share']['group'] in group_names
|
|
- manila_backend_lvm_inuse | bool
|
|
tags:
|
|
- manila-config
|
|
|
|
- name: Including osa.db_setup role
|
|
include_role:
|
|
name: openstack.osa.db_setup
|
|
apply:
|
|
tags:
|
|
- common-db
|
|
- manila-config
|
|
when:
|
|
- _manila_is_first_play_host
|
|
vars:
|
|
_oslodb_setup_host: "{{ manila_db_setup_host }}"
|
|
_oslodb_ansible_python_interpreter: "{{ manila_db_setup_python_interpreter }}"
|
|
_oslodb_setup_endpoint: "{{ manila_galera_address }}"
|
|
_oslodb_setup_port: "{{ manila_galera_port }}"
|
|
_oslodb_databases:
|
|
- name: "{{ manila_galera_database }}"
|
|
users:
|
|
- username: "{{ manila_galera_user }}"
|
|
password: "{{ manila_container_mysql_password }}"
|
|
tags:
|
|
- always
|
|
|
|
- name: Including osa.mq_setup role
|
|
include_role:
|
|
name: openstack.osa.mq_setup
|
|
apply:
|
|
tags:
|
|
- common-mq
|
|
- manila-config
|
|
when:
|
|
- _manila_is_first_play_host
|
|
vars:
|
|
_oslomsg_rpc_setup_host: "{{ manila_oslomsg_rpc_setup_host }}"
|
|
_oslomsg_rpc_userid: "{{ manila_oslomsg_rpc_userid }}"
|
|
_oslomsg_rpc_password: "{{ manila_oslomsg_rpc_password }}"
|
|
_oslomsg_rpc_vhost: "{{ manila_oslomsg_rpc_vhost }}"
|
|
_oslomsg_rpc_transport: "{{ manila_oslomsg_rpc_transport }}"
|
|
_oslomsg_rpc_policies: "{{ manila_oslomsg_rpc_policies }}"
|
|
_oslomsg_notify_setup_host: "{{ manila_oslomsg_notify_setup_host }}"
|
|
_oslomsg_notify_userid: "{{ manila_oslomsg_notify_userid }}"
|
|
_oslomsg_notify_password: "{{ manila_oslomsg_notify_password }}"
|
|
_oslomsg_notify_vhost: "{{ manila_oslomsg_notify_vhost }}"
|
|
_oslomsg_notify_transport: "{{ manila_oslomsg_notify_transport }}"
|
|
_oslomsg_notify_policies: "{{ manila_oslomsg_notify_policies }}"
|
|
_oslomsg_notify_configure: "{{ manila_oslomsg_notify_configure }}"
|
|
tags:
|
|
- always
|
|
|
|
- name: Importing manila_pre_install tasks
|
|
import_tasks: manila_pre_install.yml
|
|
tags:
|
|
- manila-install
|
|
|
|
- name: Importing manila_install tasks
|
|
import_tasks: manila_install.yml
|
|
tags:
|
|
- manila-install
|
|
|
|
- name: Create and install SSL certificates
|
|
include_role:
|
|
name: pki
|
|
tasks_from: main_certs.yml
|
|
apply:
|
|
tags:
|
|
- manila-config
|
|
- pki
|
|
vars:
|
|
pki_setup_host: "{{ manila_pki_setup_host }}"
|
|
pki_dir: "{{ manila_pki_dir }}"
|
|
pki_create_certificates: "{{ manila_user_ssl_cert is not defined and manila_user_ssl_key is not defined }}"
|
|
pki_regen_cert: "{{ manila_pki_regen_cert }}"
|
|
pki_certificates: "{{ manila_pki_certificates }}"
|
|
pki_install_certificates: "{{ manila_pki_install_certificates }}"
|
|
when:
|
|
- manila_backend_ssl
|
|
tags:
|
|
- always
|
|
|
|
- name: Importing manila_post_install tasks
|
|
import_tasks: manila_post_install.yml
|
|
tags:
|
|
- manila-config
|
|
|
|
- name: Importing manila_keys tasks
|
|
import_tasks: manila_keys.yml
|
|
when:
|
|
- manila_keypair_path is defined
|
|
- manila_services['manila-share']['group'] in group_names
|
|
tags:
|
|
- manila-config
|
|
|
|
- name: Including manila_db_sync tasks
|
|
include_tasks: manila_db_sync.yml
|
|
when:
|
|
- _manila_is_first_play_host
|
|
tags:
|
|
- manila-config
|
|
|
|
- name: Import uwsgi role
|
|
import_role:
|
|
name: uwsgi
|
|
vars:
|
|
uwsgi_services: "{{ uwsgi_manila_services }}"
|
|
uwsgi_install_method: "source"
|
|
when:
|
|
- manila_services['manila-api']['group'] in group_names
|
|
tags:
|
|
- manila-config
|
|
- uwsgi
|
|
|
|
- name: Importing ceph_client role
|
|
import_role:
|
|
name: ceph_client
|
|
vars:
|
|
openstack_service_system_user: "{{ manila_system_user_name }}"
|
|
openstack_service_venv_bin: "{{ (manila_install_method == 'source') | ternary(manila_bin, '') }}"
|
|
when:
|
|
- manila_services['manila-share']['group'] in group_names
|
|
- manila_backend_rbd_inuse | bool
|
|
tags:
|
|
- ceph
|
|
|
|
- name: Including osa.service_setup role
|
|
include_role:
|
|
name: openstack.osa.service_setup
|
|
apply:
|
|
tags:
|
|
- common-service
|
|
- manila-config
|
|
vars:
|
|
_service_adminuri_insecure: "{{ keystone_service_adminuri_insecure }}"
|
|
_service_in_ldap: "{{ manila_service_in_ldap }}"
|
|
_service_setup_host: "{{ manila_service_setup_host }}"
|
|
_service_setup_host_python_interpreter: "{{ manila_service_setup_host_python_interpreter }}"
|
|
_service_project_name: "{{ manila_service_project_name }}"
|
|
_service_region: "{{ manila_service_region }}"
|
|
_service_endpoints: "{{ manila_service_endpoints }}"
|
|
_service_users:
|
|
- name: "{{ manila_service_user_name }}"
|
|
password: "{{ manila_service_password }}"
|
|
role: "{{ manila_service_role_names }}"
|
|
_service_catalog:
|
|
- name: "{{ manila_service_name }}"
|
|
type: "{{ manila_service_type }}"
|
|
description: "{{ manila_service_description }}"
|
|
- name: "{{ manila_service_v2_name }}"
|
|
type: "{{ manila_service_v2_type }}"
|
|
description: "{{ manila_service_v2_description }}"
|
|
when:
|
|
- _manila_is_first_play_host
|
|
tags:
|
|
- always
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|
|
|
|
- name: Create singular manila_backends variable for all hosts
|
|
set_fact:
|
|
_manila_backends: "{{ (_manila_backends | default(manila_backends)) | combine(hostvars[item]['manila_backends'] | default({})) }}"
|
|
with_items: "{{ groups[manila_services['manila-share']['group']] }}"
|
|
tags:
|
|
- manila-config
|
|
|
|
- name: Importing manila_backends tasks
|
|
import_tasks: manila_backends.yml
|
|
when:
|
|
- groups[manila_services['manila-share']['group']] | length > 0
|
|
- _manila_share_is_first_play_host
|
|
tags:
|
|
- manila-config
|