--- # 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 }}.yml" tags: - always - name: Fail if our required secrets are not present fail: msg: "Please set the {{ item }} variable prior to applying this role." when: (item is undefined) or (item is none) with_items: "{{ ceilometer_required_secrets }}" 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.ceilometer is defined - ansible_local.openstack_ansible.ceilometer.install_method is defined - ansible_local.openstack_ansible.ceilometer.install_method != ceilometer_install_method - name: Gather variables for installation method include_vars: "{{ ceilometer_install_method }}_install.yml" tags: - always - include_tasks: ceilometer_pre_install.yml tags: - ceilometer-install - include_tasks: ceilometer_install.yml tags: - ceilometer-install - include_tasks: ceilometer_post_install.yml tags: - ceilometer-config - name: Run the systemd service role include_role: name: systemd_service private: true vars: systemd_user_name: "{{ ceilometer_system_user_name }}" systemd_group_name: "{{ ceilometer_system_group_name }}" systemd_tempd_prefix: openstack systemd_slice_name: ceilometer systemd_lock_path: /var/lock/ceilometer systemd_CPUAccounting: true systemd_BlockIOAccounting: true systemd_MemoryAccounting: true systemd_TasksAccounting: true systemd_services: |- {% set services = [] %} {% for service in ceilometer_services.values() %} {% if service.group | intersect(group_names) %} {% set _ = service.update({'enabled': 'yes', 'state': 'started'}) %} {% set _ = service.pop('group') %} {% set _ = services.append(service) %} {% endif %} {% endfor %} {{ services }} tags: - ceilometer-config - systemd-service - include_tasks: ceilometer_service_setup.yml when: - groups['ceilometer_central_container'] is defined and inventory_hostname == groups['ceilometer_central_container'][0] tags: - ceilometer-config - import_tasks: mq_setup.yml run_once: yes vars: _oslomsg_rpc_setup_host: "{{ ceilometer_oslomsg_rpc_setup_host }}" _oslomsg_rpc_userid: "{{ ceilometer_oslomsg_rpc_userid }}" _oslomsg_rpc_password: "{{ ceilometer_oslomsg_rpc_password }}" _oslomsg_rpc_vhost: "{{ ceilometer_oslomsg_rpc_vhost }}" _oslomsg_rpc_transport: "{{ ceilometer_oslomsg_rpc_transport }}" _oslomsg_notify_setup_host: "{{ ceilometer_oslomsg_notify_setup_host }}" _oslomsg_notify_userid: "{{ ceilometer_oslomsg_notify_userid }}" _oslomsg_notify_password: "{{ ceilometer_oslomsg_notify_password }}" _oslomsg_notify_vhost: "{{ ceilometer_oslomsg_notify_vhost }}" _oslomsg_notify_transport: "{{ ceilometer_oslomsg_notify_transport }}" tags: - common-mq - ceilometer-config - include_tasks: ceilometer_db_setup.yml tags: - ceilometer-config run_once: true