diff --git a/defaults/main.yml b/defaults/main.yml index dd6ae553..8018480b 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -154,13 +154,17 @@ ceilometer_pip_packages: ## Service Name-Group Mapping ceilometer_services: ceilometer-collector: - group: ceilometer_collector + group: + - ceilometer_collector service_name: ceilometer-collector ceilometer-agent-notification: - group: ceilometer_agent_notification + group: + - ceilometer_agent_notification service_name: ceilometer-agent-notification ceilometer-polling: - group: ceilometer_agent_central + group: + - ceilometer_agent_central + - ceilometer_agent_compute service_name: ceilometer-polling ceilometer_required_secrets: diff --git a/handlers/main.yml b/handlers/main.yml index 07637524..0886691b 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -20,17 +20,18 @@ - name: Reload upstart init scripts command: initctl reload-configuration - changed_when: false notify: - Restart ceilometer services - name: Restart ceilometer services service: - name: "{{ item.value.service_name }}" + name: "{{ item.0.service_name }}" state: "restarted" - pattern: "{{ item.value.service_name }}" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + pattern: "{{ item.0.service_name }}" + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] - name: Restart Apache service: diff --git a/tasks/ceilometer_init_common.yml b/tasks/ceilometer_init_common.yml index d3885eb1..f80d871c 100644 --- a/tasks/ceilometer_init_common.yml +++ b/tasks/ceilometer_init_common.yml @@ -21,9 +21,12 @@ - name: Load service service: - name: "{{ item.value.service_name }}" - enabled: "yes" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + name: "{{ item.0.service_name }}" + state: "restarted" + pattern: "{{ item.0.service_name }}" + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] notify: - Restart ceilometer services diff --git a/tasks/ceilometer_init_systemd.yml b/tasks/ceilometer_init_systemd.yml index b415b56c..da429988 100644 --- a/tasks/ceilometer_init_systemd.yml +++ b/tasks/ceilometer_init_systemd.yml @@ -15,23 +15,27 @@ - name: Create TEMP run dir file: - path: "/var/run/{{ item.value.service_name }}" + path: "/var/run/{{ item.0.service_name }}" state: directory owner: "{{ ceilometer_system_user_name }}" group: "{{ ceilometer_system_group_name }}" mode: "02755" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] - name: Create TEMP lock dir file: - path: "/var/lock/{{ item.value.service_name }}" + path: "/var/lock/{{ item.0.service_name }}" state: directory owner: "{{ ceilometer_system_user_name }}" group: "{{ ceilometer_system_group_name }}" mode: "02755" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] - name: Create tempfile.d entry template: @@ -40,17 +44,21 @@ mode: "0644" owner: "root" group: "root" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] - name: Place the systemd init script template: src: "ceilometer-systemd-init.j2" - dest: "/etc/systemd/system/{{ item.value.service_name }}.service" + dest: "/etc/systemd/system/{{ item.0.service_name }}.service" mode: "0644" owner: "root" group: "root" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] notify: - Reload systemd daemon diff --git a/tasks/ceilometer_init_upstart.yml b/tasks/ceilometer_init_upstart.yml index 98d0ea26..cbf057d0 100644 --- a/tasks/ceilometer_init_upstart.yml +++ b/tasks/ceilometer_init_upstart.yml @@ -16,11 +16,13 @@ - name: Place the init script template: src: "ceilometer-upstart-init.j2" - dest: "/etc/init/{{ item.value.service_name }}.conf" + dest: "/etc/init/{{ item.0.service_name }}.conf" mode: "0644" owner: "root" group: "root" - with_dict: "{{ ceilometer_services }}" - when: inventory_hostname in groups[item.value.group] + with_subelements: + - "{{ ceilometer_services }}" + - group + when: inventory_hostname in groups[item.1] notify: - Reload upstart init scripts diff --git a/templates/ceilometer-systemd-init.j2 b/templates/ceilometer-systemd-init.j2 index 4a7973df..bab88bbb 100644 --- a/templates/ceilometer-systemd-init.j2 +++ b/templates/ceilometer-systemd-init.j2 @@ -11,9 +11,9 @@ User={{ ceilometer_system_user_name }} Group={{ ceilometer_system_group_name }} {% if program_override is defined %} -ExecStart={{ program_override }} {{ program_config_options|default('') }} --log-file=/var/log/ceilometer/{{ item.value.service_name }}.log +ExecStart={{ program_override }} {{ program_config_options|default('') }} --log-file=/var/log/ceilometer/{{ item.0.service_name }}.log {% else %} -ExecStart={{ ceilometer_bin }}/{{ item.value.service_name }} {{ program_config_options|default('') }} --log-file=/var/log/ceilometer/{{ item.value.service_name }}.log +ExecStart={{ ceilometer_bin }}/{{ item.0.service_name }} {{ program_config_options|default('') }} --log-file=/var/log/ceilometer/{{ item.0.service_name }}.log {% endif %} # Give a reasonable amount of time for the server to start up/shut down diff --git a/templates/ceilometer-systemd-tempfiles.j2 b/templates/ceilometer-systemd-tempfiles.j2 index cf45ebc7..1f76280c 100644 --- a/templates/ceilometer-systemd-tempfiles.j2 +++ b/templates/ceilometer-systemd-tempfiles.j2 @@ -1,4 +1,4 @@ # {{ ansible_managed }} -D /var/lock/{{ item.value.service_name }} 2755 {{ ceilometer_system_user_name }} {{ ceilometer_system_group_name }} -D /var/run/{{ item.value.service_name }} 2755 {{ ceilometer_system_user_name }} {{ ceilometer_system_group_name }} +D /var/lock/{{ item.0.service_name }} 2755 {{ ceilometer_system_user_name }} {{ ceilometer_system_group_name }} +D /var/run/{{ item.0.service_name }} 2755 {{ ceilometer_system_user_name }} {{ ceilometer_system_group_name }} diff --git a/templates/ceilometer-upstart-init.j2 b/templates/ceilometer-upstart-init.j2 index a2a1919c..4d05c8b3 100644 --- a/templates/ceilometer-upstart-init.j2 +++ b/templates/ceilometer-upstart-init.j2 @@ -1,7 +1,7 @@ # {{ ansible_managed }} -description "{{ item.value.service_name }}" +description "{{ item.0.service_name }}" author "Kevin Carter " start on runlevel [2345] @@ -11,18 +11,18 @@ respawn respawn limit 10 5 # Set the RUNBIN environment variable -env RUNBIN="{{ ceilometer_bin }}/{{ item.value.service_name }}" +env RUNBIN="{{ ceilometer_bin }}/{{ item.0.service_name }}" # Change directory to service users home chdir "{{ ceilometer_system_user_home }}" # Pre start actions pre-start script - mkdir -p "/var/run/{{ item.value.service_name }}" - chown {{ ceilometer_system_user_name }}:{{ ceilometer_system_group_name }} "/var/run/{{ item.value.service_name }}" + mkdir -p "/var/run/{{ item.0.service_name }}" + chown {{ ceilometer_system_user_name }}:{{ ceilometer_system_group_name }} "/var/run/{{ item.0.service_name }}" - mkdir -p "/var/lock/{{ item.value.service_name }}" - chown {{ ceilometer_system_user_name }}:{{ ceilometer_system_group_name }} "/var/lock/{{ item.value.service_name }}" + mkdir -p "/var/lock/{{ item.0.service_name }}" + chown {{ ceilometer_system_user_name }}:{{ ceilometer_system_group_name }} "/var/lock/{{ item.0.service_name }}" . {{ ceilometer_bin }}/activate @@ -30,15 +30,15 @@ end script # Post stop actions post-stop script - rm "/var/run/{{ item.value.service_name }}/{{ item.value.service_name }}.pid" + rm "/var/run/{{ item.0.service_name }}/{{ item.0.service_name }}.pid" end script # Run the start up job exec start-stop-daemon --start \ --chuid {{ ceilometer_system_user_name }} \ --make-pidfile \ - --pidfile /var/run/{{ item.value.service_name }}/{{ item.value.service_name }}.pid \ + --pidfile /var/run/{{ item.0.service_name }}/{{ item.0.service_name }}.pid \ --exec "{{ program_override|default('$RUNBIN') }}" \ -- {{ program_config_options|default('') }} \ - --log-file=/var/log/{{ ceilometer_service_name }}/{{ item.value.service_name }}.log + --log-file=/var/log/{{ ceilometer_service_name }}/{{ item.0.service_name }}.log