コード例 #1
0
ファイル: test_instance_fault.py プロジェクト: lyarwood/nova
 def test_get_latest_for_instance(self):
     self.mox.StubOutWithMock(db, "instance_fault_get_by_instance_uuids")
     db.instance_fault_get_by_instance_uuids(self.context, ["fake-uuid"]).AndReturn(fake_faults)
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(self.context, "fake-uuid")
     for key in fake_faults["fake-uuid"][0]:
         self.assertEqual(fake_faults["fake-uuid"][0][key], fault[key])
コード例 #2
0
 def test_get_latest_for_instance_with_none(self):
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(self.context,
                                             ['fake-uuid']).AndReturn({})
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(
         self.context, 'fake-uuid')
     self.assertIsNone(fault)
コード例 #3
0
 def test_get_by_instance_with_none(self):
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(self.context,
                                             ['fake-uuid']).AndReturn({})
     self.mox.ReplayAll()
     faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
         self.context, ['fake-uuid'])
     self.assertEqual(0, len(faults))
コード例 #4
0
 def test_get_latest_for_instance_with_none(self):
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(self.context, ['fake-uuid']
                                             ).AndReturn({})
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(
         self.context, 'fake-uuid')
     self.assertIsNone(fault)
コード例 #5
0
 def test_get_by_instance_with_none(self):
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(self.context, ['fake-uuid']
                                             ).AndReturn({})
     self.mox.ReplayAll()
     faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
         self.context, ['fake-uuid'])
     self.assertEqual(0, len(faults))
コード例 #6
0
ファイル: test_instance_fault.py プロジェクト: lyarwood/nova
 def test_get_by_instance(self):
     self.mox.StubOutWithMock(db, "instance_fault_get_by_instance_uuids")
     db.instance_fault_get_by_instance_uuids(self.context, ["fake-uuid"]).AndReturn(fake_faults)
     self.mox.ReplayAll()
     faults = instance_fault.InstanceFaultList.get_by_instance_uuids(self.context, ["fake-uuid"])
     for index, db_fault in enumerate(fake_faults["fake-uuid"]):
         for key in db_fault:
             self.assertEqual(fake_faults["fake-uuid"][index][key], faults[index][key])
コード例 #7
0
 def test_get_latest_for_instance(self):
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(
         self.context, ['fake-uuid']).AndReturn(fake_faults)
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(
         self.context, 'fake-uuid')
     for key in fake_faults['fake-uuid'][0]:
         self.assertEqual(fake_faults['fake-uuid'][0][key], fault[key])
コード例 #8
0
 def test_get_latest_for_instance_with_none(self):
     ctxt = context.get_admin_context()
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
         {})
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(
         ctxt, 'fake-uuid')
     self.assertEqual(None, fault)
コード例 #9
0
 def test_get_latest_for_instance_with_none(self):
     ctxt = context.get_admin_context()
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(ctxt,
                                             ['fake-uuid']).AndReturn({})
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(
         ctxt, 'fake-uuid')
     self.assertEqual(None, fault)
コード例 #10
0
 def test_get_latest_for_instance(self):
     ctxt = context.get_admin_context()
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
         fake_faults)
     self.mox.ReplayAll()
     fault = instance_fault.InstanceFault.get_latest_for_instance(
         ctxt, 'fake-uuid')
     for key in fake_faults['fake-uuid'][0]:
         self.assertEqual(fake_faults['fake-uuid'][0][key], fault[key])
コード例 #11
0
 def test_get_by_instance(self):
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(
         self.context, ['fake-uuid']).AndReturn(fake_faults)
     self.mox.ReplayAll()
     faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
         self.context, ['fake-uuid'])
     for index, db_fault in enumerate(fake_faults['fake-uuid']):
         for key in db_fault:
             self.assertEqual(fake_faults['fake-uuid'][index][key],
                              faults[index][key])
コード例 #12
0
 def test_get_by_instance(self):
     ctxt = context.get_admin_context()
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
         fake_faults)
     self.mox.ReplayAll()
     faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
         ctxt, ['fake-uuid'])
     for index, db_fault in enumerate(fake_faults['fake-uuid']):
         for key in db_fault:
             self.assertEqual(fake_faults['fake-uuid'][index][key],
                              faults[index][key])
