Пример #1
0
    def test_get_manage_vip(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node1')
        self.assertTrue(host_config.get_manage_vip())

        host_config = ConfigHelper('db12')
        self.assertFalse(host_config.get_manage_vip())
Пример #2
0
    def test_get_report_email(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node2')
        self.assertEqual(host_config.get_report_email(), '*****@*****.**')

        host_config = ConfigHelper('db12')
        self.assertEqual(host_config.get_report_email(), '*****@*****.**')
Пример #3
0
    def test_get_writer_vip_cidr(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('master')
        self.assertEqual(host_config.get_writer_vip_cidr(), '192.168.30.100/24')

        host_config = ConfigHelper('db13')
        self.assertEqual(host_config.get_writer_vip_cidr(), '192.168.10.155/24')
Пример #4
0
    def test_get_vip_type(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node1')
        self.assertEqual(host_config.get_vip_type(), 'metal')

        host_config = ConfigHelper('db11')
        self.assertEqual(host_config.get_vip_type(), 'aws')
Пример #5
0
    def test_get_cluster_interface(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node2')
        self.assertEqual(host_config.get_cluster_interface(), 'eth1')

        host_config = ConfigHelper('db10')
        self.assertEqual(host_config.get_cluster_interface(), 'eth10')
Пример #6
0
    def test_get_requires_sudo(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('master')
        self.assertEqual(host_config.get_requires_sudo(), True)

        host_config = ConfigHelper('db12')
        self.assertEqual(host_config.get_requires_sudo(), False)
Пример #7
0
    def test_get_smtp_host(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node2')
        self.assertEqual(host_config.get_smtp_host(), 'localhost')

        host_config = ConfigHelper('db12')
        self.assertEqual(host_config.get_smtp_host(), 'smtp.sj.lithium.com')
Пример #8
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))
        self.failover_script_path = os.path.realpath(
            "{0}/../scripts/master_ip_hard_failover_helper".format(self.root_directory))

        self.mha_helper_config_dir = os.path.join(self.root_directory, 'conf', 'good')
        if not self.mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = self.mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' % self.mha_helper_config_dir)

        self.orig_master_host = os.getenv('ORIG_MASTER_HOST')
        self.orig_master_ip = os.getenv('ORIG_MASTER_IP')
        self.orig_master_port = os.getenv('ORIG_MASTER_PORT')
        self.orig_master_user = os.getenv('ORIG_MASTER_USER')
        self.orig_master_password = os.getenv('ORIG_MASTER_PASSWORD')
        self.orig_master_ssh_host = os.getenv('ORIG_MASTER_SSH_HOST')
        self.orig_master_ssh_ip = os.getenv('ORIG_MASTER_SSH_IP')
        self.orig_master_ssh_port = os.getenv('ORIG_MASTER_SSH_PORT')
        self.orig_master_ssh_user = os.getenv('ORIG_MASTER_SSH_USER')
        self.new_master_host = os.getenv('NEW_MASTER_HOST')
        self.new_master_ip = os.getenv('NEW_MASTER_IP')
        self.new_master_port = os.getenv('NEW_MASTER_PORT')
        self.new_master_user = os.getenv('NEW_MASTER_USER')
        self.new_master_password = os.getenv('NEW_MASTER_PASSWORD')
        self.new_master_ssh_user = os.getenv('NEW_MASTER_SSH_USER')
        self.new_master_ssh_host = os.getenv('NEW_MASTER_SSH_HOST')
        self.new_master_ssh_ip = os.getenv('NEW_MASTER_SSH_IP')
        self.new_master_ssh_port = os.getenv('NEW_MASTER_SSH_PORT')
Пример #9
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))

        mha_helper_config_dir = os.path.join(self.root_directory, 'conf',
                                             'good')
        if not mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' %
                      mha_helper_config_dir)

        self.ssh_host = os.getenv('SSH_TEST_HOST')
        self.ssh_host_ip = os.getenv('SSH_TEST_IP')
        self.ssh_user = os.getenv('SSH_TEST_USER')
        self.ssh_port = os.getenv('SSH_TEST_PORT')

        if not self.ssh_host or not self.ssh_host_ip or not self.ssh_user or not self.ssh_port:
            self.fail(msg='SSH connection information not set')

        self.vip_helper = VIPMetalHelper(host=self.ssh_host,
                                         host_ip=self.ssh_host_ip,
                                         ssh_user=self.ssh_user,
                                         ssh_port=self.ssh_port,
                                         ssh_options=None)
Пример #10
0
    def test_load_config_with_bad_config(self):
        # Test with bad config
        mha_helper_config_dir = os.path.join(self.root_directory, 'conf', 'bad')
        if not mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = mha_helper_config_dir
        self.assertFalse(ConfigHelper.load_config())
Пример #11
0
    def test_load_config_with_bad_config(self):
        # Test with bad config
        mha_helper_config_dir = os.path.join(self.root_directory, 'conf',
                                             'bad')
        if not mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = mha_helper_config_dir
        self.assertFalse(ConfigHelper.load_config())
Пример #12
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))

        # Test with the correct config
        mha_helper_config_dir = os.path.join(self.root_directory, 'conf', 'good')
        if not mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' % mha_helper_config_dir)
