Use mysqldb db driver

Force use of the mysqldb db driver as workloadmgr is not
compatible with pymysql.

Change-Id: I2d7a9da957e95d58d8ed0110f39579f0aefc644d
Depends-On: I78218aa972ead49f144bb19a988bd6f0bbf4a539
Closes-Bug: 1887675
This commit is contained in:
James Page 2020-07-17 15:07:38 +01:00
parent 6993eb54c2
commit 7c5c74be6e

View File

@ -67,12 +67,40 @@ class LicenseFileMissingException(Exception):
pass
class TrilioWLMDatabaseAdapter(
charms_openstack.adapters.DatabaseRelationAdapter):
"""
Overrides default class to force use of the mysqldb driver
"""
@property
def driver(self):
return "mysql"
class TrilioWLMCharmRelationAdapters(
charms_openstack.adapters.OpenStackAPIRelationAdapters):
"""
Adapters collection to append specific adapters for TrilioWLM
"""
relation_adapters = {
'amqp': charms_openstack.adapters.RabbitMQRelationAdapter,
'shared_db': TrilioWLMDatabaseAdapter,
'cluster': charms_openstack.adapters.PeerHARelationAdapter,
'coordinator_memcached': (
charms_openstack.adapters.MemcacheRelationAdapter
),
}
class TrilioWLMCharm(charms_openstack.plugins.TrilioVaultCharm,
charms_openstack.plugins.TrilioVaultCharmGhostAction):
# Internal name of charm
service_name = name = "trilio-wlm"
adapters_class = TrilioWLMCharmRelationAdapters
workloadmgr_conf = "/etc/workloadmgr/workloadmgr.conf"
api_paste_ini = "/etc/workloadmgr/api-paste.ini"
alembic_ini = "/etc/workloadmgr/alembic.ini"