tripleo-heat-templates/puppet/services/etcd.yaml
Feng Pan 52573dace5 Adds etcd composable service
etcd is used by networking-vpp ML2 driver as the messaging mechanism. This
patch adds etcd service which can be used by other services.

Implements: blueprint fdio-integration-tripleo

Depends-on: Idaa3e3deddf9be3d278e90b569466c2717e2d517

Change-Id: I8ae1e2c9b0c3d6f448e1da712100938d011289f5
Signed-off-by: Feng Pan <fpan@redhat.com>
2017-01-19 00:00:39 -05:00

59 lines
1.9 KiB
YAML

heat_template_version: ocata
description: >
Etcd service configured with Puppet
parameters:
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
EtcdInitialClusterToken:
default: 'etcd-tripleo'
description: Initial cluster token for the etcd cluster during bootstrap.
type: string
MonitoringSubscriptionEtcd:
default: 'overcloud-etcd'
type: string
outputs:
role_data:
description: Role data for the Etcd role.
value:
service_name: etcd
monitoring_subscription: {get_param: MonitoringSubscriptionEtcd}
config_settings:
etcd::etcd_name:
str_replace:
template:
'"%{::fqdn_$NETWORK}"'
params:
$NETWORK: {get_param: [ServiceNetMap, EtcdNetwork]}
# NOTE: bind IP is found in Heat replacing the network name with the local node IP
# for the given network; replacement examples (eg. for internal_api):
# internal_api -> IP
# internal_api_uri -> [IP]
# internal_api_subnet - > IP/CIDR
tripleo::profile::base::etcd::bind_ip: {get_param: [ServiceNetMap, EtcdNetwork]}
tripleo::profile::base::etcd::client_port: '2379'
tripleo::profile::base::etcd::peer_port: '2380'
etcd::initial_cluster_token: {get_param: EtcdInitialClusterToken}
etcd::manage_package: false
tripleo.etcd.firewall_rules:
'141 etcd':
dport:
- 2379
- 2380
step_config: |
include ::tripleo::profile::base::etcd