本文整理汇总了Python中trove.guestagent.common.configuration.ConfigurationManager.remove_system_override方法的典型用法代码示例。如果您正苦于以下问题:Python ConfigurationManager.remove_system_override方法的具体用法?Python ConfigurationManager.remove_system_override怎么用?Python ConfigurationManager.remove_system_override使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trove.guestagent.common.configuration.ConfigurationManager
的用法示例。
在下文中一共展示了ConfigurationManager.remove_system_override方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PgSqlApp
# 需要导入模块: from trove.guestagent.common.configuration import ConfigurationManager [as 别名]
# 或者: from trove.guestagent.common.configuration.ConfigurationManager import remove_system_override [as 别名]
#.........这里部分代码省略.........
# The first failure to authenticate stops the lookup.
# That is why the 'local' connections validate first.
# The OrderedDict is necessary to guarantee the iteration order.
local_admins = ','.join([self.default_superuser_name, self.ADMIN_USER])
remote_admins = self.ADMIN_USER
access_rules = OrderedDict(
[('local', [['all', local_admins, None, 'trust'],
['replication', local_admins, None, 'trust'],
['all', 'all', None, 'md5']]),
('host', [['all', local_admins, '127.0.0.1/32', 'trust'],
['all', local_admins, '::1/128', 'trust'],
['all', local_admins, 'localhost', 'trust'],
['all', remote_admins, '0.0.0.0/0', 'reject'],
['all', remote_admins, '::/0', 'reject'],
['all', 'all', '0.0.0.0/0', 'md5'],
['all', 'all', '::/0', 'md5']])
])
operating_system.write_file(self.pgsql_hba_config, access_rules,
PropertiesCodec(
string_mappings={'\t': None}),
as_root=True)
operating_system.chown(self.pgsql_hba_config,
self.pgsql_owner, self.pgsql_owner,
as_root=True)
operating_system.chmod(self.pgsql_hba_config, FileMode.SET_USR_RO,
as_root=True)
def disable_backups(self):
"""Reverse overrides applied by PgBaseBackup strategy"""
if not self.configuration_manager.has_system_override(
BACKUP_CFG_OVERRIDE):
return
LOG.info("Removing configuration changes for backups")
self.configuration_manager.remove_system_override(BACKUP_CFG_OVERRIDE)
self.remove_wal_archive_dir()
self.restart()
def enable_backups(self):
"""Apply necessary changes to config to enable WAL-based backups
if we are using the PgBaseBackup strategy
"""
LOG.info("Checking if we need to apply changes to WAL config")
if 'PgBaseBackup' not in self.backup_strategy:
return
if self.configuration_manager.has_system_override(BACKUP_CFG_OVERRIDE):
return
LOG.info("Applying changes to WAL config for use by base backups")
arch_cmd = "'test ! -f {wal_arch}/%f && cp %p {wal_arch}/%f'".format(
wal_arch=self.wal_archive_location
)
opts = {
# FIXME(atomic77) These spaces after the options are needed until
# DBAAS-949 is fixed
'wal_level ': 'hot_standby',
'archive_mode ': 'on',
'max_wal_senders': 8,
# 'checkpoint_segments ': 8,
'wal_keep_segments': 8,
'archive_command': arch_cmd
}
if self.pg_version[1] in ('9.4', '9.5'):
opts['wal_log_hints'] = 'on'
self.configuration_manager.apply_system_override(opts,
BACKUP_CFG_OVERRIDE)
示例2: _assert_get_value
# 需要导入模块: from trove.guestagent.common.configuration import ConfigurationManager [as 别名]
# 或者: from trove.guestagent.common.configuration.ConfigurationManager import remove_system_override [as 别名]
def _assert_get_value(self, override_strategy):
base_config_contents = {'Section_1': {'name': 'pi',
'is_number': 'True',
'value': '3.1415'}
}
config_overrides_v1a = {'Section_1': {'name': 'sqrt(2)',
'value': '1.4142'}
}
config_overrides_v2 = {'Section_1': {'name': 'e',
'value': '2.7183'},
'Section_2': {'foo': 'bar'}
}
config_overrides_v1b = {'Section_1': {'name': 'sqrt(4)',
'value': '2.0'}
}
codec = IniCodec()
current_user = getpass.getuser()
with tempfile.NamedTemporaryFile() as base_config:
# Write initial config contents.
operating_system.write_file(
base_config.name, base_config_contents, codec)
manager = ConfigurationManager(
base_config.name, current_user, current_user, codec,
requires_root=False, override_strategy=override_strategy)
# Test default value.
self.assertIsNone(manager.get_value('Section_2'))
self.assertEqual('foo', manager.get_value('Section_2', 'foo'))
# Test value before applying overrides.
self.assertEqual('pi', manager.get_value('Section_1')['name'])
self.assertEqual('3.1415', manager.get_value('Section_1')['value'])
# Test value after applying overrides.
manager.apply_user_override(config_overrides_v1a, change_id='id1')
self.assertEqual('sqrt(2)', manager.get_value('Section_1')['name'])
self.assertEqual('1.4142', manager.get_value('Section_1')['value'])
manager.apply_user_override(config_overrides_v2, change_id='id2')
self.assertEqual('e', manager.get_value('Section_1')['name'])
self.assertEqual('2.7183', manager.get_value('Section_1')['value'])
self.assertEqual('bar', manager.get_value('Section_2')['foo'])
# Editing change 'id1' become visible only after removing
# change 'id2', which overrides 'id1'.
manager.apply_user_override(config_overrides_v1b, change_id='id1')
self.assertEqual('e', manager.get_value('Section_1')['name'])
self.assertEqual('2.7183', manager.get_value('Section_1')['value'])
# Test value after removing overrides.
# The edited values from change 'id1' should be visible after
# removing 'id2'.
manager.remove_user_override(change_id='id2')
self.assertEqual('sqrt(4)', manager.get_value('Section_1')['name'])
self.assertEqual('2.0', manager.get_value('Section_1')['value'])
# Back to the base.
manager.remove_user_override(change_id='id1')
self.assertEqual('pi', manager.get_value('Section_1')['name'])
self.assertEqual('3.1415', manager.get_value('Section_1')['value'])
self.assertIsNone(manager.get_value('Section_2'))
# Test system overrides.
manager.apply_system_override(
config_overrides_v1b, change_id='id1')
self.assertEqual('sqrt(4)', manager.get_value('Section_1')['name'])
self.assertEqual('2.0', manager.get_value('Section_1')['value'])
# The system values should take precedence over the user
# override.
manager.apply_user_override(
config_overrides_v1a, change_id='id1')
self.assertEqual('sqrt(4)', manager.get_value('Section_1')['name'])
self.assertEqual('2.0', manager.get_value('Section_1')['value'])
# The user values should become visible only after removing the
# system change.
manager.remove_system_override(change_id='id1')
self.assertEqual('sqrt(2)', manager.get_value('Section_1')['name'])
self.assertEqual('1.4142', manager.get_value('Section_1')['value'])
# Back to the base.
manager.remove_user_override(change_id='id1')
self.assertEqual('pi', manager.get_value('Section_1')['name'])
self.assertEqual('3.1415', manager.get_value('Section_1')['value'])
self.assertIsNone(manager.get_value('Section_2'))
示例3: _assert_get_value
# 需要导入模块: from trove.guestagent.common.configuration import ConfigurationManager [as 别名]
# 或者: from trove.guestagent.common.configuration.ConfigurationManager import remove_system_override [as 别名]
def _assert_get_value(self, override_strategy):
base_config_contents = {"Section_1": {"name": "pi", "is_number": "True", "value": "3.1415"}}
config_overrides_v1a = {"Section_1": {"name": "sqrt(2)", "value": "1.4142"}}
config_overrides_v2 = {"Section_1": {"name": "e", "value": "2.7183"}, "Section_2": {"foo": "bar"}}
config_overrides_v1b = {"Section_1": {"name": "sqrt(4)", "value": "2.0"}}
codec = IniCodec()
current_user = getpass.getuser()
with tempfile.NamedTemporaryFile() as base_config:
# Write initial config contents.
operating_system.write_file(base_config.name, base_config_contents, codec)
manager = ConfigurationManager(
base_config.name,
current_user,
current_user,
codec,
requires_root=False,
override_strategy=override_strategy,
)
# Test default value.
self.assertIsNone(manager.get_value("Section_2"))
self.assertEqual("foo", manager.get_value("Section_2", "foo"))
# Test value before applying overrides.
self.assertEqual("pi", manager.get_value("Section_1")["name"])
self.assertEqual("3.1415", manager.get_value("Section_1")["value"])
# Test value after applying overrides.
manager.apply_user_override(config_overrides_v1a, change_id="id1")
self.assertEqual("sqrt(2)", manager.get_value("Section_1")["name"])
self.assertEqual("1.4142", manager.get_value("Section_1")["value"])
manager.apply_user_override(config_overrides_v2, change_id="id2")
self.assertEqual("e", manager.get_value("Section_1")["name"])
self.assertEqual("2.7183", manager.get_value("Section_1")["value"])
self.assertEqual("bar", manager.get_value("Section_2")["foo"])
# Editing change 'id1' become visible only after removing
# change 'id2', which overrides 'id1'.
manager.apply_user_override(config_overrides_v1b, change_id="id1")
self.assertEqual("e", manager.get_value("Section_1")["name"])
self.assertEqual("2.7183", manager.get_value("Section_1")["value"])
# Test value after removing overrides.
# The edited values from change 'id1' should be visible after
# removing 'id2'.
manager.remove_user_override(change_id="id2")
self.assertEqual("sqrt(4)", manager.get_value("Section_1")["name"])
self.assertEqual("2.0", manager.get_value("Section_1")["value"])
# Back to the base.
manager.remove_user_override(change_id="id1")
self.assertEqual("pi", manager.get_value("Section_1")["name"])
self.assertEqual("3.1415", manager.get_value("Section_1")["value"])
self.assertIsNone(manager.get_value("Section_2"))
# Test system overrides.
manager.apply_system_override(config_overrides_v1b, change_id="id1")
self.assertEqual("sqrt(4)", manager.get_value("Section_1")["name"])
self.assertEqual("2.0", manager.get_value("Section_1")["value"])
# The system values should take precedence over the user
# override.
manager.apply_user_override(config_overrides_v1a, change_id="id1")
self.assertEqual("sqrt(4)", manager.get_value("Section_1")["name"])
self.assertEqual("2.0", manager.get_value("Section_1")["value"])
# The user values should become visible only after removing the
# system change.
manager.remove_system_override(change_id="id1")
self.assertEqual("sqrt(2)", manager.get_value("Section_1")["name"])
self.assertEqual("1.4142", manager.get_value("Section_1")["value"])
# Back to the base.
manager.remove_user_override(change_id="id1")
self.assertEqual("pi", manager.get_value("Section_1")["name"])
self.assertEqual("3.1415", manager.get_value("Section_1")["value"])
self.assertIsNone(manager.get_value("Section_2"))