当前位置: 首页>>代码示例>>Python>>正文


Python ConfigurationManager.remove_system_override方法代码示例

本文整理汇总了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)
开发者ID:Tesora-Release,项目名称:tesora-trove,代码行数:70,代码来源:service.py

示例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'))
开发者ID:HoratiusTang,项目名称:trove,代码行数:95,代码来源:test_configuration.py

示例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"))
开发者ID:jjmob,项目名称:trove,代码行数:87,代码来源:test_configuration.py


注:本文中的trove.guestagent.common.configuration.ConfigurationManager.remove_system_override方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。