From 866a7f79e4fa8eaad394c430adf3c053455dd6ec Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Mon, 11 Mar 2019 16:35:47 -0600 Subject: [PATCH] Manage system timezone with ansible Switch to use ansible's timezone module for timezone management of the overcloud and undercloud systems. This change deprecates using puppet to manage the timezone configuration. Change-Id: Ie1a92ca5677833f302daa71cba42c5091302b2aa --- .../time/timezone-baremetal-puppet.yaml | 1 + .../time/timezone-baremetal-ansible.yaml | 58 +++++++++++++++++++ overcloud-resource-registry-puppet.j2.yaml | 2 +- .../timezone-ansible-c7ffcd118f881b82.yaml | 8 +++ 4 files changed, 68 insertions(+), 1 deletion(-) rename deployment/{ => deprecated}/time/timezone-baremetal-puppet.yaml (96%) create mode 100644 deployment/time/timezone-baremetal-ansible.yaml create mode 100644 releasenotes/notes/timezone-ansible-c7ffcd118f881b82.yaml diff --git a/deployment/time/timezone-baremetal-puppet.yaml b/deployment/deprecated/time/timezone-baremetal-puppet.yaml similarity index 96% rename from deployment/time/timezone-baremetal-puppet.yaml rename to deployment/deprecated/time/timezone-baremetal-puppet.yaml index afb0d364b6..59cd1fb1eb 100644 --- a/deployment/time/timezone-baremetal-puppet.yaml +++ b/deployment/deprecated/time/timezone-baremetal-puppet.yaml @@ -2,6 +2,7 @@ heat_template_version: rocky description: > Composable Timezone service + This puppet version is deprecated, please use the ansible version. parameters: ServiceData: diff --git a/deployment/time/timezone-baremetal-ansible.yaml b/deployment/time/timezone-baremetal-ansible.yaml new file mode 100644 index 0000000000..6ac0163bb1 --- /dev/null +++ b/deployment/time/timezone-baremetal-ansible.yaml @@ -0,0 +1,58 @@ +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: Reload services + service: + name: "{{ item }}" + state: reloaded + with_items: + - rsyslogd + - crond + when: timezone_result.changed diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index d9ef50d8ad..ab8dd6bf73 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -214,7 +214,7 @@ resource_registry: OS::TripleO::Services::SwiftRingBuilder: deployment/swift/swift-ringbuilder-container-puppet.yaml OS::TripleO::Services::Snmp: deployment/snmp/snmp-baremetal-puppet.yaml OS::TripleO::Services::Tacker: OS::Heat::None - OS::TripleO::Services::Timezone: deployment/time/timezone-baremetal-puppet.yaml + OS::TripleO::Services::Timezone: deployment/time/timezone-baremetal-ansible.yaml OS::TripleO::Services::CeilometerAgentCentral: deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml OS::TripleO::Services::CeilometerAgentIpmi: deployment/ceilometer/ceilometer-agent-ipmi-container-puppet.yaml OS::TripleO::Services::CeilometerAgentNotification: deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml diff --git a/releasenotes/notes/timezone-ansible-c7ffcd118f881b82.yaml b/releasenotes/notes/timezone-ansible-c7ffcd118f881b82.yaml new file mode 100644 index 0000000000..2221fb55b8 --- /dev/null +++ b/releasenotes/notes/timezone-ansible-c7ffcd118f881b82.yaml @@ -0,0 +1,8 @@ +--- +features: + - | + Using Ansible timezone module to manage the system timezone for the deployed + systems. +deprecations: + - | + Managing timezone via puppet is now deprecated.