sqlalchemy: Ensure backend package is installed
Some of the backends supported by sqlalchemy (eg mysql + pymysql) require additional packages. This ensures the required packages are installed using the oslo::db defined type. Change-Id: I7fc4cea95a0a7ecba7def9db4f01c16ef1cfa2f3
This commit is contained in:
parent
2d8f3e3ef0
commit
30d6d4c102
@ -3,8 +3,13 @@
|
|||||||
# [*uri*]
|
# [*uri*]
|
||||||
# SQLAlchemy Connection URI. Required.
|
# SQLAlchemy Connection URI. Required.
|
||||||
#
|
#
|
||||||
|
# [*package_ensure*]
|
||||||
|
# (Optional) Ensure state for package.
|
||||||
|
# Defaults to present.
|
||||||
|
#
|
||||||
class zaqar::management::sqlalchemy(
|
class zaqar::management::sqlalchemy(
|
||||||
$uri,
|
$uri,
|
||||||
|
$package_ensure = 'present',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include zaqar::deps
|
include zaqar::deps
|
||||||
@ -13,4 +18,9 @@ class zaqar::management::sqlalchemy(
|
|||||||
'drivers:management_store:sqlalchemy/uri': value => $uri, secret => true;
|
'drivers:management_store:sqlalchemy/uri': value => $uri, secret => true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oslo::db { 'zaqar_config':
|
||||||
|
connection => $uri,
|
||||||
|
backend_package_ensure => $package_ensure,
|
||||||
|
manage_config => false,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The ``zaqar::management::sqlalchemy`` class now ensures the dependent
|
||||||
|
library packages such as PyMySQL is installed. The package's state can be
|
||||||
|
customized using the new ``package_ensure`` parameter.
|
@ -30,6 +30,10 @@ describe 'zaqar::management::sqlalchemy' do
|
|||||||
is_expected.to contain_zaqar_config('drivers:management_store:sqlalchemy/uri').with(
|
is_expected.to contain_zaqar_config('drivers:management_store:sqlalchemy/uri').with(
|
||||||
:value => 'mysql://user:pass@127.0.0.1/zaqar',
|
:value => 'mysql://user:pass@127.0.0.1/zaqar',
|
||||||
)
|
)
|
||||||
|
is_expected.to contain_oslo__db('zaqar_config').with(
|
||||||
|
:connection => 'mysql://user:pass@127.0.0.1/zaqar',
|
||||||
|
:backend_package_ensure => 'present'
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user