diff --git a/environments/ssl/no-tls-endpoints-public-ip.yaml b/environments/ssl/no-tls-endpoints-public-ip.yaml index 1bca0197e2..9d77805567 100644 --- a/environments/ssl/no-tls-endpoints-public-ip.yaml +++ b/environments/ssl/no-tls-endpoints-public-ip.yaml @@ -97,6 +97,7 @@ parameter_defaults: OpenshiftRouterAdmin: {protocol: http, port: '80', host: IP_ADDRESS} OpenshiftRouterInternal: {protocol: http, port: '80', host: IP_ADDRESS} OpenshiftRouterPublic: {protocol: http, port: '80', host: IP_ADDRESS} + OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS} PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS} PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} diff --git a/environments/ssl/tls-endpoints-public-dns.yaml b/environments/ssl/tls-endpoints-public-dns.yaml index 33f6f7fa36..6cd4e06cb7 100644 --- a/environments/ssl/tls-endpoints-public-dns.yaml +++ b/environments/ssl/tls-endpoints-public-dns.yaml @@ -93,6 +93,7 @@ parameter_defaults: OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} + OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'} PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} diff --git a/environments/ssl/tls-endpoints-public-ip.yaml b/environments/ssl/tls-endpoints-public-ip.yaml index 5ef340a07c..5bc589b57b 100644 --- a/environments/ssl/tls-endpoints-public-ip.yaml +++ b/environments/ssl/tls-endpoints-public-ip.yaml @@ -93,6 +93,7 @@ parameter_defaults: OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} + OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'} PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} diff --git a/environments/ssl/tls-everywhere-endpoints-dns.yaml b/environments/ssl/tls-everywhere-endpoints-dns.yaml index 6d3c3d3fd0..6e0d9f01fb 100644 --- a/environments/ssl/tls-everywhere-endpoints-dns.yaml +++ b/environments/ssl/tls-everywhere-endpoints-dns.yaml @@ -93,6 +93,7 @@ parameter_defaults: OpenshiftRouterAdmin: {protocol: 'https', port: '443', host: 'CLOUDNAME'} OpenshiftRouterInternal: {protocol: 'https', port: '443', host: 'CLOUDNAME'} OpenshiftRouterPublic: {protocol: 'https', port: '443', host: 'CLOUDNAME'} + OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'} PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml index f4f825320f..e66fbc7d3c 100644 --- a/network/endpoints/endpoint_data.yaml +++ b/network/endpoints/endpoint_data.yaml @@ -106,6 +106,12 @@ Mysql: protocol: mysql+pymysql port: 3306 +OvnDb: + Internal: + net_param: OvnDbs + protocol: tcp + port: 6642 + Heat: Internal: net_param: HeatApi diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml index 8f1de889a3..10299abca0 100644 --- a/network/endpoints/endpoint_map.yaml +++ b/network/endpoints/endpoint_map.yaml @@ -100,6 +100,7 @@ parameters: OpenshiftRouterAdmin: {protocol: http, port: '80', host: IP_ADDRESS} OpenshiftRouterInternal: {protocol: http, port: '80', host: IP_ADDRESS} OpenshiftRouterPublic: {protocol: http, port: '80', host: IP_ADDRESS} + OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS} PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS} PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} @@ -7772,6 +7773,87 @@ outputs: template: NETWORK_uri port: get_param: [EndpointMap, OpenshiftRouterPublic, port] + OvnDbInternal: + host: + str_replace: + template: + get_param: [EndpointMap, OvnDbInternal, host] + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, OvnDbsNetwork] + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, OvnDbsNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, OvnDbInternal, host] + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, OvnDbsNetwork] + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, OvnDbsNetwork] + port: + get_param: [EndpointMap, OvnDbInternal, port] + protocol: + get_param: [EndpointMap, OvnDbInternal, protocol] + uri: + make_url: + scheme: + get_param: [EndpointMap, OvnDbInternal, protocol] + host: + str_replace: + template: + get_param: [EndpointMap, OvnDbInternal, host] + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, OvnDbsNetwork] + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, OvnDbsNetwork] + template: NETWORK_uri + port: + get_param: [EndpointMap, OvnDbInternal, port] + uri_no_suffix: + make_url: + scheme: + get_param: [EndpointMap, OvnDbInternal, protocol] + host: + str_replace: + template: + get_param: [EndpointMap, OvnDbInternal, host] + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, OvnDbsNetwork] + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, OvnDbsNetwork] + template: NETWORK_uri + port: + get_param: [EndpointMap, OvnDbInternal, port] PankoAdmin: host: str_replace: diff --git a/puppet/services/ovn-controller.yaml b/puppet/services/ovn-controller.yaml index cc521d595e..f0c2ab1885 100644 --- a/puppet/services/ovn-controller.yaml +++ b/puppet/services/ovn-controller.yaml @@ -114,6 +114,7 @@ outputs: $NETWORK: {get_param: [ServiceNetMap, NeutronTenantNetwork]} ovn::controller::ovn_bridge: {get_param: OVNIntegrationBridge} nova::compute::force_config_drive: {if: [force_config_drive, true, false]} + tripleo::profile::base::neutron::agents::ovn::ovn_db_host: {get_param: [EndpointMap, OvnDbInternal, host_nobrackets]} tripleo::ovn_controller::firewall_rules: '118 neutron vxlan networks': proto: 'udp' diff --git a/puppet/services/ovn-metadata.yaml b/puppet/services/ovn-metadata.yaml index 12c856c291..4d7db4f5e2 100644 --- a/puppet/services/ovn-metadata.yaml +++ b/puppet/services/ovn-metadata.yaml @@ -113,6 +113,7 @@ outputs: $NETWORK: {get_param: [ServiceNetMap, NovaMetadataNetwork]} neutron::agents::ovn_metadata::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout} ovn::southbound::port: {get_param: OVNSouthboundServerPort} + tripleo::profile::base::neutron::ovn_metadata::ovn_db_host: {get_param: [EndpointMap, OvnDbInternal, host_nobrackets]} neutron::agents::ovn_metadata::debug: if: - service_debug_unset diff --git a/releasenotes/notes/add-ovn-db-endpointmap-2f75dea0b3aa4513.yaml b/releasenotes/notes/add-ovn-db-endpointmap-2f75dea0b3aa4513.yaml new file mode 100644 index 0000000000..e85a6cabbe --- /dev/null +++ b/releasenotes/notes/add-ovn-db-endpointmap-2f75dea0b3aa4513.yaml @@ -0,0 +1,15 @@ +--- +issues: + - | + Add OvnDbInternal to EndpointMap and use it for ovn_db_host + + OVN controller/metadata use ovn_dbs_vip hiera key to configure + the central ovn DB. This key is not available on split control + plane or multi cell setup and therefore installation fails. + + With this change a new entry gets created in the EndpointMap + named OvnDbInternal. This can then be exported for an overcloud + stack and can be used as an input for the cell stack. + + The information from the EndpointMap is used for ovn-metadata + and ovn-controller as the ovn_db_host information in puppet-tripleo diff --git a/sample-env-generator/ssl.yaml b/sample-env-generator/ssl.yaml index 8058793aaf..5a2239b74f 100644 --- a/sample-env-generator/ssl.yaml +++ b/sample-env-generator/ssl.yaml @@ -198,6 +198,7 @@ environments: OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} + OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'} PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} @@ -317,6 +318,7 @@ environments: OpenshiftRouterAdmin: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterInternal: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} OpenshiftRouterPublic: {protocol: 'http', port: '80', host: 'IP_ADDRESS'} + OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'} PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} @@ -436,6 +438,7 @@ environments: OpenshiftRouterAdmin: {protocol: 'https', port: '443', host: 'CLOUDNAME'} OpenshiftRouterInternal: {protocol: 'https', port: '443', host: 'CLOUDNAME'} OpenshiftRouterPublic: {protocol: 'https', port: '443', host: 'CLOUDNAME'} + OvnDbInternal: {protocol: tcp, port: '6642', host: 'IP_ADDRESS'} PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} @@ -565,6 +568,7 @@ environments: OpenshiftRouterAdmin: {protocol: http, port: '80', host: IP_ADDRESS} OpenshiftRouterInternal: {protocol: http, port: '80', host: IP_ADDRESS} OpenshiftRouterPublic: {protocol: http, port: '80', host: IP_ADDRESS} + OvnDbInternal: {protocol: tcp, port: '6642', host: IP_ADDRESS} PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS} PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS} PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS}