From 296bffde893dbbf36c62d664e24e2584b89b8070 Mon Sep 17 00:00:00 2001 From: Carlos Camacho Date: Wed, 27 Apr 2016 13:57:21 +0200 Subject: [PATCH] Composable roles within services - NTP Add NTP as a composable service. Also, the scope of this patch is to serve as basis for the blueprint related to the composable services walkthrough. This will be the use case documented. The puppet manifests updated to remove the current configuration for NTP is also added. Change-Id: I1d3d6229d53f48c380e6a775a7c50de8715fe949 --- overcloud-resource-registry-puppet.yaml | 1 + overcloud.yaml | 3 ++- puppet/controller.yaml | 6 ----- puppet/manifests/overcloud_controller.pp | 4 ---- puppet/manifests/overcloud_controller_pacemaker.pp | 4 ---- puppet/services/time/ntp.yaml | 27 ++++++++++++++++++++++ 6 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 puppet/services/time/ntp.yaml diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index 4fab2466..a532efa5 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -156,6 +156,7 @@ resource_registry: OS::TripleO::Services::NovaConsoleauth: puppet/services/nova-consoleauth.yaml OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml + OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml parameter_defaults: EnablePackageInstall: false diff --git a/overcloud.yaml b/overcloud.yaml index d8955b9e..76f44918 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -221,6 +221,7 @@ parameters: description: The password for the nova service account, used by nova-api. type: string hidden: true + #TODO(ccamacho): Remove after landing Ntp in all roles NtpServer: default: '' description: Comma-separated list of ntp servers @@ -594,6 +595,7 @@ parameters: - OS::TripleO::Services::NovaScheduler - OS::TripleO::Services::NovaConsoleauth - OS::TripleO::Services::NovaVncproxy + - OS::TripleO::Services::Ntp 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. @@ -867,7 +869,6 @@ resources: NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret} NovaIPv6: {get_param: NovaIPv6} NovaPassword: {get_param: NovaPassword} - NtpServer: {get_param: NtpServer} PcsdPassword: {get_resource: PcsdPassword} PublicVirtualInterface: {get_param: PublicVirtualInterface} RabbitPassword: {get_param: RabbitPassword} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 70989ccf..be6c00c5 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -284,10 +284,6 @@ parameters: description: The password for the nova service and db account, used by nova-api. type: string hidden: true - NtpServer: - default: '' - description: Comma-separated list of ntp servers - type: comma_delimited_list PcsdPassword: type: string description: The password for the 'pcsd' user. @@ -737,7 +733,6 @@ resources: rabbit_cookie: {get_param: RabbitCookie} rabbit_client_use_ssl: {get_param: RabbitClientUseSSL} rabbit_client_port: {get_param: RabbitClientPort} - ntp_servers: {get_param: NtpServer} timezone: {get_param: TimeZone} control_virtual_interface: {get_param: ControlVirtualInterface} public_virtual_interface: {get_param: PublicVirtualInterface} @@ -1053,7 +1048,6 @@ resources: # Misc memcached_ipv6: {get_input: memcached_ipv6} memcached::listen_ip: {get_input: memcached_network} - ntp::servers: {get_input: ntp_servers} timezone::timezone: {get_input: timezone} control_virtual_interface: {get_input: control_virtual_interface} public_virtual_interface: {get_input: public_virtual_interface} diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 6084c954..2bd3b4e3 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -28,10 +28,6 @@ if hiera('step') >= 1 { if hiera('step') >= 2 { - if count(hiera('ntp::servers')) > 0 { - include ::ntp - } - include ::timezone # MongoDB diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index 13271116..902e6686 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -59,10 +59,6 @@ if hiera('step') >= 1 { include ::timezone - if count(hiera('ntp::servers')) > 0 { - include ::ntp - } - $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/ntp.yaml b/puppet/services/time/ntp.yaml new file mode 100644 index 00000000..dbef6f91 --- /dev/null +++ b/puppet/services/time/ntp.yaml @@ -0,0 +1,27 @@ +heat_template_version: 2016-04-08 + +description: > + NTP service deployment using puppet, this YAML file + creates the interface between the HOT template + and the puppet manifest that actually installs + and configure NTP. + +parameters: + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + NtpServers: + default: [] + description: NTP servers + type: comma_delimited_list + +outputs: + role_data: + description: Role ntp using composable services. + value: + config_settings: + ntp::ntpservers: {get_param: NtpServers} + step_config: | + include ::ntp \ No newline at end of file -- 2.16.6