image: Ensure Glance DB is populated

With an exec, we check that Glance database is populated with tables,
otherwise we do it "by hand".
This is an hack because we use Galera + HAproxy, which would not appear
in a simple use-case (with mysql on single node only).

Close #142

Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
This commit is contained in:
Emilien Macchi
2014-02-03 19:07:49 +01:00
parent 6c779483a7
commit 6f1da69c7e
2 changed files with 4 additions and 6 deletions

View File

@@ -130,9 +130,8 @@ class cloud::image(
# We check if DB tables are created, if not we populate Glance DB.
# It's a hack to fit with our setup where we run MySQL/Galera
exec {'glance_db_sync':
command => 'glance-manage db_sync',
path => '/usr/bin',
unless => 'mysql glance -e "show tables" | grep Tables'
command => '/usr/bin/glance-manage db_sync',
unless => '/usr/bin/mysql glance -e "show tables" | /bin/grep Tables'
}
# TODO(EmilienM) For later, I'll also add internal network support in HAproxy for all OpenStack API, to optimize North / South network traffic

View File

@@ -97,9 +97,8 @@ describe 'cloud::image' do
it 'checks if Glance DB is populated' do
should contain_exec('glance_db_sync').with(
:command => 'glance-manage db_sync',
:path => '/usr/bin',
:unless => 'mysql glance -e "show tables" | grep Tables'
:command => '/usr/bin/glance-manage db_sync',
:unless => '/usr/bin/mysql glance -e "show tables" | /bin/grep Tables'
)
end
end