diff --git a/deployment/time/ptp-baremetal-puppet.yaml b/deployment/deprecated/time/ptp-baremetal-puppet.yaml similarity index 100% rename from deployment/time/ptp-baremetal-puppet.yaml rename to deployment/deprecated/time/ptp-baremetal-puppet.yaml diff --git a/deployment/time/ptp-baremetal-ansible.yaml b/deployment/time/ptp-baremetal-ansible.yaml new file mode 100644 index 0000000000..97a9da4f9a --- /dev/null +++ b/deployment/time/ptp-baremetal-ansible.yaml @@ -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 diff --git a/deployment/time/timezone-baremetal-ansible.yaml b/deployment/time/timezone-baremetal-ansible.yaml index e40720d581..8d78310ba3 100644 --- a/deployment/time/timezone-baremetal-ansible.yaml +++ b/deployment/time/timezone-baremetal-ansible.yaml @@ -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} diff --git a/environments/services/ptp.yaml b/environments/services/ptp.yaml index 12bc774506..f6a498ef68 100644 --- a/environments/services/ptp.yaml +++ b/environments/services/ptp.yaml @@ -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: