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>
This commit is contained in:
Feng Pan 2016-12-13 22:49:40 -05:00
parent 227364a82f
commit 52573dace5
5 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,2 @@
resource_registry:
OS::TripleO::Services::Etcd: ../../puppet/services/etcd.yaml

View File

@ -63,6 +63,7 @@ parameters:
# We special-case the default ResolveNetwork for the CephStorage role
# for backwards compatibility, all other roles default to internal_api
CephStorageHostnameResolveNetwork: storage
EtcdNetwork: internal_api
{% for role in roles if role.name != 'CephStorage' %}
{{role.name}}HostnameResolveNetwork: internal_api
{% endfor %}

View File

@ -232,6 +232,7 @@ resource_registry:
OS::TripleO::Services::Zaqar: OS::Heat::None
OS::TripleO::Services::NeutronML2FujitsuCfab: OS::Heat::None
OS::TripleO::Services::CinderHPELeftHandISCSI: OS::Heat::None
OS::TripleO::Services::Etcd: OS::Heat::None
parameter_defaults:
EnablePackageInstall: false

58
puppet/services/etcd.yaml Normal file
View File

@ -0,0 +1,58 @@
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

View File

@ -103,6 +103,7 @@
- OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::NeutronML2FujitsuCfab
- OS::TripleO::Services::CinderHPELeftHandISCSI
- OS::TripleO::Services::Etcd
- name: Compute
CountDefault: 1