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
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
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
- 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.
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}
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.
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}
# 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}
if hiera('step') >= 2 {
- if count(hiera('ntp::servers')) > 0 {
- include ::ntp
- }
-
include ::timezone
# MongoDB
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 {
--- /dev/null
+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