コード例 #13
0
ファイル: test_instance.py プロジェクト: ReVolly/nova
 def test_with_fault(self):
     fake_inst = dict(self.fake_instance)
     fake_uuid = fake_inst["uuid"]
     fake_faults = [dict(x, instance_uuid=fake_uuid) for x in test_instance_fault.fake_faults["fake-uuid"]]
     self.mox.StubOutWithMock(db, "instance_get_by_uuid")
     self.mox.StubOutWithMock(db, "instance_fault_get_by_instance_uuids")
     db.instance_get_by_uuid(self.context, fake_uuid, columns_to_join=[]).AndReturn(self.fake_instance)
     db.instance_fault_get_by_instance_uuids(self.context, [fake_uuid]).AndReturn({fake_uuid: fake_faults})
     self.mox.ReplayAll()
     inst = instance.Instance.get_by_uuid(self.context, fake_uuid, expected_attrs=["fault"])
     self.assertEqual(fake_faults[0], dict(inst.fault.items()))
     self.assertRemotes()
コード例 #14
0
ファイル: test_instance.py プロジェクト: ZelinIO/nova
 def test_with_fault(self):
     fake_insts = [
         fake_instance.fake_db_instance(uuid="fake-uuid", host="host"),
         fake_instance.fake_db_instance(uuid="fake-inst2", host="host"),
     ]
     fake_faults = test_instance_fault.fake_faults
     self.mox.StubOutWithMock(db, "instance_get_all_by_host")
     self.mox.StubOutWithMock(db, "instance_fault_get_by_instance_uuids")
     db.instance_get_all_by_host(self.context, "host", columns_to_join=[], use_slave=False).AndReturn(fake_insts)
     db.instance_fault_get_by_instance_uuids(self.context, [x["uuid"] for x in fake_insts]).AndReturn(fake_faults)
     self.mox.ReplayAll()
     instances = instance.InstanceList.get_by_host(self.context, "host", expected_attrs=["fault"], use_slave=False)
     self.assertEqual(2, len(instances))
     self.assertEqual(fake_faults["fake-uuid"][0], dict(instances[0].fault.iteritems()))
     self.assertEqual(None, instances[1].fault)
コード例 #15
0
ファイル: test_instance.py プロジェクト: ReVolly/nova
    def test_get_with_expected(self):
        self.mox.StubOutWithMock(db, "instance_get_by_uuid")
        self.mox.StubOutWithMock(db, "instance_fault_get_by_instance_uuids")

        exp_cols = instance.INSTANCE_OPTIONAL_ATTRS[:]
        exp_cols.remove("fault")

        db.instance_get_by_uuid(self.context, "uuid", columns_to_join=exp_cols).AndReturn(self.fake_instance)
        fake_faults = test_instance_fault.fake_faults
        db.instance_fault_get_by_instance_uuids(self.context, [self.fake_instance["uuid"]]).AndReturn(fake_faults)

        self.mox.ReplayAll()
        inst = instance.Instance.get_by_uuid(self.context, "uuid", expected_attrs=instance.INSTANCE_OPTIONAL_ATTRS)
        for attr in instance.INSTANCE_OPTIONAL_ATTRS:
            self.assertTrue(inst.obj_attr_is_set(attr))
        self.assertRemotes()
コード例 #16
0
ファイル: instance_fault.py プロジェクト: Juniper/nova
 def get_latest_by_instance_uuids(cls, context, instance_uuids):
     db_faultdict = db.instance_fault_get_by_instance_uuids(context,
                                                            instance_uuids,
                                                            latest=True)
     db_faultlist = itertools.chain(*db_faultdict.values())
     return base.obj_make_list(context, cls(context), objects.InstanceFault,
                               db_faultlist)
コード例 #17
0
ファイル: test_db_api.py プロジェクト: hiteshwadekar/nova
    def test_instance_fault_get_by_instance(self):
        """ ensure we can retrieve an instance fault by  instance UUID """
        ctxt = context.get_admin_context()
        instance1 = db.instance_create(ctxt, {})
        instance2 = db.instance_create(ctxt, {})
        uuids = [instance1["uuid"], instance2["uuid"]]

        # Create faults
        fault_values = {"message": "message", "details": "detail", "instance_uuid": uuids[0], "code": 404}
        fault1 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {"message": "message", "details": "detail", "instance_uuid": uuids[0], "code": 500}
        fault2 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {"message": "message", "details": "detail", "instance_uuid": uuids[1], "code": 404}
        fault3 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {"message": "message", "details": "detail", "instance_uuid": uuids[1], "code": 500}
        fault4 = db.instance_fault_create(ctxt, fault_values)

        instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)

        expected = {uuids[0]: [fault2, fault1], uuids[1]: [fault4, fault3]}

        self.assertEqual(instance_faults, expected)
