Browse Source

adding Congress Support

Depends-On: Ic74ccd5fa7b3b04ca810416e5160463252f17474

Implements: blueprint congress-service-integration

Change-Id: Ie60540c340c0eb71ff376aba65507a8bb3e909b6
Signed-off-by: Dan Radez <dradez@redhat.com>
changes/50/330050/23
Dan Radez 6 years ago
parent
commit
f666228678
  1. 2
      README.rst
  2. 2
      ci/environments/scenario001-multinode.yaml
  3. 2
      environments/enable_congress.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. 90
      puppet/services/congress.yaml
  12. 1
      roles_data.yaml

2
README.rst

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

2
ci/environments/scenario001-multinode.yaml

@ -7,6 +7,7 @@ resource_registry:
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
OS::TripleO::Services::Congress: /usr/share/openstack-tripleo-heat-templates/puppet/services/congress.yaml
parameter_defaults:
ControllerServices:
@ -64,6 +65,7 @@ parameter_defaults:
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::Collectd
- OS::TripleO::Services::Tacker
- OS::TripleO::Services::Congress
ControllerExtraConfig:
nova::compute::libvirt::services::libvirt_virt_type: qemu
nova::compute::libvirt::libvirt_virt_type: qemu

2
environments/enable_congress.yaml

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

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

@ -17,6 +17,9 @@ parameter_defaults:
CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
CongressAdmin: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
CongressInternal: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
CongressPublic: {protocol: 'https', port: '13789', host: 'CLOUDNAME'}
ContrailAnalyticsApiAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiPublic: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}

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

@ -17,6 +17,9 @@ parameter_defaults:
CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderPublic: {protocol: 'https', port: '13776', host: 'IP_ADDRESS'}
CongressAdmin: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
CongressInternal: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
CongressPublic: {protocol: 'https', port: '13789', host: 'IP_ADDRESS'}
ContrailAnalyticsApiAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiPublic: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}

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

@ -17,6 +17,9 @@ parameter_defaults:
CinderAdmin: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
CinderInternal: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
CongressAdmin: {protocol: 'https', port: '1789', host: 'CLOUDNAME'}
CongressInternal: {protocol: 'https', port: '1789', host: 'CLOUDNAME'}
CongressPublic: {protocol: 'https', port: '13789', host: 'CLOUDNAME'}
ContrailAnalyticsApiAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiPublic: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}

9
network/endpoints/endpoint_data.yaml

@ -157,6 +157,15 @@ Cinder:
V3: /v3/%(tenant_id)s
port: 8776
Congress:
Internal:
net_param: CongressApi
Public:
net_param: Public
Admin:
net_param: CongressApi
port: 1789
Glance:
Internal:
net_param: GlanceApi

246
network/endpoints/endpoint_map.yaml

