Nova now requires an api database to be created
authorDavid Moreau Simard <dms@redhat.com>
Fri, 5 Feb 2016 15:34:57 +0000 (10:34 -0500)
committerDavid Moreau Simard <dms@redhat.com>
Wed, 10 Feb 2016 20:44:14 +0000 (15:44 -0500)
This enables the creation of the nova_api database that is now
mandatory since https://review.openstack.org/#/c/245828/

Change-Id: Ia8242f23864ebb14ccf858a77ba754059e9c2d4a
Related-Bug: #1539793

puppet/controller.yaml
puppet/hieradata/controller.yaml
puppet/hieradata/database.yaml
puppet/manifests/overcloud_controller.pp
puppet/manifests/overcloud_controller_pacemaker.pp

index ea19c71..c80d76c 100644 (file)
@@ -1104,6 +1104,14 @@ resources:
               - '@'
               - {get_param: MysqlVirtualIP}
               - '/nova'
+        nova_api_dsn:
+          list_join:
+            - ''
+            - - 'mysql+pymysql://nova_api:'
+              - {get_param: NovaPassword}
+              - '@'
+              - {get_param: MysqlVirtualIP}
+              - '/nova_api'
         instance_name_template: {get_param: InstanceNameTemplate}
         fencing_config: {get_param: FencingConfig}
         pcsd_password: {get_param: PcsdPassword}
@@ -1466,6 +1474,7 @@ resources:
                 nova::api::ec2_workers: {get_input: nova_workers}
                 nova::api::metadata_workers: {get_input: nova_workers}
                 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}
@@ -1474,6 +1483,7 @@ resources:
                 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_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}
 
                 # Horizon
index 06be40e..2b0ef15 100644 (file)
@@ -85,6 +85,7 @@ neutron::agents::dhcp::dnsmasq_config_file: /etc/neutron/dnsmasq-neutron.conf
 nova::notify_on_state_change: 'vm_and_task_state'
 nova::api::default_floating_pool: 'public'
 nova::api::osapi_v3: true
+nova::api::sync_db_api: true
 nova::scheduler::filter::ram_allocation_ratio: '1.0'
 nova::cron::archive_deleted_rows::hour: '*/12'
 nova::cron::archive_deleted_rows::destination: '/dev/null'
index 8957750..6171469 100644 (file)
@@ -6,6 +6,13 @@ 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')}"
+
 # Glance
 glance::db::mysql::user: glance
 glance::db::mysql::host: "%{hiera('mysql_virtual_ip')}"
index 70aebdd..d90726a 100644 (file)
@@ -100,6 +100,7 @@ if hiera('step') >= 2 {
   include ::keystone::db::mysql
   include ::glance::db::mysql
   include ::nova::db::mysql
+  include ::nova::db::mysql_api
   include ::neutron::db::mysql
   include ::cinder::db::mysql
   include ::heat::db::mysql
index e028616..7d5c514 100644 (file)
@@ -429,6 +429,9 @@ MYSQL_HOST=localhost\n",
     class { '::nova::db::mysql':
       require => Exec['galera-ready'],
     }
+    class { '::nova::db::mysql_api':
+      require => Exec['galera-ready'],
+    }
     class { '::neutron::db::mysql':
       require => Exec['galera-ready'],
     }
@@ -574,6 +577,7 @@ if hiera('step') >= 3 {
 
   class { '::nova::api' :
     sync_db        => $sync_db,
+    sync_db_api    => $sync_db,
     manage_service => false,
     enabled        => false,
   }