def setUp(self): super(SimpleInstanceTest, self).setUp() self.context = trove_testtools.TroveTestContext(self, is_admin=True) db_info = DBInstance(InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance(None, db_info, InstanceServiceStatus( ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock(), locality='affinity') self.instance.context = self.context db_info.addresses = { "private": [{ "addr": "123.123.123.123" }], "internal": [{ "addr": "10.123.123.123" }], "public": [{ "addr": "15.123.123.123" }] } self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex self.orig_black_list_regex = CONF.black_list_regex
def setUp(self): super(SimpleInstanceTest, self).setUp() self.context = trove_testtools.TroveTestContext(self, is_admin=True) db_info = DBInstance(InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance(None, db_info, InstanceServiceStatus( ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock(), locality='affinity') self.instance.context = self.context db_info.addresses = [ { 'type': 'private', 'address': '123.123.123.123' }, { 'type': 'private', 'address': '10.123.123.123' }, { 'type': 'public', 'address': '15.123.123.123' }, ] self.orig_ip_regex = CONF.ip_regex self.orig_black_list_regex = CONF.black_list_regex
class SimpleInstanceTest(TestCase): def setUp(self): super(SimpleInstanceTest, self).setUp() db_info = DBInstance(InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance(None, db_info, InstanceServiceStatus( ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock()) db_info.addresses = {"private": [{"addr": "123.123.123.123"}], "internal": [{"addr": "10.123.123.123"}], "public": [{"addr": "15.123.123.123"}]} self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex def tearDown(self): super(SimpleInstanceTest, self).tearDown() CONF.network_label_regex = self.orig_conf CONF.ip_start = None CONF.ip_regex = self.orig_ip_regex def test_get_root_on_create(self): root_on_create_val = Instance.get_root_on_create('redis') self.assertFalse(root_on_create_val) def test_filter_ips(self): CONF.network_label_regex = '.*' CONF.ip_regex = '^(15.|123.)' ip = self.instance.get_visible_ip_addresses() ip = filter_ips(ip, CONF.ip_regex) self.assertTrue(len(ip) == 2) self.assertTrue('123.123.123.123' in ip) self.assertTrue('15.123.123.123' in ip) def test_one_network_label_exact(self): CONF.network_label_regex = '^internal$' ip = self.instance.get_visible_ip_addresses() self.assertEqual(['10.123.123.123'], ip) def test_one_network_label(self): CONF.network_label_regex = 'public' ip = self.instance.get_visible_ip_addresses() self.assertEqual(['15.123.123.123'], ip) def test_two_network_labels(self): CONF.network_label_regex = '^(private|public)$' ip = self.instance.get_visible_ip_addresses() self.assertTrue(len(ip) == 2) self.assertTrue('123.123.123.123' in ip) self.assertTrue('15.123.123.123' in ip) def test_all_network_labels(self): CONF.network_label_regex = '.*' ip = self.instance.get_visible_ip_addresses() self.assertTrue(len(ip) == 3) self.assertTrue('10.123.123.123' in ip) self.assertTrue('123.123.123.123' in ip) self.assertTrue('15.123.123.123' in ip)
def setUp(self): super(SimpleInstanceTest, self).setUp() db_info = DBInstance(InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance(None, db_info, InstanceServiceStatus( ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock()) db_info.addresses = {"private": [{"addr": "123.123.123.123"}], "internal": [{"addr": "10.123.123.123"}], "public": [{"addr": "15.123.123.123"}]} self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex
def setUp(self): super(SimpleInstanceTest, self).setUp() db_info = DBInstance(InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance(None, db_info, "BUILD", ds_version=Mock(), ds=Mock()) db_info.addresses = {"private": [{"addr": "123.123.123.123"}], "internal": [{"addr": "10.123.123.123"}], "public": [{"addr": "15.123.123.123"}]} self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex
def setUp(self): super(SimpleInstanceTest, self).setUp() db_info = DBInstance( InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance( None, db_info, InstanceServiceStatus( ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock(), locality='affinity') db_info.addresses = {"private": [{"addr": "123.123.123.123"}], "internal": [{"addr": "10.123.123.123"}], "public": [{"addr": "15.123.123.123"}]} self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex self.orig_black_list_regex = CONF.black_list_regex
def __init__(self, host_info): self.name = host_info.name self.percent_used = host_info.percentUsed self.total_ram = host_info.totalRAM self.used_ram = host_info.usedRAM self.instances = host_info.instances for instance in self.instances: instance['server_id'] = instance['uuid'] del instance['uuid'] try: db_info = DBInstance.find_by( compute_instance_id=instance['server_id']) instance['id'] = db_info.id instance['tenant_id'] = db_info.tenant_id status = InstanceServiceStatus.find_by(instance_id=db_info.id) instance_info = SimpleInstance(None, db_info, status) instance['status'] = instance_info.status except exception.TroveError as re: LOG.error(re) LOG.error("Compute Instance ID found with no associated RD " "instance: %s" % instance['server_id']) instance['id'] = None
def test_task_status_action_deleting_reports_shutdown(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_db_info.task_status.action = "DELETING" instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.SHUTDOWN, instance.status)
def test_nova_server_reboot_reports_reboot(self): self.db_info.server_status = "REBOOT" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.REBOOT, instance.status)
def test_task_status_action_resizing_reports_resize(self): self.db_info.task_status.action = "RESIZING" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.RESIZE, instance.status)
def test_nova_server_build_reports_build(self): self.db_info.server_status = "BUILD" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.BUILD, instance.status)
def test_service_status_reset_status(self): self.status.set_status(ServiceStatuses.UNKNOWN) instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.ERROR, instance.status)
def test_task_status_error_reports_error(self): self.db_info.task_status.is_error = True instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.ERROR, instance.status)
def test_operating_status_task_not_none(self): self.db_info.task_status = InstanceTasks.RESIZING instance = SimpleInstance(mock.MagicMock(), self.db_info, self.ds_status) self.assertEqual("", instance.operating_status)
def test_service_status_new_reports_build(self): self.status.set_status(ServiceStatuses.NEW) instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.BUILD, instance.status)
class SimpleInstanceTest(trove_testtools.TestCase): def setUp(self): super(SimpleInstanceTest, self).setUp() db_info = DBInstance(InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance( None, db_info, InstanceServiceStatus(ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock() ) db_info.addresses = { "private": [{"addr": "123.123.123.123"}], "internal": [{"addr": "10.123.123.123"}], "public": [{"addr": "15.123.123.123"}], } self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex self.orig_black_list_regex = CONF.black_list_regex def tearDown(self): super(SimpleInstanceTest, self).tearDown() CONF.network_label_regex = self.orig_conf CONF.ip_start = None def test_get_root_on_create(self): root_on_create_val = Instance.get_root_on_create("redis") self.assertFalse(root_on_create_val) def test_filter_ips_white_list(self): CONF.network_label_regex = ".*" CONF.ip_regex = "^(15.|123.)" CONF.black_list_regex = "^10.123.123.*" ip = self.instance.get_visible_ip_addresses() ip = filter_ips(ip, CONF.ip_regex, CONF.black_list_regex) self.assertTrue(len(ip) == 2) self.assertTrue("123.123.123.123" in ip) self.assertTrue("15.123.123.123" in ip) def test_filter_ips_black_list(self): CONF.network_label_regex = ".*" CONF.ip_regex = ".*" CONF.black_list_regex = "^10.123.123.*" ip = self.instance.get_visible_ip_addresses() ip = filter_ips(ip, CONF.ip_regex, CONF.black_list_regex) self.assertTrue(len(ip) == 2) self.assertTrue("10.123.123.123" not in ip) def test_one_network_label(self): CONF.network_label_regex = "public" ip = self.instance.get_visible_ip_addresses() self.assertEqual(["15.123.123.123"], ip) def test_two_network_labels(self): CONF.network_label_regex = "^(private|public)$" ip = self.instance.get_visible_ip_addresses() self.assertTrue(len(ip) == 2) self.assertTrue("123.123.123.123" in ip) self.assertTrue("15.123.123.123" in ip) def test_all_network_labels(self): CONF.network_label_regex = ".*" ip = self.instance.get_visible_ip_addresses() self.assertTrue(len(ip) == 3) self.assertTrue("10.123.123.123" in ip) self.assertTrue("123.123.123.123" in ip) self.assertTrue("15.123.123.123" in ip)
def test_operating_status_healthy(self): self.db_info.task_status = InstanceTasks.NONE instance = SimpleInstance(mock.MagicMock(), self.db_info, self.ds_status) self.assertEqual(repr(ServiceStatuses.HEALTHY), instance.operating_status)
def test_task_status_action_building_reports_build(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_db_info.task_status.action = "BUILDING" instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.BUILD, instance.status)
def test_nova_server_error_reports_error(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_db_info.server_status = "ERROR" instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.ERROR, instance.status)
def test_nova_server_build_reports_build(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_db_info.server_status = "BUILD" instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.BUILD, instance.status)
def test_nova_server_verify_resize_reports_resize(self): self.db_info.server_status = "VERIFY_RESIZE" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.RESIZE, instance.status)
def test_task_status_action_rebooting_reports_reboot(self): self.db_info.task_status.action = "REBOOTING" instance = SimpleInstance('dummy context', self.db_info, self.ds_status) self.assertEqual(InstanceStatus.REBOOT, instance.status)
def test_service_status_paused_reports_reboot(self): self.status.set_status(ServiceStatuses.PAUSED) instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.REBOOT, instance.status)
def test_task_deleting_server_active(self): self.db_info.task_status.action = "DELETING" instance = SimpleInstance('dummy context', self.db_info, self.ds_status) self.assertEqual(InstanceStatus.SHUTDOWN, instance.status)
def test_service_status_running_reports_active(self): self.status.set_status(ServiceStatuses.RUNNING) instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.ACTIVE, instance.status)
def test_task_status_error_reports_error(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_db_info.task_status.is_error = True instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.ERROR, instance.status)
def test_service_status_force_deleteing(self): self.status.set_status(ServiceStatuses.UNKNOWN) self.db_info.task_status = InstanceTasks.DELETING instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.SHUTDOWN, instance.status)
def test_service_status_new_reports_build(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_status.set_status(ServiceStatuses.NEW) instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.BUILD, instance.status)
def test_task_status_action_building_reports_build(self): self.db_info.task_status.action = "BUILDING" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.BUILD, instance.status)
class SimpleInstanceTest(trove_testtools.TestCase): def setUp(self): super(SimpleInstanceTest, self).setUp() self.context = trove_testtools.TroveTestContext(self, is_admin=True) db_info = DBInstance( InstanceTasks.BUILDING, name="TestInstance") self.instance = SimpleInstance( None, db_info, InstanceServiceStatus( ServiceStatuses.BUILDING), ds_version=Mock(), ds=Mock(), locality='affinity') self.instance.context = self.context db_info.addresses = {"private": [{"addr": "123.123.123.123"}], "internal": [{"addr": "10.123.123.123"}], "public": [{"addr": "15.123.123.123"}]} self.orig_conf = CONF.network_label_regex self.orig_ip_regex = CONF.ip_regex self.orig_black_list_regex = CONF.black_list_regex def tearDown(self): super(SimpleInstanceTest, self).tearDown() CONF.network_label_regex = self.orig_conf CONF.ip_start = None def test_get_root_on_create(self): root_on_create_val = Instance.get_root_on_create( 'redis') self.assertFalse(root_on_create_val) def test_filter_ips_white_list(self): CONF.network_label_regex = '.*' CONF.ip_regex = '^(15.|123.)' CONF.black_list_regex = '^10.123.123.*' ip = self.instance.get_visible_ip_addresses() ip = filter_ips( ip, CONF.ip_regex, CONF.black_list_regex) self.assertEqual(2, len(ip)) self.assertTrue('123.123.123.123' in ip) self.assertTrue('15.123.123.123' in ip) def test_filter_ips_black_list(self): CONF.network_label_regex = '.*' CONF.ip_regex = '.*' CONF.black_list_regex = '^10.123.123.*' ip = self.instance.get_visible_ip_addresses() ip = filter_ips( ip, CONF.ip_regex, CONF.black_list_regex) self.assertEqual(2, len(ip)) self.assertTrue('10.123.123.123' not in ip) def test_one_network_label(self): CONF.network_label_regex = 'public' ip = self.instance.get_visible_ip_addresses() self.assertEqual(['15.123.123.123'], ip) def test_two_network_labels(self): CONF.network_label_regex = '^(private|public)$' ip = self.instance.get_visible_ip_addresses() self.assertEqual(2, len(ip)) self.assertTrue('123.123.123.123' in ip) self.assertTrue('15.123.123.123' in ip) def test_all_network_labels(self): CONF.network_label_regex = '.*' ip = self.instance.get_visible_ip_addresses() self.assertEqual(3, len(ip)) self.assertTrue('10.123.123.123' in ip) self.assertTrue('123.123.123.123' in ip) self.assertTrue('15.123.123.123' in ip) def test_locality(self): self.assertEqual('affinity', self.instance.locality) def test_fault(self): fault_message = 'Error' fault_details = 'details' fault_date = 'now' temp_fault = Mock() temp_fault.message = fault_message temp_fault.details = fault_details temp_fault.updated = fault_date fault_mock = Mock(return_value=temp_fault) with patch.object(DBInstanceFault, 'find_by', fault_mock): fault = self.instance.fault self.assertEqual(fault_message, fault.message) self.assertEqual(fault_details, fault.details) self.assertEqual(fault_date, fault.updated)
def test_task_status_action_deleting_reports_shutdown(self): self.db_info.task_status.action = "DELETING" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.SHUTDOWN, instance.status)
def test_nova_server_error_reports_error(self): self.db_info.server_status = "ERROR" instance = SimpleInstance('dummy context', self.db_info, self.status) self.assertEqual(InstanceStatus.ERROR, instance.status)
def test_task_status_action_resizing_reports_resize(self): fake_db_info = FakeDBInstance() fake_status = FakeInstanceServiceStatus() fake_db_info.task_status.action = "RESIZING" instance = SimpleInstance('dummy context', fake_db_info, fake_status) self.assertEqual(InstanceStatus.RESIZE, instance.status)