Merge "Qpid dispatch router composable role"

This commit is contained in:
Jenkins 2017-04-03 14:54:18 +00:00 committed by Gerrit Code Review
commit b20bdcee03
6 changed files with 75 additions and 1 deletions

View File

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

View File

@ -67,6 +67,7 @@ parameters:
HorizonNetwork: internal_api
MemcachedNetwork: internal_api
RabbitmqNetwork: internal_api
QdrNetwork: internal_api
RedisNetwork: internal_api
MysqlNetwork: internal_api
CephClusterNetwork: storage_mgmt

View File

@ -168,6 +168,7 @@ resource_registry:
OS::TripleO::Services::PacemakerRemote: OS::Heat::None
OS::TripleO::Services::NeutronSriovAgent: OS::Heat::None
OS::TripleO::Services::RabbitMQ: puppet/services/rabbitmq.yaml
OS::TripleO::Services::Qdr: OS::Heat::None
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
OS::TripleO::Services::HAProxyPublicTLS: OS::Heat::None
OS::TripleO::Services::HAProxyInternalTLS: OS::Heat::None

60
puppet/services/qdr.yaml Normal file
View File

@ -0,0 +1,60 @@
heat_template_version: ocata
description: >
Qpid dispatch router 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
RabbitUserName:
default: guest
description: The username for Qdr
type: string
RabbitPassword:
description: The password for Qdr
type: string
hidden: true
RabbitClientPort:
description: Listening port for Qdr
default: 5672
type: number
MonitoringSubscriptionQdr:
default: 'overcloud-qdr'
type: string
outputs:
role_data:
description: Role data for the Qdr role.
value:
service_name: rabbitmq
monitoring_subscription: {get_param: MonitoringSubscriptionQdr}
global_config_settings:
messaging_notify_service_name: 'amqp'
messaging_rpc_service_name: 'amqp'
keystone::messaging::amqp::amqp_pre_settled: 'notify'
config_settings:
tripleo.rabbitmq.firewall_rules:
'109 qdr':
dport:
- {get_param: RabbitClientPort}
qdr::listener_addr: {get_param: [ServiceNetMap, QdrNetwork]}
# cannot pass qdr::listener_port directly because it needs to be a string
# we do the conversion in the puppet layer
tripleo::profile::base::qdr::qdr_listener_port: {get_param: RabbitClientPort}
tripleo::profile::base::qdr::qdr_username: {get_param: RabbitUserName}
tripleo::profile::base::qdr::qdr_password: {get_param: RabbitPassword}
step_config: |
include ::tripleo::profile::base::qdr

View File

@ -0,0 +1,8 @@
---
features:
- Introduce the ability to deploy the qpid-dispatch-router (Qdr) for
the oslo.messaging AMQP 1.0 driver backend. The Qdr provides
direct messaging (e.g. brokerless) communications for
oslo.messaging services. To facilitate simple use for evaluation
in an overcloud deployment, the Qdr aliases the RabbitMQ service
to provide the messaging backend.

View File

@ -212,8 +212,10 @@ def validate(filename):
% filename)
return 1
# qdr aliases rabbitmq service to provide alternative messaging backend
if (filename.startswith('./puppet/services/') and
filename != './puppet/services/services.yaml'):
filename not in ['./puppet/services/services.yaml',
'./puppet/services/qdr.yaml']):
retval = validate_service(filename, tpl)
if (filename.startswith('./docker/services/') and