Merge "Configure time using tripleo-ansible"

This commit is contained in:
Zuul 2019-11-20 20:49:36 +00:00 committed by Gerrit Code Review
commit 45cce37b9d
4 changed files with 120 additions and 20 deletions

View File

@ -0,0 +1,114 @@
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
PtpInterface:
default: nic1
description: PTP interface name.
type: string
tags:
- role_specific
PtpSlaveMode:
default: 1
description: Configure PTP clock in slave mode.
type: number
tags:
- role_specific
PtpMessageTransport:
default: UDPv4
description: Configure PTP message transport protocol.
type: string
tags:
- role_specific
resources:
RoleParametersValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- map_replace:
- tripleo_ptp4l_interface: PtpInterface
tripleo_ptp4l_conf_slaveOnly: PtpSlaveMode
tripleo_ptp4l_conf_network_transport: PtpMessageTransport
- values: {get_param: [RoleParameters]}
- values:
PtpInterface: {get_param: PtpInterface}
PtpSlaveMode: {get_param: PtpSlaveMode}
PtpMessageTransport: {get_param: PtpMessageTransport}
outputs:
role_data:
description: Role ptp using commposable services.
value:
service_name: ptp
firewall_rules:
'151 ptp':
proto: udp
dport:
- 319
- 320
host_prep_tasks:
- name: Set interface fact
set_fact:
tripleo_ptp_interface: {get_attr: [RoleParametersValue, value, tripleo_ptp4l_interface]}
- name: Run ptp role
include_role:
name: tripleo-ptp
vars:
tripleo_timezone: {get_param: TimeZone}
tripleo_ptp_slave_mode: {get_attr: [RoleParametersValue, value, tripleo_ptp4l_conf_slaveOnly]}
tripleo_ptp_interfaces: ["{{ tripleo_ptp_interface }}"]
tripleo_ptp_transport: {get_attr: [RoleParametersValue, value, tripleo_ptp4l_conf_network_transport]}
upgrade_tasks:
- name: Validation
shell: |-
set -o pipefail
if systemctl is-enabled ntpd; then
/usr/bin/systemctl show 'ntpd' --property ActiveState | grep '\bactive\b'
fi
tags:
- validation
when:
- (step | int) == 0
- name: Run ntp stop
include_role:
name: tripleo-ptp
tasks_from: tripleo_ntp_stop.yml
when:
- (step | int) == 2

View File

@ -41,22 +41,8 @@ outputs:
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: Populate service facts
service_facts:
- name: Restart services
when:
- timezone_result.changed
- (item + ".service") in ansible_facts.services
service:
name: "{{ item }}"
state: restarted
with_items:
- rsyslog
- crond
- name: Run timezone role
include_role:
name: tripleo-timezone
vars:
tripleo_timezone: {get_param: TimeZone}

View File

@ -2,7 +2,7 @@
resource_registry:
# FIXME(bogdando): switch it, once it is containerized
OS::TripleO::Services::Ptp: ../../deployment/time/ptp-baremetal-puppet.yaml
OS::TripleO::Services::Ptp: ../../deployment/time/ptp-baremetal-ansible.yaml
OS::TripleO::Services::Timesync: OS::TripleO::Services::Ptp
parameter_defaults: