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())
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(), '*****@*****.**')
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')
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')
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')
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)
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')
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')
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)
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())
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)
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')
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')
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')
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', ''))
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', ''))