Install ceilometer-polling on compute nodes
With the move to using a service-group mapping for installing services, the ceilometer-polling agent now only installs on hosts within the ceilometer_central_agent group when it should also be installed to the ceilometer_compute_agent group. Adjust the service mapping to allow for multiple group assignments per service and update relevant tasks to use subelements to install each service within its assigned groups. Also fix the 'Reload upstart init scripts' handler so that it can properly be marked 'changed' in order to notify the 'Restart ceilometer services' handler. Closes-Bug: 1639026 Change-Id: Iba8e1f58c996a55389f50c727a4afa55099daa22
This commit is contained in:
parent
2b02a015f4
commit
a900930b7b
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 }}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# {{ ansible_managed }}
|
||||
|
||||
|
||||
description "{{ item.value.service_name }}"
|
||||
description "{{ item.0.service_name }}"
|
||||
author "Kevin Carter <kevin.carter@rackspace.com>"
|
||||
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in New Issue