tripleo-heat-templates/deployment/time/ptp-baremetal-ansible.yaml

112 lines
3.2 KiB
YAML

heat_template_version: wallaby
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. Use
parameter_merge_strategies to merge it with the defaults.
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 composable 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