コード例 #18
0
 def get_latest_by_instance_uuids(cls, context, instance_uuids):
     db_faultdict = db.instance_fault_get_by_instance_uuids(context,
                                                            instance_uuids,
                                                            latest=True)
     db_faultlist = itertools.chain(*db_faultdict.values())
     return base.obj_make_list(context, cls(context), objects.InstanceFault,
                               db_faultlist)
コード例 #19
0
ファイル: test_instance.py プロジェクト: mrda/nova
 def test_with_fault(self):
     fake_inst = dict(self.fake_instance)
     fake_uuid = fake_inst['uuid']
     fake_faults = [dict(x, instance_uuid=fake_uuid)
                    for x in test_instance_fault.fake_faults['fake-uuid']]
     self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_get_by_uuid(self.context, fake_uuid,
                             columns_to_join=[],
                             ).AndReturn(self.fake_instance)
     db.instance_fault_get_by_instance_uuids(
         self.context, [fake_uuid]).AndReturn({fake_uuid: fake_faults})
     self.mox.ReplayAll()
     inst = instance.Instance.get_by_uuid(self.context, fake_uuid,
                                          expected_attrs=['fault'])
     self.assertEqual(fake_faults[0], dict(inst.fault.items()))
     self.assertRemotes()
コード例 #20
0
ファイル: test_instance.py プロジェクト: ammonite/nova
 def test_with_fault(self):
     ctxt = context.get_admin_context()
     fake_inst = dict(self.fake_instance)
     fake_uuid = fake_inst['uuid']
     fake_faults = [dict(x, instance_uuid=fake_uuid)
                    for x in test_instance_fault.fake_faults['fake-uuid']]
     self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_get_by_uuid(ctxt, fake_uuid, columns_to_join=[]
                             ).AndReturn(self.fake_instance)
     db.instance_fault_get_by_instance_uuids(ctxt, [fake_uuid]).AndReturn(
         {fake_uuid: fake_faults})
     self.mox.ReplayAll()
     inst = instance.Instance.get_by_uuid(ctxt, fake_uuid,
                                          expected_attrs=['fault'])
     self.assertEqual(fake_faults[0], dict(inst.fault.items()))
     self.assertRemotes()
コード例 #21
0
 def test_instance_faults_get_by_instance_uuids_no_faults(self):
     """None should be returned when no faults exist"""
     ctxt = context.get_admin_context()
     instance1 = db.instance_create(ctxt, {})
     instance2 = db.instance_create(ctxt, {})
     uuids = [instance1['uuid'], instance2['uuid']]
     instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)
     expected = {uuids[0]: [], uuids[1]: []}
     self.assertEqual(expected, instance_faults)
コード例 #22
0
ファイル: test_db_api.py プロジェクト: matiu2/nova
 def test_instance_faults_get_by_instance_uuids_no_faults(self):
     """None should be returned when no faults exist"""
     ctxt = context.get_admin_context()
     instance1 = db.instance_create(ctxt, {})
     instance2 = db.instance_create(ctxt, {})
     uuids = [instance1['uuid'], instance2['uuid']]
     instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)
     expected = {uuids[0]: [], uuids[1]: []}
     self.assertEqual(expected, instance_faults)
コード例 #23
0
ファイル: test_instance.py プロジェクト: slagle/nova
 def test_with_fault(self):
     fake_insts = [
         fake_instance.fake_db_instance(uuid='fake-uuid', host='host'),
         fake_instance.fake_db_instance(uuid='fake-inst2', host='host'),
         ]
     fake_faults = test_instance_fault.fake_faults
     self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_get_all_by_host(self.context, 'host', columns_to_join=[]
                                 ).AndReturn(fake_insts)
     db.instance_fault_get_by_instance_uuids(
         self.context, [x['uuid'] for x in fake_insts]
         ).AndReturn(fake_faults)
     self.mox.ReplayAll()
     instances = instance.InstanceList.get_by_host(self.context, 'host',
                                                   expected_attrs=['fault'])
     self.assertEqual(2, len(instances))
     self.assertEqual(fake_faults['fake-uuid'][0],
                      dict(instances[0].fault.iteritems()))
     self.assertEqual(None, instances[1].fault)
