summaryrefslogtreecommitdiff
path: root/trove/guestagent/datastore/mysql_common/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/guestagent/datastore/mysql_common/service.py')
-rw-r--r--trove/guestagent/datastore/mysql_common/service.py28
1 files changed, 17 insertions, 11 deletions
diff --git a/trove/guestagent/datastore/mysql_common/service.py b/trove/guestagent/datastore/mysql_common/service.py
index 7dfadfce..d53189c3 100644
--- a/trove/guestagent/datastore/mysql_common/service.py
+++ b/trove/guestagent/datastore/mysql_common/service.py
@@ -421,11 +421,19 @@ class BaseMySqlAdmin(object):
class BaseMySqlApp(service.BaseDbApp):
- configuration_manager = ConfigurationManager(
- MYSQL_CONFIG, CONF.database_service_uid, CONF.database_service_uid,
- service.BaseDbApp.CFG_CODEC, requires_root=True,
- override_strategy=ImportOverrideStrategy(CNF_INCLUDE_DIR, CNF_EXT)
- )
+ _configuration_manager = None
+
+ @property
+ def configuration_manager(self):
+ if self._configuration_manager:
+ return self._configuration_manager
+
+ self._configuration_manager = ConfigurationManager(
+ MYSQL_CONFIG, CONF.database_service_uid, CONF.database_service_uid,
+ service.BaseDbApp.CFG_CODEC, requires_root=True,
+ override_strategy=ImportOverrideStrategy(CNF_INCLUDE_DIR, CNF_EXT)
+ )
+ return self._configuration_manager
def get_engine(self):
"""Create the default engine with the updated admin user.
@@ -457,14 +465,12 @@ class BaseMySqlApp(service.BaseDbApp):
with mysql_util.SqlClient(self.get_engine()) as client:
return client.execute(sql_statement)
- @classmethod
- def get_data_dir(cls):
- return cls.configuration_manager.get_value(
+ def get_data_dir(self):
+ return self.configuration_manager.get_value(
'datadir', section=MySQLConfParser.SERVER_CONF_SECTION)
- @classmethod
- def set_data_dir(cls, value):
- cls.configuration_manager.apply_system_override(
+ def set_data_dir(self, value):
+ self.configuration_manager.apply_system_override(
{MySQLConfParser.SERVER_CONF_SECTION: {'datadir': value}})
def _create_admin_user(self, client, password):