@ -34,6 +34,9 @@ parameters:
CinderAdmin: {protocol: http, port: '8776', host: IP_ADDRESS}
CinderInternal: {protocol: http, port: '8776', host: IP_ADDRESS}
CinderPublic: {protocol: http, port: '8776', host: IP_ADDRESS}
CongressAdmin: {protocol: http, port: '1789', host: IP_ADDRESS}
CongressInternal: {protocol: http, port: '1789', host: IP_ADDRESS}
CongressPublic: {protocol: http, port: '1789', host: IP_ADDRESS}
ContrailAnalyticsApiAdmin: {protocol: http, port: '8081', host: IP_ADDRESS}
ContrailAnalyticsApiInternal: {protocol: http, port: '8081', host: IP_ADDRESS}
ContrailAnalyticsApiPublic: {protocol: http, port: '8081', host: IP_ADDRESS}
@ -1852,6 +1855,249 @@ outputs:
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderPublic, port]
CongressAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, CongressAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, CongressApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, CongressAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, CongressApiNetwork]
port:
get_param: [EndpointMap, CongressAdmin, port]
protocol:
get_param: [EndpointMap, CongressAdmin, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, CongressAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, CongressAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, CongressApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CongressAdmin, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, CongressAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, CongressAdmin, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, CongressApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CongressAdmin, port]
CongressInternal:
host:
str_replace:
template:
get_param: [EndpointMap, CongressInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, CongressApiNetwork]
template: NETWORK_uri
host_nobrackets:
str_replace:
template:
get_param: [EndpointMap, CongressInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, CongressApiNetwork]
port:
get_param: [EndpointMap, CongressInternal, port]
protocol:
get_param: [EndpointMap, CongressInternal, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, CongressInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, CongressInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, CongressApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CongressInternal, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, CongressInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, CongressInternal, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, CongressApiNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- str_replace:
params:
NETWORK:
get_param: [ServiceNetMap, CongressApiNetwork]
template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CongressInternal, port]
CongressPublic:
host:
str_replace:
template:
get_param: [EndpointMap, CongressPublic, 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, CongressPublic, host]
params:
CLOUDNAME:
get_param:
- CloudEndpoints
- get_param: [ServiceNetMap, PublicNetwork]
IP_ADDRESS:
get_param:
- NetIpMap
- get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, CongressPublic, port]
protocol:
get_param: [EndpointMap, CongressPublic, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, CongressPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, CongressPublic, 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, CongressPublic, port]
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, CongressPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, CongressPublic, 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, CongressPublic, port]
ContrailAnalyticsApiAdmin:
host:
str_replace:

1
network/service_net_map.j2.yaml

@ -41,6 +41,7 @@ parameters:
MongodbNetwork: internal_api
CinderApiNetwork: internal_api
CinderIscsiNetwork: storage
CongressApiNetwork: internal_api
GlanceApiNetwork: storage
IronicApiNetwork: ctlplane
IronicNetwork: ctlplane

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

@ -129,6 +129,7 @@ resource_registry:
OS::TripleO::Services::CinderScheduler: puppet/services/cinder-scheduler.yaml
OS::TripleO::Services::CinderVolume: puppet/services/cinder-volume.yaml
OS::TripleO::Services::BlockStorageCinderVolume: puppet/services/cinder-volume.yaml
OS::TripleO::Services::Congress: OS::Heat::None
OS::TripleO::Services::Keystone: puppet/services/keystone.yaml
OS::TripleO::Services::GlanceApi: puppet/services/glance-api.yaml
OS::TripleO::Services::GlanceRegistry: puppet/services/disabled/glance-registry.yaml

90
puppet/services/congress.yaml

@ -0,0 +1,90 @@
heat_template_version: ocata
description: >
OpenStack Congress 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
CongressPassword:
description: The password for the congress 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 Congress role.
value:
service_name: congress
config_settings:
congress_password: {get_param: CongressPassword}
congress::db::database_connection:
list_join:
- ''
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
- '://congress:'
- {get_param: CongressPassword}
- '@'
- {get_param: [EndpointMap, MysqlInternal, host]}
- '/congress'
- '?bind_address='
- "%{hiera('tripleo::profile::base::database::mysql::client_bind_address')}"
congress::keystone::auth::tenant: 'service'
congress::keystone::auth::password: {get_param: CongressPassword}
congress::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
congress::debug: {get_param: Debug}
congress::rpc_backend: rabbit
congress::rabbit_userid: {get_param: RabbitUserName}
congress::rabbit_password: {get_param: RabbitPassword}
congress::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
congress::rabbit_port: {get_param: RabbitClientPort}
congress::server::bind_host: {get_param: [ServiceNetMap, CongressApiNetwork]}
congress::db::mysql::password: {get_param: CongressPassword}
congress::db::mysql::user: congress
congress::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
congress::db::mysql::dbname: congress
congress::db::mysql::allowed_hosts:
- '%'
- {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
step_config: |
include ::tripleo::profile::base::congress

1
roles_data.yaml

@ -38,6 +38,7 @@
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderScheduler
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::Congress
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Keystone
- OS::TripleO::Services::GlanceApi

Loading…
Cancel
Save