Browse Source

Adding Tacker Support

Depends-On: Ide0e60f3b7a3733788af4337c1c39b4a956c876f
Depends-On: I3d6bbc05644e840395f87333ec80e3b844f69903
Depends-On: Idf6abcb7fe766546cb362ad4afe54f4bccd9c994

Implements: blueprint tacker-service-integration

Change-Id: Ibddc81561f6e6ba671bd01a9251c57d3ad67ba8c
Signed-off-by: Dan Radez <dradez@redhat.com>
changes/35/424135/18
Dan Radez 6 years ago committed by Emilien Macchi
parent
commit
b49b443ea7
  1. 2
      README.rst
  2. 2
      ci/environments/scenario001-multinode.yaml
  3. 2
      environments/enable_tacker.yaml
  4. 3
      environments/tls-endpoints-public-dns.yaml
  5. 3
      environments/tls-endpoints-public-ip.yaml
  6. 3
      environments/tls-everywhere-endpoints-dns.yaml
  7. 9
      network/endpoints/endpoint_data.yaml
  8. 246
      network/endpoints/endpoint_map.yaml
  9. 1
      network/service_net_map.j2.yaml
  10. 1
      overcloud-resource-registry-puppet.j2.yaml
  11. 91
      puppet/services/tacker.yaml
  12. 1
      roles_data.yaml

2
README.rst

@ -120,3 +120,5 @@ and should be executed according to the following table:
+----------------+-------------+-------------+-------------+-------------+-----------------+
| cephrgw | | X | | X | |
+----------------+-------------+-------------+-------------+-------------+-----------------+
| tacker | X | | | | |
+----------------+-------------+-------------+-------------+-------------+-----------------+

2
ci/environments/scenario001-multinode.yaml

@ -6,6 +6,7 @@ resource_registry:
OS::TripleO::Services::CephClient: /usr/share/openstack-tripleo-heat-templates/puppet/services/ceph-client.yaml
OS::TripleO::Services::PankoApi: /usr/share/openstack-tripleo-heat-templates/puppet/services/panko-api.yaml
OS::TripleO::Services::Collectd: /usr/share/openstack-tripleo-heat-templates/puppet/services/metrics/collectd.yaml
OS::TripleO::Services::Tacker: /usr/share/openstack-tripleo-heat-templates/puppet/services/tacker.yaml
parameter_defaults:
ControllerServices:
@ -62,6 +63,7 @@ parameter_defaults:
- OS::TripleO::Services::CinderScheduler
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::Collectd
- OS::TripleO::Services::Tacker
ControllerExtraConfig:
nova::compute::libvirt::services::libvirt_virt_type: qemu
nova::compute::libvirt::libvirt_virt_type: qemu

2
environments/enable_tacker.yaml

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

3
environments/tls-endpoints-public-dns.yaml

@ -103,6 +103,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'}
TackerAdmin: {protocol: 'http', port: '9890', host: 'IP_ADDRESS'}
TackerInternal: {protocol: 'http', port: '9890', host: 'IP_ADDRESS'}
TackerPublic: {protocol: 'https', port: '13989', 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'}

3
environments/tls-endpoints-public-ip.yaml

@ -103,6 +103,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'}
TackerAdmin: {protocol: 'http', port: '9890', host: 'IP_ADDRESS'}
TackerInternal: {protocol: 'http', port: '9890', host: 'IP_ADDRESS'}
TackerPublic: {protocol: 'https', port: '13989', 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'}

3
environments/tls-everywhere-endpoints-dns.yaml

@ -103,6 +103,9 @@ parameter_defaults:
SwiftAdmin: {protocol: 'https', port: '8080', host: 'CLOUDNAME'}
SwiftInternal: {protocol: 'https', port: '8080', host: 'CLOUDNAME'}
SwiftPublic: {protocol: 'https', port: '13808', host: 'CLOUDNAME'}
TackerAdmin: {protocol: 'https', port: '9890', host: 'CLOUDNAME'}
TackerInternal: {protocol: 'https', port: '9890', host: 'CLOUDNAME'}
TackerPublic: {protocol: 'https', port: '13989', host: 'CLOUDNAME'}
ZaqarAdmin: {protocol: 'https', port: '8888', host: 'CLOUDNAME'}
ZaqarInternal: {protocol: 'https', port: '8888', host: 'CLOUDNAME'}
ZaqarPublic: {protocol: 'https', port: '13888', host: 'CLOUDNAME'}

9
network/endpoints/endpoint_data.yaml

@ -362,6 +362,15 @@ Sahara:
'': /v1.1/%(tenant_id)s
port: 8386
Tacker:
Internal:
net_param: TackerApi
Public:
net_param: Public
Admin:
net_param: TackerApi
port: 9890
Ironic:
Internal:
net_param: IronicApi

246
network/endpoints/endpoint_map.yaml

@ -120,6 +120,9 @@ 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}
TackerAdmin: {protocol: http, port: '9890', host: IP_ADDRESS}
TackerInternal: {protocol: http, port: '9890', host: IP_ADDRESS}
TackerPublic: {protocol: http, port: '9890', 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}
@ -9272,6 +9275,249 @@ outputs:
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftPublic, port]
TackerAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, TackerAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, TackerApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, TackerAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, TackerApiNetwork]
port:
get_param: [EndpointMap, TackerAdmin, port]
protocol:
get_param: [EndpointMap, TackerAdmin, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, TackerAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, TackerAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, TackerApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, TackerAdmin, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, TackerAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, TackerAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, TackerApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, TackerAdmin, port]
TackerInternal:
host:
str_replace:
template:
get_param: [EndpointMap, TackerInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, TackerApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, TackerInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, TackerApiNetwork]
port:
get_param: [EndpointMap, TackerInternal, port]
protocol:
get_param: [EndpointMap, TackerInternal, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, TackerInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, TackerInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, TackerApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, TackerInternal, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, TackerInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, TackerInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, TackerApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, TackerApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, TackerInternal, port]
TackerPublic:
host:
str_replace:
template:
get_param: [EndpointMap, TackerPublic, 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, TackerPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, TackerPublic, port]
protocol:
get_param: [EndpointMap, TackerPublic, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, TackerPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, TackerPublic, 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, TackerPublic, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, TackerPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, TackerPublic, 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, TackerPublic, port]
ZaqarAdmin:
host:
str_replace:

