aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Camacho <ccamacho@redhat.com>2016-06-20 08:37:55 +0200
committerEmilien Macchi <emilien@redhat.com>2016-06-30 22:53:51 +0000
commit68372785cdea95f702f7b983d4697924d51e3fd6 (patch)
tree7849087a82771f8480e9593ef5b8ab1a23567afb
parentddda39b3c7ef90d0175f8424bee51abe94a9b6fc (diff)
Composable Timezone service - Controller
Add timezone as a composable service Change-Id: I99f0b0727a10ee74ea1de0499c8bc3ba37ab3345 Partially-implements: blueprint composable-services-within-roles
-rw-r--r--overcloud-resource-registry-puppet.yaml1
-rw-r--r--overcloud.yaml3
-rw-r--r--puppet/controller.yaml6
-rw-r--r--puppet/manifests/overcloud_controller.pp2
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp2
-rw-r--r--puppet/services/time/timezone.yaml24
6 files changed, 27 insertions, 11 deletions
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 0bfb9c26..8091a9a8 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -164,6 +164,7 @@ resource_registry:
OS::TripleO::Services::SwiftProxy: puppet/services/swift-proxy.yaml
OS::TripleO::Services::SwiftStorage: puppet/services/swift-storage.yaml
OS::TripleO::Services::Snmp: puppet/services/snmp.yaml
+ OS::TripleO::Services::Timezone: puppet/services/time/timezone.yaml
parameter_defaults:
EnablePackageInstall: false
diff --git a/overcloud.yaml b/overcloud.yaml
index bc29daef..62dfb942 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -266,6 +266,7 @@ parameters:
Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
+ #TODO(ccamacho):Remove after landing composable timezone for all nodes
TimeZone:
default: 'UTC'
description: The timezone to be set on nodes.
@@ -567,6 +568,7 @@ parameters:
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::Snmp
+ - OS::TripleO::Services::Timezone
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
@@ -866,7 +868,6 @@ resources:
SwiftMinPartHours: {get_param: SwiftMinPartHours}
SwiftPartPower: {get_param: SwiftPartPower}
SwiftReplicas: { get_param: SwiftReplicas}
- TimeZone: {get_param: TimeZone}
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index 865b5c76..e9833b4c 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -326,10 +326,6 @@ parameters:
type: number
default: 3
description: How many replicas to use in the swift rings.
- TimeZone:
- default: 'UTC'
- description: The timezone to be set on controller nodes.
- type: string
UpgradeLevelNovaCompute:
type: string
description: Nova Compute upgrade level
@@ -688,7 +684,6 @@ resources:
rabbit_cookie: {get_param: RabbitCookie}
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
- timezone: {get_param: TimeZone}
control_virtual_interface: {get_param: ControlVirtualInterface}
public_virtual_interface: {get_param: PublicVirtualInterface}
swift_hash_suffix: {get_param: SwiftHashSuffix}
@@ -1001,7 +996,6 @@ resources:
# Misc
memcached_ipv6: {get_input: memcached_ipv6}
memcached::listen_ip: {get_input: memcached_network}
- timezone::timezone: {get_input: timezone}
control_virtual_interface: {get_input: control_virtual_interface}
public_virtual_interface: {get_input: public_virtual_interface}
tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index b79eca4a..d8166f20 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -28,8 +28,6 @@ if hiera('step') >= 1 {
if hiera('step') >= 2 {
- include ::timezone
-
# MongoDB
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
# NOTE(gfidente): We need to pass the list of IPv6 addresses *with* port and
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index e095c966..9f636ddd 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -57,8 +57,6 @@ if hiera('step') >= 1 {
create_resources(sysctl::value, hiera('sysctl_settings'), {})
Exec <| tag == 'kmod::load' |> -> Sysctl <| |>
- include ::timezone
-
$pacemaker_cluster_members = downcase(regsubst(hiera('controller_node_names'), ',', ' ', 'G'))
$corosync_ipv6 = str2bool(hiera('corosync_ipv6', false))
if $corosync_ipv6 {
diff --git a/puppet/services/time/timezone.yaml b/puppet/services/time/timezone.yaml
new file mode 100644
index 00000000..13fda986
--- /dev/null
+++ b/puppet/services/time/timezone.yaml
@@ -0,0 +1,24 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Composable Timezone service
+
+parameters:
+ 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:
+ config_settings:
+ timezone::timezone: {get_param: TimeZone}
+ step_config: |
+ include ::timezone