コード例 #24
0
ファイル: test_instance.py プロジェクト: mrda/nova
 def test_with_fault(self):
     fake_insts = [
         fake_instance.fake_db_instance(uuid='fake-uuid', host='host'),
         fake_instance.fake_db_instance(uuid='fake-inst2', host='host'),
         ]
     fake_faults = test_instance_fault.fake_faults
     self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
     self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
     db.instance_get_all_by_host(self.context, 'host', columns_to_join=[]
                                 ).AndReturn(fake_insts)
     db.instance_fault_get_by_instance_uuids(
         self.context, [x['uuid'] for x in fake_insts]
         ).AndReturn(fake_faults)
     self.mox.ReplayAll()
     instances = instance.InstanceList.get_by_host(self.context, 'host',
                                                   expected_attrs=['fault'])
     self.assertEqual(2, len(instances))
     self.assertEqual(fake_faults['fake-uuid'][0],
                      dict(instances[0].fault.iteritems()))
     self.assertEqual(None, instances[1].fault)
コード例 #25
0
    def test_fill_faults(self):
        ctxt = context.get_admin_context()
        self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')

        inst1 = instance.Instance()
        inst1.uuid = 'uuid1'
        inst2 = instance.Instance()
        inst2.uuid = 'uuid2'
        insts = [inst1, inst2]
        for inst in insts:
            inst.obj_reset_changes()
        db_faults = {
            'uuid1': [{
                'id': 123,
                'instance_uuid': 'uuid1',
                'code': 456,
                'message': 'Fake message',
                'details': 'No details',
                'host': 'foo',
                'deleted': False,
                'deleted_at': None,
                'updated_at': None,
                'created_at': None,
            }]
        }

        db.instance_fault_get_by_instance_uuids(
            ctxt,
            [x.uuid for x in insts],
        ).AndReturn(db_faults)
        self.mox.ReplayAll()
        inst_list = instance.InstanceList()
        inst_list._context = ctxt
        inst_list.objects = insts
        faulty = inst_list.fill_faults()
        self.assertEqual(faulty, ['uuid1'])
        self.assertEqual(inst_list[0].fault.message,
                         db_faults['uuid1'][0]['message'])
        self.assertEqual(inst_list[1].fault, None)
        for inst in inst_list:
            self.assertEqual(inst.obj_what_changed(), set())
コード例 #26
0
ファイル: test_db_api.py プロジェクト: hiteshwadekar/nova
    def test_instance_fault_create(self):
        """Ensure we can create an instance fault"""
        ctxt = context.get_admin_context()
        uuid = str(utils.gen_uuid())

        # Create a fault
        fault_values = {"message": "message", "details": "detail", "instance_uuid": uuid, "code": 404}
        db.instance_fault_create(ctxt, fault_values)

        # Retrieve the fault to ensure it was successfully added
        faults = db.instance_fault_get_by_instance_uuids(ctxt, [uuid])
        self.assertEqual(404, faults[uuid][0]["code"])
コード例 #27
0
    def test_get_with_expected(self):
        self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
        self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')

        exp_cols = instance.INSTANCE_OPTIONAL_ATTRS[:]
        exp_cols.remove('fault')

        db.instance_get_by_uuid(self.context, 'uuid',
                                columns_to_join=exp_cols).AndReturn(
                                    self.fake_instance)
        fake_faults = test_instance_fault.fake_faults
        db.instance_fault_get_by_instance_uuids(
            self.context, [self.fake_instance['uuid']]).AndReturn(fake_faults)

        self.mox.ReplayAll()
        inst = instance.Instance.get_by_uuid(
            self.context,
            'uuid',
            expected_attrs=instance.INSTANCE_OPTIONAL_ATTRS)
        for attr in instance.INSTANCE_OPTIONAL_ATTRS:
            self.assertTrue(inst.obj_attr_is_set(attr))
        self.assertRemotes()
