예제 #1
0
    def test_format_instance_mapping(self):
        # Make sure that _format_instance_mappings works.
        ctxt = None
        instance_ref0 = objects.Instance(**{'id': 0,
                         'uuid': 'e5fe5518-0288-4fa3-b0c4-c79764101b85',
                         'root_device_name': None,
                         'default_ephemeral_device': None,
                         'default_swap_device': None})
        instance_ref1 = objects.Instance(**{'id': 0,
                         'uuid': 'b65cee2f-8c69-4aeb-be2f-f79742548fc2',
                         'root_device_name': '/dev/sda1',
                         'default_ephemeral_device': None,
                         'default_swap_device': None})

        def fake_bdm_get(ctxt, uuid, use_slave=False):
            return [fake_block_device.FakeDbBlockDeviceDict(
                    {'volume_id': 87654321,
                     'snapshot_id': None,
                     'no_device': None,
                     'source_type': 'volume',
                     'destination_type': 'volume',
                     'delete_on_termination': True,
                     'device_name': '/dev/sdh'}),
                    fake_block_device.FakeDbBlockDeviceDict(
                    {'volume_id': None,
                     'snapshot_id': None,
                     'no_device': None,
                     'source_type': 'blank',
                     'destination_type': 'local',
                     'guest_format': 'swap',
                     'delete_on_termination': None,
                     'device_name': '/dev/sdc'}),
                    fake_block_device.FakeDbBlockDeviceDict(
                    {'volume_id': None,
                     'snapshot_id': None,
                     'no_device': None,
                     'source_type': 'blank',
                     'destination_type': 'local',
                     'guest_format': None,
                     'delete_on_termination': None,
                     'device_name': '/dev/sdb'})]

        self.stubs.Set(db, 'block_device_mapping_get_all_by_instance',
                       fake_bdm_get)

        expected = {'ami': 'sda1',
                    'root': '/dev/sda1',
                    'ephemeral0': '/dev/sdb',
                    'swap': '/dev/sdc',
                    'ebs0': '/dev/sdh'}

        conductor_api.LocalAPI()

        self.assertEqual(base._format_instance_mapping(ctxt,
                         instance_ref0), block_device._DEFAULT_MAPPINGS)
        self.assertEqual(base._format_instance_mapping(ctxt,
                         instance_ref1), expected)
예제 #2
0
    def test_format_instance_mapping(self):
        # Make sure that _format_instance_mappings works.
        ctxt = None
        instance_ref0 = objects.Instance(**{'id': 0,
                         'uuid': 'e5fe5518-0288-4fa3-b0c4-c79764101b85',
                         'root_device_name': None,
                         'default_ephemeral_device': None,
                         'default_swap_device': None})
        instance_ref1 = objects.Instance(**{'id': 0,
                         'uuid': 'b65cee2f-8c69-4aeb-be2f-f79742548fc2',
                         'root_device_name': '/dev/sda1',
                         'default_ephemeral_device': None,
                         'default_swap_device': None})

        def fake_bdm_get(ctxt, uuid, use_slave=False):
            return [fake_block_device.FakeDbBlockDeviceDict(
                    {'volume_id': 87654321,
                     'snapshot_id': None,
                     'no_device': None,
                     'source_type': 'volume',
                     'destination_type': 'volume',
                     'delete_on_termination': True,
                     'device_name': '/dev/sdh'}),
                    fake_block_device.FakeDbBlockDeviceDict(
                    {'volume_id': None,
                     'snapshot_id': None,
                     'no_device': None,
                     'source_type': 'blank',
                     'destination_type': 'local',
                     'guest_format': 'swap',
                     'delete_on_termination': None,
                     'device_name': '/dev/sdc'}),
                    fake_block_device.FakeDbBlockDeviceDict(
                    {'volume_id': None,
                     'snapshot_id': None,
                     'no_device': None,
                     'source_type': 'blank',
                     'destination_type': 'local',
                     'guest_format': None,
                     'delete_on_termination': None,
                     'device_name': '/dev/sdb'})]

        self.stubs.Set(db, 'block_device_mapping_get_all_by_instance',
                       fake_bdm_get)

        expected = {'ami': 'sda1',
                    'root': '/dev/sda1',
                    'ephemeral0': '/dev/sdb',
                    'swap': '/dev/sdc',
                    'ebs0': '/dev/sdh'}

        conductor_api.LocalAPI()

        self.assertEqual(base._format_instance_mapping(ctxt,
                         instance_ref0), block_device._DEFAULT_MAPPINGS)
        self.assertEqual(base._format_instance_mapping(ctxt,
                         instance_ref1), expected)
