openstack-ansible-os_glance/templates/glance-systemd-init.j2
Jesse Pretorius 3e522f6ef9 Use dictionary for service group mappings
Change the 'glance_service_names' from a list to a dictionary mapping
of services, groups that install those services. This brings the
method into line with that used in the os_neutron role in order to
implement a more standardised method.

The init tasks have been updated to run once and loop through this
mapping rather than being included multiple times and re-run against
each host. This may potentially reduce role run times.

Currently the reload of upstart/systemd scripts may not happen if
only one script changes as the task uses a loop with only one result
register. This patch implements handlers to reload upstart/systemd
scripts to ensure that this happens when any one of the scripts
change.

The handler to reload the services now only tries to restart the
service if the host is in the group for the service according to the
service group mapping. This allows us to ensure that handler
failures are no longer ignored and that no execution time is wasted
trying to restart services which do not exist on the host.

Finally:
- Common variables shared by each service's template files have
  been updated to use the service namespaced variables.
- Unused handlers have been removed.
- Unused variables have been removed.

Change-Id: Ia74bbcac35c27928f7e96056b9449932253b75de
2016-10-12 15:42:20 +01:00

26 lines
720 B
Django/Jinja

# {{ ansible_managed }}
[Unit]
Description=glance openstack service
After=syslog.target
After=network.target
[Service]
Type=simple
User={{ glance_system_user_name }}
Group={{ glance_system_group_name }}
{% if program_override is defined %}
ExecStart={{ program_override }} {{ program_config_options|default('') }} --log-file=/var/log/glance/{{ item.value.service_name }}.log
{% else %}
ExecStart={{ glance_bin }}/{{ item.value.service_name }} {{ program_config_options|default('') }} --log-file=/var/log/glance/{{ item.value.service_name }}.log
{% endif %}
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
Restart=on-failure
RestartSec=150
[Install]
WantedBy=multi-user.target