コード例 #28
0
    def test_fill_faults(self):
        ctxt = context.get_admin_context()
        self.mox.StubOutWithMock(db, "instance_fault_get_by_instance_uuids")

        inst1 = instance.Instance()
        inst1.uuid = "uuid1"
        inst2 = instance.Instance()
        inst2.uuid = "uuid2"
        insts = [inst1, inst2]
        for inst in insts:
            inst.obj_reset_changes()
        db_faults = {
            "uuid1": [
                {
                    "id": 123,
                    "instance_uuid": "uuid1",
                    "code": 456,
                    "message": "Fake message",
                    "details": "No details",
                    "host": "foo",
                    "deleted": False,
                    "deleted_at": None,
                    "updated_at": None,
                    "created_at": None,
                }
            ]
        }

        db.instance_fault_get_by_instance_uuids(ctxt, [x.uuid for x in insts]).AndReturn(db_faults)
        self.mox.ReplayAll()
        inst_list = instance.InstanceList()
        inst_list._context = ctxt
        inst_list.objects = insts
        faulty = inst_list.fill_faults()
        self.assertEqual(faulty, ["uuid1"])
        self.assertEqual(inst_list[0].fault.message, db_faults["uuid1"][0]["message"])
        self.assertEqual(inst_list[1].fault, None)
        for inst in inst_list:
            self.assertEqual(inst.obj_what_changed(), set())
コード例 #29
0
ファイル: test_instance.py プロジェクト: ammonite/nova
    def test_fill_faults(self):
        ctxt = context.get_admin_context()
        self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')

        inst1 = instance.Instance()
        inst1.uuid = 'uuid1'
        inst2 = instance.Instance()
        inst2.uuid = 'uuid2'
        insts = [inst1, inst2]
        for inst in insts:
            inst.obj_reset_changes()
        db_faults = {
            'uuid1': [{'id': 123,
                       'instance_uuid': 'uuid1',
                       'code': 456,
                       'message': 'Fake message',
                       'details': 'No details',
                       'host': 'foo',
                       'deleted': False,
                       'deleted_at': None,
                       'updated_at': None,
                       'created_at': None,
                       }
                      ]}

        db.instance_fault_get_by_instance_uuids(ctxt,
                                                [x.uuid for x in insts],
                                                ).AndReturn(db_faults)
        self.mox.ReplayAll()
        inst_list = instance.InstanceList()
        inst_list._context = ctxt
        inst_list.objects = insts
        faulty = inst_list.fill_faults()
        self.assertEqual(faulty, ['uuid1'])
        self.assertEqual(inst_list[0].fault.message,
                         db_faults['uuid1'][0]['message'])
        self.assertEqual(inst_list[1].fault, None)
        for inst in inst_list:
            self.assertEqual(inst.obj_what_changed(), set())
コード例 #30
0
ファイル: test_instance.py プロジェクト: chengxiayan/nova
    def test_get_with_expected(self):
        self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
        self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')

        exp_cols = instance.INSTANCE_OPTIONAL_ATTRS[:]
        exp_cols.remove('fault')

        db.instance_get_by_uuid(
            self.context, 'uuid',
            columns_to_join=exp_cols,
            use_slave=False
            ).AndReturn(self.fake_instance)
        fake_faults = test_instance_fault.fake_faults
        db.instance_fault_get_by_instance_uuids(
                self.context, [self.fake_instance['uuid']]
                ).AndReturn(fake_faults)

        self.mox.ReplayAll()
        inst = instance.Instance.get_by_uuid(
            self.context, 'uuid',
            expected_attrs=instance.INSTANCE_OPTIONAL_ATTRS)
        for attr in instance.INSTANCE_OPTIONAL_ATTRS:
            self.assertTrue(inst.obj_attr_is_set(attr))
        self.assertRemotes()
コード例 #31
0
ファイル: test_db_api.py プロジェクト: matiu2/nova
    def test_instance_fault_get_by_instance(self):
        """ ensure we can retrieve an instance fault by  instance UUID """
        ctxt = context.get_admin_context()
        instance1 = db.instance_create(ctxt, {})
        instance2 = db.instance_create(ctxt, {})
        uuids = [instance1['uuid'], instance2['uuid']]

        # Create faults
        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[0],
            'code': 404,
        }
        fault1 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[0],
            'code': 500,
        }
        fault2 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[1],
            'code': 404,
        }
        fault3 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[1],
            'code': 500,
        }
        fault4 = db.instance_fault_create(ctxt, fault_values)

        instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)

        expected = {
                uuids[0]: [fault2, fault1],
                uuids[1]: [fault4, fault3],
        }

        self.assertEqual(instance_faults, expected)