1
network/service_net_map.j2.yaml

@ -59,6 +59,7 @@ parameters:
NovaLibvirtNetwork: internal_api
Ec2ApiNetwork: internal_api
Ec2ApiMetadataNetwork: internal_api
TackerApiNetwork: internal_api
SwiftStorageNetwork: storage_mgmt
SwiftProxyNetwork: storage
SaharaApiNetwork: internal_api

1
overcloud-resource-registry-puppet.j2.yaml

@ -187,6 +187,7 @@ resource_registry:
OS::TripleO::Services::SwiftStorage: puppet/services/swift-storage.yaml
OS::TripleO::Services::SwiftRingBuilder: puppet/services/swift-ringbuilder.yaml
OS::TripleO::Services::Snmp: puppet/services/snmp.yaml
OS::TripleO::Services::Tacker: OS::Heat::None
OS::TripleO::Services::Timezone: puppet/services/time/timezone.yaml
OS::TripleO::Services::CeilometerApi: puppet/services/ceilometer-api.yaml
OS::TripleO::Services::CeilometerCollector: puppet/services/ceilometer-collector.yaml

91
puppet/services/tacker.yaml

@ -0,0 +1,91 @@
heat_template_version: ocata
description: >
OpenStack Tacker 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
TackerPassword:
description: The password for the tacker service account.
type: string
hidden: true
Debug:
type: string
default: ''
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
RabbitPassword:
description: The password for RabbitMQ
type: string
hidden: true
RabbitUserName:
default: guest
description: The username for RabbitMQ
type: string
RabbitClientUseSSL:
default: false
description: >
Rabbit client subscriber parameter to specify
an SSL connection to the RabbitMQ host.
type: string
RabbitClientPort:
default: 5672
description: Set rabbit subscriber port, change this if using SSL
type: number
outputs:
role_data:
description: Role data for the Tacker role.
value:
service_name: tacker
config_settings:
tacker_password: {get_param: TackerPassword}
tacker::db::database_connection:
list_join:
- ''
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
- '://tacker:'
- {get_param: TackerPassword}
- '@'
- {get_param: [EndpointMap, MysqlInternal, host]}
- '/tacker'
- '?bind_address='
- "%{hiera('tripleo::profile::base::database::mysql::client_bind_address')}"
tacker::keystone::auth::tenant: 'service'
tacker::keystone::auth::password: {get_param: TackerPassword}
tacker::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
tacker::debug: {get_param: Debug}
tacker::rpc_backend: rabbit
tacker::rabbit_userid: {get_param: RabbitUserName}
tacker::rabbit_password: {get_param: RabbitPassword}
tacker::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
tacker::rabbit_port: {get_param: RabbitClientPort}
tacker::server::bind_host: {get_param: [ServiceNetMap, TackerApiNetwork]}
tacker::db::mysql::password: {get_param: TackerPassword}
tacker::db::mysql::user: tacker
tacker::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
tacker::db::mysql::dbname: tacker
tacker::db::mysql::allowed_hosts:
- '%'
- {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
step_config: |
include ::tripleo::profile::base::tacker

1
roles_data.yaml

@ -107,6 +107,7 @@
- OS::TripleO::Services::Collectd
- OS::TripleO::Services::BarbicanApi
- OS::TripleO::Services::PankoApi
- OS::TripleO::Services::Tacker
- OS::TripleO::Services::Zaqar
- OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::NeutronML2FujitsuCfab

Loading…
Cancel
Save