openstack-ansible-os_manila/tasks/main.yml
Dmitriy Rabotyagov 3a326c054a Add variable to globally control notifications enablement
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
2024-05-16 20:50:29 +00:00

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