コード例 #32
0
    def test_instance_fault_get_by_instance(self):
        """ ensure we can retrieve an instance fault by  instance UUID """
        ctxt = context.get_admin_context()
        instance1 = db.instance_create(ctxt, {})
        instance2 = db.instance_create(ctxt, {})
        uuids = [instance1['uuid'], instance2['uuid']]

        # Create faults
        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[0],
            'code': 404,
        }
        fault1 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[0],
            'code': 500,
        }
        fault2 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[1],
            'code': 404,
        }
        fault3 = db.instance_fault_create(ctxt, fault_values)

        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuids[1],
            'code': 500,
        }
        fault4 = db.instance_fault_create(ctxt, fault_values)

        instance_faults = db.instance_fault_get_by_instance_uuids(ctxt, uuids)

        expected = {
            uuids[0]: [fault2, fault1],
            uuids[1]: [fault4, fault3],
        }

        self.assertEqual(instance_faults, expected)
コード例 #33
0
ファイル: test_db_api.py プロジェクト: matiu2/nova
    def test_instance_fault_create(self):
        """Ensure we can create an instance fault"""
        ctxt = context.get_admin_context()
        uuid = str(utils.gen_uuid())

        # Create a fault
        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuid,
            'code': 404,
        }
        db.instance_fault_create(ctxt, fault_values)

        # Retrieve the fault to ensure it was successfully added
        faults = db.instance_fault_get_by_instance_uuids(ctxt, [uuid])
        self.assertEqual(404, faults[uuid][0]['code'])
コード例 #34
0
    def test_instance_fault_create(self):
        """Ensure we can create an instance fault"""
        ctxt = context.get_admin_context()
        uuid = str(utils.gen_uuid())

        # Create a fault
        fault_values = {
            'message': 'message',
            'details': 'detail',
            'instance_uuid': uuid,
            'code': 404,
        }
        db.instance_fault_create(ctxt, fault_values)

        # Retrieve the fault to ensure it was successfully added
        faults = db.instance_fault_get_by_instance_uuids(ctxt, [uuid])
        self.assertEqual(404, faults[uuid][0]['code'])
コード例 #35
0
ファイル: instance_fault.py プロジェクト: Juniper/nova
 def get_latest_for_instance(cls, context, instance_uuid):
     db_faults = db.instance_fault_get_by_instance_uuids(context,
                                                         [instance_uuid])
     if instance_uuid in db_faults and db_faults[instance_uuid]:
         return cls._from_db_object(context, cls(),
                                    db_faults[instance_uuid][0])
コード例 #36
0
ファイル: instance_fault.py プロジェクト: bopopescu/nova-24
 def get_latest_for_instance(cls, context, instance_uuid):
     db_faults = db.instance_fault_get_by_instance_uuids(
         context, [instance_uuid])
     if instance_uuid in db_faults and db_faults[instance_uuid]:
         return cls._from_db_object(context, cls(),
                                    db_faults[instance_uuid][0])
コード例 #37
0
 def get_by_instance_uuids(cls, context, instance_uuids):
     db_faultdict = db.instance_fault_get_by_instance_uuids(context,
                                                            instance_uuids)
     db_faultlist = itertools.chain(*db_faultdict.values())
     return base.obj_make_list(context, InstanceFaultList(), InstanceFault,
                               db_faultlist)
コード例 #38
0
ファイル: instance_fault.py プロジェクト: ubuntuserver/nova
 def get_by_instance_uuids(cls, context, instance_uuids):
     db_faults = db.instance_fault_get_by_instance_uuids(
         context, instance_uuids)
     return _make_fault_list(cls(), db_faults)
コード例 #39
0
ファイル: instance_fault.py プロジェクト: Yuriy-Leonov/nova
 def get_by_instance_uuids(cls, context, instance_uuids):
     db_faults = db.instance_fault_get_by_instance_uuids(context,
                                                         instance_uuids)
     return _make_fault_list(cls(), db_faults)
コード例 #40
0
ファイル: instance_fault.py プロジェクト: B-Rich/nova-1
 def get_by_instance_uuids(cls, context, instance_uuids):
     db_faultdict = db.instance_fault_get_by_instance_uuids(context,
                                                            instance_uuids)
     db_faultlist = itertools.chain(*db_faultdict.values())
     return base.obj_make_list(context, InstanceFaultList(), InstanceFault,
                               db_faultlist)