Пример #13
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))

        # Test with the correct config
        mha_helper_config_dir = os.path.join(self.root_directory, 'conf',
                                             'good')
        if not mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' %
                      mha_helper_config_dir)
Пример #14
0
    def test_get_cluster_interface(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node2')
        self.assertEqual(host_config.get_cluster_interface(), 'eth1')

        host_config = ConfigHelper('db10')
        self.assertEqual(host_config.get_cluster_interface(), 'eth10')
Пример #15
0
    def test_get_requires_sudo(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('master')
        self.assertEqual(host_config.get_requires_sudo(), True)

        host_config = ConfigHelper('db12')
        self.assertEqual(host_config.get_requires_sudo(), False)
Пример #16
0
    def test_get_smtp_host(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node2')
        self.assertEqual(host_config.get_smtp_host(), 'localhost')

        host_config = ConfigHelper('db12')
        self.assertEqual(host_config.get_smtp_host(), 'smtp.sj.lithium.com')
Пример #17
0
    def test_get_writer_vip(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('master')
        self.assertEqual(host_config.get_writer_vip(), '192.168.30.100')

        host_config = ConfigHelper('db13')
        self.assertEqual(host_config.get_writer_vip(), '192.168.10.155')
Пример #18
0
    def test_get_manage_vip(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node1')
        self.assertTrue(host_config.get_manage_vip())

        host_config = ConfigHelper('db12')
        self.assertFalse(host_config.get_manage_vip())
Пример #19
0
    def test_get_vip_type(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node1')
        self.assertEqual(host_config.get_vip_type(), 'metal')

        host_config = ConfigHelper('db11')
        self.assertEqual(host_config.get_vip_type(), 'aws')
Пример #20
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))
        self.failover_report_script_path = os.path.realpath(
            "{0}/../scripts/master_failover_report".format(self.root_directory))

        self.mha_helper_config_dir = os.path.join(self.root_directory, 'conf', 'good')
        if not self.mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = self.mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' % self.mha_helper_config_dir)

        self.orig_master_host = os.getenv('ORIG_MASTER_HOST')
        self.new_master_host = os.getenv('NEW_MASTER_HOST')
Пример #21
0
    def test_get_report_email(self):
        self.test_load_config_with_good_config()

        host_config = ConfigHelper('node2')
        self.assertEqual(host_config.get_report_email(),
                         '*****@*****.**')

        host_config = ConfigHelper('db12')
        self.assertEqual(host_config.get_report_email(),
                         '*****@*****.**')
Пример #22
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))
        self.failover_report_script_path = os.path.realpath(
            "{0}/../scripts/master_failover_report".format(
                self.root_directory))

        self.mha_helper_config_dir = os.path.join(self.root_directory, 'conf',
                                                  'good')
        if not self.mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = self.mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' %
                      self.mha_helper_config_dir)

        self.orig_master_host = os.getenv('ORIG_MASTER_HOST')
        self.new_master_host = os.getenv('NEW_MASTER_HOST')
Пример #23
0
    def setUp(self):
        self.root_directory = os.path.dirname(os.path.realpath(__file__))

        mha_helper_config_dir = os.path.join(self.root_directory, 'conf', 'good')
        if not mha_helper_config_dir:
            self.fail(msg='mha_helper configuration dir not set')

        ConfigHelper.MHA_HELPER_CONFIG_DIR = mha_helper_config_dir
        if not ConfigHelper.load_config():
            self.fail(msg='Could not load mha_helper configuration from %s' % mha_helper_config_dir)

        self.ssh_host = os.getenv('SSH_TEST_HOST')
        self.ssh_host_ip = os.getenv('SSH_TEST_IP')
        self.ssh_user = os.getenv('SSH_TEST_USER')
        self.ssh_port = os.getenv('SSH_TEST_PORT')

        if not self.ssh_host or not self.ssh_host_ip or not self.ssh_user or not self.ssh_port:
            self.fail(msg='SSH connection information not set')

        self.vip_helper = VIPMetalHelper(host=self.ssh_host, host_ip=self.ssh_host_ip, ssh_user=self.ssh_user,
                                         ssh_port=self.ssh_port, ssh_options=None)
Пример #24
0
    def test_validate_config_value(self):
        # Validate valid values
        self.assertTrue(ConfigHelper.validate_config_value('writer_vip_cidr', '192.168.10.1/22'))
        self.assertTrue(ConfigHelper.validate_config_value('vip_type', 'aws'))
        self.assertTrue(ConfigHelper.validate_config_value('report_email', '*****@*****.**'))
        self.assertTrue(ConfigHelper.validate_config_value('smtp_host', 'smtp.sj.lithium.com'))
        self.assertTrue(ConfigHelper.validate_config_value('requires_sudo', 'no'))
        self.assertTrue(ConfigHelper.validate_config_value('cluster_interface', 'eth0'))

        # Validate invalid values
        self.assertFalse(ConfigHelper.validate_config_value('writer_vip_cidr', '192.168.1/22'))
        self.assertFalse(ConfigHelper.validate_config_value('vip_type', 'foo'))
        self.assertFalse(ConfigHelper.validate_config_value('report_email', 'foo@bar'))
        self.assertFalse(ConfigHelper.validate_config_value('smtp_host', 'smtp'))
        self.assertFalse(ConfigHelper.validate_config_value('requires_sudo', 'bar'))
        self.assertFalse(ConfigHelper.validate_config_value('cluster_interface', ''))
Пример #25
0
    def test_validate_config_value(self):
        # Validate valid values
        self.assertTrue(
            ConfigHelper.validate_config_value('writer_vip_cidr',
                                               '192.168.10.1/22'))
        self.assertTrue(ConfigHelper.validate_config_value('vip_type', 'aws'))
        self.assertTrue(
            ConfigHelper.validate_config_value('report_email',
                                               '*****@*****.**'))
        self.assertTrue(
            ConfigHelper.validate_config_value('smtp_host',
                                               'smtp.sj.lithium.com'))
        self.assertTrue(
            ConfigHelper.validate_config_value('requires_sudo', 'no'))
        self.assertTrue(
            ConfigHelper.validate_config_value('cluster_interface', 'eth0'))

        # Validate invalid values
        self.assertFalse(
            ConfigHelper.validate_config_value('writer_vip_cidr',
                                               '192.168.1/22'))
        self.assertFalse(ConfigHelper.validate_config_value('vip_type', 'foo'))
        self.assertFalse(
            ConfigHelper.validate_config_value('report_email', 'foo@bar'))
        self.assertFalse(
            ConfigHelper.validate_config_value('smtp_host', 'smtp'))
        self.assertFalse(
            ConfigHelper.validate_config_value('requires_sudo', 'bar'))
        self.assertFalse(
            ConfigHelper.validate_config_value('cluster_interface', ''))