Composable Zaqar services

Adds new puppet and puppet pacemaker specific services for Zaqar.

The Pacemaker templates extend the default Zaqar services and swap in
the Pacemaker specific puppet-tripleo profile instead.

Change-Id: Ia5ca4fe317339dd05b0fa3d5abebca6ca5066bce
Depends-On: Ie215289a7be681a2b1aa5495d3f965c005d62f52
Depends-On: I0b077e85ba5fcd9fdfd33956cf33ce2403fcb088
Implements: blueprint composable-services-within-roles
This commit is contained in:
Brad P. Crochet 2016-06-17 10:42:25 -04:00
parent ef38e5af9f
commit 20f8fd1c38
8 changed files with 597 additions and 0 deletions

View File

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

View File

@ -56,3 +56,9 @@ parameter_defaults:
SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
SwiftPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'}
ZaqarAdmin: {protocol: 'http', port: '8888', host: 'IP_ADDRESS'}
ZaqarInternal: {protocol: 'http', port: '8888', host: 'IP_ADDRESS'}
ZaqarPublic: {protocol: 'https', port: '13888', host: 'CLOUDNAME'}
ZaqarWebSocketAdmin: {protocol: 'http', port: '9000', host: 'IP_ADDRESS'}
ZaqarWebSocketInternal: {protocol: 'http', port: '9000', host: 'IP_ADDRESS'}
ZaqarWebSocketPublic: {protocol: 'https', port: '9000', host: 'CLOUDNAME'}

View File

@ -56,3 +56,9 @@ parameter_defaults:
SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
SwiftPublic: {protocol: 'https', port: '13808', host: 'IP_ADDRESS'}
ZaqarAdmin: {protocol: 'http', port: '8888', host: 'IP_ADDRESS'}
ZaqarInternal: {protocol: 'http', port: '8888', host: 'IP_ADDRESS'}
ZaqarPublic: {protocol: 'https', port: '13888', host: 'IP_ADDRESS'}
ZaqarWebSocketAdmin: {protocol: 'http', port: '9000', host: 'IP_ADDRESS'}
ZaqarWebSocketInternal: {protocol: 'http', port: '9000', host: 'IP_ADDRESS'}
ZaqarWebSocketPublic: {protocol: 'https', port: '9000', host: 'IP_ADDRESS'}

View File

@ -56,3 +56,9 @@ parameter_defaults:
SwiftAdmin: {protocol: 'https', port: '8080', host: 'CLOUDNAME'}
SwiftInternal: {protocol: 'https', port: '8080', host: 'CLOUDNAME'}
SwiftPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'}
ZaqarAdmin: {protocol: 'https', port: '8888', host: 'CLOUDNAME'}
ZaqarInternal: {protocol: 'https', port: '8888', host: 'CLOUDNAME'}
ZaqarPublic: {protocol: 'https', port: '13888', host: 'CLOUDNAME'}
ZaqarWebSocketAdmin: {protocol: 'https', port: '9000', host: 'CLOUDNAME'}
ZaqarWebSocketInternal: {protocol: 'https', port: '9000', host: 'CLOUDNAME'}
ZaqarWebSocketPublic: {protocol: 'https', port: '9000', host: 'CLOUDNAME'}

View File

@ -258,3 +258,21 @@ Ironic:
uri_suffixes:
'': /v1
port: 6385
Zaqar:
Internal:
net_param: ZaqarApi
Public:
net_param: Public
Admin:
net_param: ZaqarApi
port: 8888
ZaqarWebSocket:
Internal:
net_param: ZaqarApi
Public:
net_param: Public
Admin:
net_param: ZaqarApi
port: 9000

View File

