heat_template_version: rocky description: > PTP service deployment using puppet, this YAML file creates the interface between the HOT template and the puppet manifest that actually installs and configure PTP. 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 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::profile::base::time::ptp::ptp4l_interface: PtpInterface tripleo::profile::base::time::ptp::ptp4l_conf_slaveOnly: PtpSlaveMode tripleo::profile::base::time::ptp::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 config_settings: map_merge: - get_attr: [RoleParametersValue, value] - tripleo::ptp::firewall_rules: '151 ptp': proto: udp dport: - 319 - 320 step_config: | include ::tripleo::profile::base::time::ptp upgrade_tasks: - name: Check if NTP is deployed command: systemctl is-enabled ntpd tags: common ignore_errors: True register: ntp_enabled - name: Validation shell: /usr/bin/systemctl show 'ntpd' --property ActiveState | grep '\bactive\b' tags: validation when: - step|int == 0 - ntp_enabled.rc == 0 - name: Stop NTP service service: name=ntpd state=stopped when: - step|int == 2 - ntp_enabled.rc == 0 - name: Disable NTP service service: name=ntpd state=stopped ignore_errors: True when: - step|int == 2 - ntp_enabled.rc == 0