summaryrefslogtreecommitdiff
path: root/trove/guestagent/datastore/postgres/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/guestagent/datastore/postgres/service.py')
-rw-r--r--trove/guestagent/datastore/postgres/service.py42
1 files changed, 24 insertions, 18 deletions
diff --git a/trove/guestagent/datastore/postgres/service.py b/trove/guestagent/datastore/postgres/service.py
index a2cc9865..863c179a 100644
--- a/trove/guestagent/datastore/postgres/service.py
+++ b/trove/guestagent/datastore/postgres/service.py
@@ -74,18 +74,26 @@ class PgSqlAppStatus(service.BaseDbStatus):
class PgSqlApp(service.BaseDbApp):
- configuration_manager = configuration.ConfigurationManager(
- CONFIG_FILE,
- CONF.database_service_uid,
- CONF.database_service_uid,
- stream_codecs.KeyValueCodec(
- value_quoting=True,
- bool_case=stream_codecs.KeyValueCodec.BOOL_LOWER,
- big_ints=True),
- requires_root=True,
- override_strategy=configuration.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 = configuration.ConfigurationManager(
+ CONFIG_FILE,
+ CONF.database_service_uid,
+ CONF.database_service_uid,
+ stream_codecs.KeyValueCodec(
+ value_quoting=True,
+ bool_case=stream_codecs.KeyValueCodec.BOOL_LOWER,
+ big_ints=True),
+ requires_root=True,
+ override_strategy=configuration.ImportOverrideStrategy(
+ CNF_INCLUDE_DIR, CNF_EXT)
+ )
+ return self._configuration_manager
def __init__(self, status, docker_client):
super(PgSqlApp, self).__init__(status, docker_client)
@@ -96,13 +104,11 @@ class PgSqlApp(service.BaseDbApp):
self.datadir = f"{mount_point}/data/pgdata"
self.adm = PgSqlAdmin(SUPER_USER_NAME)
- @classmethod
- def get_data_dir(cls):
- return cls.configuration_manager.get_value('data_directory')
+ def get_data_dir(self):
+ return self.configuration_manager.get_value('data_directory')
- @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(
{'data_directory': value})
def reload(self):