tripleo-heat-templates/deployment/time/timezone-baremetal-ansible.yaml
Luca Miccini 256d763d4c rename rsyslogd service to rsyslog and deal with lack of reload.
Overlcloud deployment fails during the "Reload services" TASK:

TASK [Reload services] *********************************************************
Friday 15 March 2019 07:51:43 +0000 (0:00:00.560) 0:02:53.361 **********
skipping: [controller-0] => (item=rsyslogd) => {"changed": false, "item": "rsyslogd", "skip_reason": "Conditional result was False"}
skipping: [controller-0] => (item=crond) => {"changed": false, "item": "crond", "skip_reason": "Conditional result was False"}
skipping: [controller-1] => (item=rsyslogd) => {"changed": false, "item": "rsyslogd", "skip_reason": "Conditional result was False"}
skipping: [controller-1] => (item=crond) => {"changed": false, "item": "crond", "skip_reason": "Conditional result was False"}
skipping: [controller-2] => (item=rsyslogd) => {"changed": false, "item": "rsyslogd", "skip_reason": "Conditional result was False"}
skipping: [controller-2] => (item=crond) => {"changed": false, "item": "crond", "skip_reason": "Conditional result was False"}
failed: [compute-0] (item=rsyslogd) => {"changed": false, "item": "rsyslogd", "msg": "Could not find the requested service rsyslogd: host"}
....

Checking "compute-0" it looks like the service name is "rsyslog":

root@compute-0 ~]# systemctl |grep rsys
  rsyslog.service

Simply renaming the service is not sufficient, as the unit file does not
support the reload OP:

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/rsyslog
ExecStart=/usr/sbin/rsyslogd -n $SYSLOGD_OPTIONS
UMask=0066
StandardOutput=null
Restart=on-failure

Lacking better options we need to restart rsyslog.

Change-Id: I3f666455a9c5d95536ec801cee86f83bef80fa81
Closes-Bug: #1820166
2019-03-15 14:55:00 +01:00

59 lines
1.6 KiB
YAML

heat_template_version: rocky
description: >
Composable Timezone service
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
TimeZone:
default: 'UTC'
description: The timezone to be set on the overcloud.
type: string
outputs:
role_data:
description: Timezone role using composable services.
value:
service_name: timezone
host_prep_tasks:
- name: Set timezone fact
set_fact:
timezone: {get_param: TimeZone}
- name: "Set timezone to {{ timezone | default('UTC') }}"
timezone:
name: "{{ timezone }}"
register: timezone_result
- name: Restart services
service:
name: "{{ item }}"
state: restarted
with_items:
- rsyslog
- crond
when: timezone_result.changed