diff options
-rw-r--r-- | puppet/controller.yaml | 22 | ||||
-rw-r--r-- | puppet/hieradata/database.yaml | 15 | ||||
-rw-r--r-- | puppet/services/nova-api.yaml | 2 | ||||
-rw-r--r-- | puppet/services/nova-base.yaml | 41 | ||||
-rw-r--r-- | puppet/services/nova-compute.yaml | 2 | ||||
-rw-r--r-- | puppet/services/nova-conductor.yaml | 2 | ||||
-rw-r--r-- | puppet/services/nova-consoleauth.yaml | 2 | ||||
-rw-r--r-- | puppet/services/nova-libvirt.yaml | 2 | ||||
-rw-r--r-- | puppet/services/nova-scheduler.yaml | 2 | ||||
-rw-r--r-- | puppet/services/nova-vncproxy.yaml | 2 |
10 files changed, 55 insertions, 37 deletions
diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 6519a1d9..a8a64b36 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -570,24 +570,6 @@ resources: corosync_ipv6: {get_param: CorosyncIPv6} memcached_ipv6: {get_param: MemcachedIPv6} nova_password: {get_param: NovaPassword} - nova_dsn: - list_join: - - '' - - - {get_param: [EndpointMap, MysqlInternal, protocol]} - - '://nova:' - - {get_param: NovaPassword} - - '@' - - {get_param: [EndpointMap, MysqlInternal, host]} - - '/nova' - nova_api_dsn: - list_join: - - '' - - - {get_param: [EndpointMap, MysqlInternal, protocol]} - - '://nova_api:' - - {get_param: NovaPassword} - - '@' - - {get_param: [EndpointMap, MysqlInternal, host]} - - '/nova_api' upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute} instance_name_template: {get_param: InstanceNameTemplate} nova_public_url: {get_param: [EndpointMap, NovaPublic, uri]} @@ -838,8 +820,6 @@ resources: nova::api::api_bind_address: {get_input: nova_api_network} nova::api::metadata_listen: {get_input: nova_metadata_network} nova::api::admin_password: {get_input: nova_password} - nova::database_connection: {get_input: nova_dsn} - nova::api_database_connection: {get_input: nova_api_dsn} nova::glance_api_servers: {get_input: glance_api_servers} nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret} nova::api::instance_name_template: {get_input: instance_name_template} @@ -847,8 +827,6 @@ resources: nova::network::neutron::neutron_url: {get_input: neutron_internal_url} nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url} nova::vncproxy::host: {get_input: nova_api_network} - nova::db::mysql::password: {get_input: nova_password} - nova::db::mysql_api::password: {get_input: nova_password} nova_enable_db_purge: {get_input: nova_enable_db_purge} nova::keystone::auth::public_url: {get_input: nova_public_url} nova::keystone::auth::internal_url: {get_input: nova_internal_url} diff --git a/puppet/hieradata/database.yaml b/puppet/hieradata/database.yaml index 9aa14289..5591f7e0 100644 --- a/puppet/hieradata/database.yaml +++ b/puppet/hieradata/database.yaml @@ -1,18 +1,3 @@ -# Nova -nova::db::mysql::user: nova -nova::db::mysql::host: "%{hiera('mysql_virtual_ip')}" -nova::db::mysql::dbname: nova -nova::db::mysql::allowed_hosts: - - '%' - - "%{hiera('mysql_bind_host')}" - -nova::db::mysql_api::user: nova_api -nova::db::mysql_api::host: "%{hiera('mysql_virtual_ip')}" -nova::db::mysql_api::dbname: nova_api -nova::db::mysql_api::allowed_hosts: - - '%' - - "%{hiera('mysql_bind_host')}" - # Aodh aodh::db::mysql::user: aodh aodh::db::mysql::host: "%{hiera('mysql_virtual_ip')}" diff --git a/puppet/services/nova-api.yaml b/puppet/services/nova-api.yaml index 69f63987..f6c41052 100644 --- a/puppet/services/nova-api.yaml +++ b/puppet/services/nova-api.yaml @@ -17,6 +17,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: diff --git a/puppet/services/nova-base.yaml b/puppet/services/nova-base.yaml index ddf39b6b..99ae520a 100644 --- a/puppet/services/nova-base.yaml +++ b/puppet/services/nova-base.yaml @@ -4,6 +4,15 @@ description: > OpenStack Nova base service. Shared for all Nova services. parameters: + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + NovaPassword: + description: The password for the nova service and db account, used by nova-api. + type: string + hidden: true RabbitPassword: description: The password for RabbitMQ type: string @@ -37,4 +46,36 @@ outputs: nova::rabbit_user: {get_param: RabbitUserName} nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL} nova::rabbit_port: {get_param: RabbitClientPort} + nova::database_connection: + list_join: + - '' + - - {get_param: [EndpointMap, MysqlInternal, protocol]} + - '://nova:' + - {get_param: NovaPassword} + - '@' + - {get_param: [EndpointMap, MysqlInternal, host]} + - '/nova' + nova::api_database_connection: + list_join: + - '' + - - {get_param: [EndpointMap, MysqlInternal, protocol]} + - '://nova_api:' + - {get_param: NovaPassword} + - '@' + - {get_param: [EndpointMap, MysqlInternal, host]} + - '/nova_api' + nova::db::mysql::password: {get_input: nova_password} + nova::db::mysql::user: nova + nova::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + nova::db::mysql::dbname: nova + nova::db::mysql::allowed_hosts: + - '%' + - "%{hiera('mysql_bind_host')}" + nova::db::mysql_api::password: {get_input: nova_password} + nova::db::mysql_api::user: nova_api + nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + nova::db::mysql_api::dbname: nova_api + nova::db::mysql_api::allowed_hosts: + - '%' + - "%{hiera('mysql_bind_host')}" nova::debug: {get_param: Debug} diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml index ab6e2019..341bd978 100644 --- a/puppet/services/nova-compute.yaml +++ b/puppet/services/nova-compute.yaml @@ -13,6 +13,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: diff --git a/puppet/services/nova-conductor.yaml b/puppet/services/nova-conductor.yaml index 6d186ab7..c334de44 100644 --- a/puppet/services/nova-conductor.yaml +++ b/puppet/services/nova-conductor.yaml @@ -17,6 +17,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: diff --git a/puppet/services/nova-consoleauth.yaml b/puppet/services/nova-consoleauth.yaml index bc8a1e1d..0e7bf3b4 100644 --- a/puppet/services/nova-consoleauth.yaml +++ b/puppet/services/nova-consoleauth.yaml @@ -13,6 +13,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: diff --git a/puppet/services/nova-libvirt.yaml b/puppet/services/nova-libvirt.yaml index 074755f9..087ad277 100644 --- a/puppet/services/nova-libvirt.yaml +++ b/puppet/services/nova-libvirt.yaml @@ -13,6 +13,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: diff --git a/puppet/services/nova-scheduler.yaml b/puppet/services/nova-scheduler.yaml index 17383201..4187b728 100644 --- a/puppet/services/nova-scheduler.yaml +++ b/puppet/services/nova-scheduler.yaml @@ -13,6 +13,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: diff --git a/puppet/services/nova-vncproxy.yaml b/puppet/services/nova-vncproxy.yaml index 1bf157c7..d8e04cc8 100644 --- a/puppet/services/nova-vncproxy.yaml +++ b/puppet/services/nova-vncproxy.yaml @@ -13,6 +13,8 @@ parameters: resources: NovaBase: type: ./nova-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} outputs: role_data: |