예제 #3
0
    def test_format_instance_mapping(self):
        # Make sure that _format_instance_mappings works.
        ctxt = None
        instance_ref0 = {
            'id': 0,
            'uuid': 'e5fe5518-0288-4fa3-b0c4-c79764101b85',
            'root_device_name': None
        }
        instance_ref1 = {
            'id': 0,
            'uuid': 'b65cee2f-8c69-4aeb-be2f-f79742548fc2',
            'root_device_name': '/dev/sda1'
        }

        def fake_bdm_get(ctxt, uuid):
            return [{
                'volume_id': 87654321,
                'snapshot_id': None,
                'no_device': None,
                'virtual_name': None,
                'delete_on_termination': True,
                'device_name': '/dev/sdh'
            }, {
                'volume_id': None,
                'snapshot_id': None,
                'no_device': None,
                'virtual_name': 'swap',
                'delete_on_termination': None,
                'device_name': '/dev/sdc'
            }, {
                'volume_id': None,
                'snapshot_id': None,
                'no_device': None,
                'virtual_name': 'ephemeral0',
                'delete_on_termination': None,
                'device_name': '/dev/sdb'
            }]

        self.stubs.Set(db, 'block_device_mapping_get_all_by_instance',
                       fake_bdm_get)

        expected = {
            'ami': 'sda1',
            'root': '/dev/sda1',
            'ephemeral0': '/dev/sdb',
            'swap': '/dev/sdc',
            'ebs0': '/dev/sdh'
        }

        capi = conductor_api.LocalAPI()
        self.assertEqual(
            base._format_instance_mapping(capi, ctxt, instance_ref0),
            block_device._DEFAULT_MAPPINGS)
        self.assertEqual(
            base._format_instance_mapping(capi, ctxt, instance_ref1), expected)
예제 #4
0
    def test_format_instance_mapping(self):
        # Make sure that _format_instance_mappings works.
        ctxt = None
        instance_ref0 = {"id": 0, "uuid": "e5fe5518-0288-4fa3-b0c4-c79764101b85", "root_device_name": None}
        instance_ref1 = {"id": 0, "uuid": "b65cee2f-8c69-4aeb-be2f-f79742548fc2", "root_device_name": "/dev/sda1"}

        def fake_bdm_get(ctxt, uuid):
            return [
                {
                    "volume_id": 87654321,
                    "snapshot_id": None,
                    "no_device": None,
                    "source_type": "volume",
                    "destination_type": "volume",
                    "delete_on_termination": True,
                    "device_name": "/dev/sdh",
                },
                {
                    "volume_id": None,
                    "snapshot_id": None,
                    "no_device": None,
                    "source_type": "blank",
                    "destination_type": "local",
                    "guest_format": "swap",
                    "delete_on_termination": None,
                    "device_name": "/dev/sdc",
                },
                {
                    "volume_id": None,
                    "snapshot_id": None,
                    "no_device": None,
                    "source_type": "blank",
                    "destination_type": "local",
                    "guest_format": None,
                    "delete_on_termination": None,
                    "device_name": "/dev/sdb",
                },
            ]

        self.stubs.Set(db, "block_device_mapping_get_all_by_instance", fake_bdm_get)

        expected = {
            "ami": "sda1",
            "root": "/dev/sda1",
            "ephemeral0": "/dev/sdb",
            "swap": "/dev/sdc",
            "ebs0": "/dev/sdh",
        }

        capi = conductor_api.LocalAPI()

        self.assertEqual(base._format_instance_mapping(capi, ctxt, instance_ref0), block_device._DEFAULT_MAPPINGS)
        self.assertEqual(base._format_instance_mapping(capi, ctxt, instance_ref1), expected)