@ -73,6 +73,12 @@ parameters:
SwiftAdmin: {protocol: http, port: '8080', host: IP_ADDRESS}
SwiftInternal: {protocol: http, port: '8080', host: IP_ADDRESS}
SwiftPublic: {protocol: http, port: '8080', host: IP_ADDRESS}
ZaqarAdmin: {protocol: http, port: '8888', host: IP_ADDRESS}
ZaqarInternal: {protocol: http, port: '8888', host: IP_ADDRESS}
ZaqarPublic: {protocol: http, port: '8888', host: IP_ADDRESS}
ZaqarWebSocketAdmin: {protocol: http, port: '9000', host: IP_ADDRESS}
ZaqarWebSocketInternal: {protocol: http, port: '9000', host: IP_ADDRESS}
ZaqarWebSocketPublic: {protocol: http, port: '9000', host: IP_ADDRESS}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
CloudEndpoints:
@ -5799,3 +5805,489 @@ outputs:
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftPublic, port]
ZaqarAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, ZaqarAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, ZaqarAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, ZaqarApiNetwork]
port:
get_param: [EndpointMap, ZaqarAdmin, port]
protocol:
get_param: [EndpointMap, ZaqarAdmin, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarAdmin, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarAdmin, port]
ZaqarInternal:
host:
str_replace:
template:
get_param: [EndpointMap, ZaqarInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, ZaqarInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, ZaqarApiNetwork]
port:
get_param: [EndpointMap, ZaqarInternal, port]
protocol:
get_param: [EndpointMap, ZaqarInternal, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarInternal, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarInternal, port]
ZaqarPublic:
host:
str_replace:
template:
get_param: [EndpointMap, ZaqarPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, PublicNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, ZaqarPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, ZaqarPublic, port]
protocol:
get_param: [EndpointMap, ZaqarPublic, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, PublicNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarPublic, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, PublicNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarPublic, port]
ZaqarWebSocketAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, ZaqarApiNetwork]
port:
get_param: [EndpointMap, ZaqarWebSocketAdmin, port]
protocol:
get_param: [EndpointMap, ZaqarWebSocketAdmin, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarWebSocketAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarWebSocketAdmin, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarWebSocketAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarWebSocketAdmin, port]
ZaqarWebSocketInternal:
host:
str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, ZaqarApiNetwork]
port:
get_param: [EndpointMap, ZaqarWebSocketInternal, port]
protocol:
get_param: [EndpointMap, ZaqarWebSocketInternal, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarWebSocketInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarWebSocketInternal, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarWebSocketInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, ZaqarApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, ZaqarApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarWebSocketInternal, port]
ZaqarWebSocketPublic:
host:
str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, PublicNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, ZaqarWebSocketPublic, port]
protocol:
get_param: [EndpointMap, ZaqarWebSocketPublic, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarWebSocketPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, PublicNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarWebSocketPublic, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ZaqarWebSocketPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ZaqarWebSocketPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, PublicNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, ZaqarWebSocketPublic, port]

View File

@ -209,6 +209,7 @@ resource_registry:
OS::TripleO::Services::ContrailControl: puppet/services/network/contrail-control.yaml
OS::TripleO::Services::ContrailDatabase: puppet/services/network/contrail-database.yaml
OS::TripleO::Services::ContrailWebui: puppet/services/network/contrail-webui.yaml
OS::TripleO::Services::Zaqar: OS::Heat::None
parameter_defaults:
EnablePackageInstall: false

View File

@ -0,0 +1,66 @@
heat_template_version: 2016-04-08
description: >
Openstack Zaqar service. Shared for all Heat services.
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
DefaultPasswords:
default: {}
type: json
Debug:
default: ''
description: Set to True to enable debugging on all services.
type: string
ZaqarPassword:
description: The password for Zaqar
type: string
hidden: true
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
outputs:
role_data:
description: Shared role data for the Heat services.
value:
service_name: zaqar
config_settings:
zaqar::keystone::authtoken::password: {get_param: ZaqarPassword}
zaqar::keystone::authtoken::project_name: 'service'
zaqar::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
zaqar::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
zaqar::debug: {get_param: Debug}
zaqar::transport::websocket::bind: {get_param: [EndpointMap, ZaqarInternal, host]}
zaqar::transport::wsgi::bind: {get_param: [ServiceNetMap, ZaqarApiNetwork]}
zaqar::message_pipeline: 'zaqar.notification.notifier'
zaqar::unreliable: true
service_config_settings:
keystone:
zaqar::keystone::auth::password: {get_param: ZaqarPassword}
zaqar::keystone::auth::public_url: {get_param: [EndpointMap, ZaqarPublic, uri]}
zaqar::keystone::auth::admin_url: {get_param: [EndpointMap, ZaqarAdmin, uri]}
zaqar::keystone::auth::internal_url: {get_param: [EndpointMap, ZaqarInternal, uri]}
zaqar::keystone::auth::region: {get_param: KeystoneRegion}
zaqar::keystone::auth::tenant: 'service'
zaqar::keystone::auth_websocket::password: {get_param: ZaqarPassword}
zaqar::keystone::auth_websocket::public_url: {get_param: [EndpointMap, ZaqarWebSocketPublic, uri]}
zaqar::keystone::auth_websocket::admin_url: {get_param: [EndpointMap, ZaqarWebSocketAdmin, uri]}
zaqar::keystone::auth_websocket::internal_url: {get_param: [EndpointMap, ZaqarWebSocketInternal, uri]}
zaqar::keystone::auth_websocket::region: {get_param: KeystoneRegion}
zaqar::keystone::auth_websocket::tenant: 'service'
step_config: |
include ::tripleo::profile::base::zaqar