예제 #5
0
    def test_format_instance_mapping(self):
        # Make sure that _format_instance_mappings works.
        ctxt = None
        instance_ref0 = {'id': 0,
                         'uuid': 'e5fe5518-0288-4fa3-b0c4-c79764101b85',
                         'root_device_name': None}
        instance_ref1 = {'id': 0,
                         'uuid': 'b65cee2f-8c69-4aeb-be2f-f79742548fc2',
                         'root_device_name': '/dev/sda1'}

        def fake_bdm_get(ctxt, uuid):
            return [{'volume_id': 87654321,
                     'snapshot_id': None,
                     'no_device': None,
                     'virtual_name': None,
                     'delete_on_termination': True,
                     'device_name': '/dev/sdh'},
                    {'volume_id': None,
                     'snapshot_id': None,
                     'no_device': None,
                     'virtual_name': 'swap',
                     'delete_on_termination': None,
                     'device_name': '/dev/sdc'},
                    {'volume_id': None,
                     'snapshot_id': None,
                     'no_device': None,
                     'virtual_name': 'ephemeral0',
                     'delete_on_termination': None,
                     'device_name': '/dev/sdb'}]

        self.stubs.Set(db, 'block_device_mapping_get_all_by_instance',
                       fake_bdm_get)

        expected = {'ami': 'sda1',
                    'root': '/dev/sda1',
                    'ephemeral0': '/dev/sdb',
                    'swap': '/dev/sdc',
                    'ebs0': '/dev/sdh'}

        capi = conductor_api.LocalAPI()
        self.assertEqual(base._format_instance_mapping(capi, ctxt,
                         instance_ref0), block_device._DEFAULT_MAPPINGS)
        self.assertEqual(base._format_instance_mapping(capi, ctxt,
                         instance_ref1), expected)
예제 #6
0
파일: test_metadata.py 프로젝트: dims/nova
    def test_format_instance_mapping(self):
        # Make sure that _format_instance_mappings works.
        instance_ref0 = objects.Instance(
            **{
                "id": 0,
                "uuid": "e5fe5518-0288-4fa3-b0c4-c79764101b85",
                "root_device_name": None,
                "default_ephemeral_device": None,
                "default_swap_device": None,
            }
        )
        instance_ref1 = objects.Instance(
            **{
                "id": 0,
                "uuid": "b65cee2f-8c69-4aeb-be2f-f79742548fc2",
                "root_device_name": "/dev/sda1",
                "default_ephemeral_device": None,
                "default_swap_device": None,
            }
        )

        def fake_bdm_get(ctxt, uuid):
            return [
                fake_block_device.FakeDbBlockDeviceDict(
                    {
                        "volume_id": 87654321,
                        "snapshot_id": None,
                        "no_device": None,
                        "source_type": "volume",
                        "destination_type": "volume",
                        "delete_on_termination": True,
                        "device_name": "/dev/sdh",
                    }
                ),
                fake_block_device.FakeDbBlockDeviceDict(
                    {
                        "volume_id": None,
                        "snapshot_id": None,
                        "no_device": None,
                        "source_type": "blank",
                        "destination_type": "local",
                        "guest_format": "swap",
                        "delete_on_termination": None,
                        "device_name": "/dev/sdc",
                    }
                ),
                fake_block_device.FakeDbBlockDeviceDict(
                    {
                        "volume_id": None,
                        "snapshot_id": None,
                        "no_device": None,
                        "source_type": "blank",
                        "destination_type": "local",
                        "guest_format": None,
                        "delete_on_termination": None,
                        "device_name": "/dev/sdb",
                    }
                ),
            ]

        self.stub_out("nova.db.block_device_mapping_get_all_by_instance", fake_bdm_get)

        expected = {
            "ami": "sda1",
            "root": "/dev/sda1",
            "ephemeral0": "/dev/sdb",
            "swap": "/dev/sdc",
            "ebs0": "/dev/sdh",
        }

        conductor_api.LocalAPI()

        self.assertEqual(base._format_instance_mapping(self.context, instance_ref0), block_device._DEFAULT_MAPPINGS)
        self.assertEqual(base._format_instance_mapping(self.context, instance_ref1), expected)