Example #1
0
    def test_save_flavor_pci_info(self):
        self.flags(pci_alias=[_fake_alias1, _fake_alias3])
        expect_request = [
            {'count': 3,
             'spec': [{'vendor_id': '8086', 'product_id': '4443',
                       'device_type': "ACCEL",
                       'capability_type': 'pci'}],
             'alias_name': 'QuicAssist'},

            {'count': 1,
             'spec': [{'vendor_id': '8086', 'product_id': '1111',
                       'device_type': "NIC",
                       'capability_type': 'pci'}],
             'alias_name': 'IntelNIC'}, ]

        flavor = {'extra_specs': {"pci_passthrough:alias":
                                  "QuicAssist:3, IntelNIC: 1"}}

        meta = {}
        pci_request.save_flavor_pci_info(meta, flavor)

        real = jsonutils.loads(meta['pci_requests'])
        exp_real = zip(expect_request, real)
        for exp, real in exp_real:
            self.assertEqual(real, exp)

        meta = {}
        pci_request.save_flavor_pci_info(meta, flavor, "old_")
        real = jsonutils.loads(meta['old_pci_requests'])
        exp_real = zip(expect_request, real)
        for exp, real in exp_real:
            self.assertEqual(real, exp)
Example #2
0
    def test_save_flavor_pci_info(self):
        self.flags(pci_alias=[_fake_alias1, _fake_alias3])
        expect_request = [
            {'count': 3,
             'spec': [{'vendor_id': '8086', 'product_id': '4443',
                       'device_type': "ACCEL",
                       'capability_type': 'pci'}],
             'alias_name': 'QuicAssist'},

            {'count': 1,
             'spec': [{'vendor_id': '8086', 'product_id': '1111',
                       'device_type': "NIC",
                       'capability_type': 'pci'}],
             'alias_name': 'IntelNIC'}, ]

        flavor = {'extra_specs': {"pci_passthrough:alias":
                                  "QuicAssist:3, IntelNIC: 1"}}

        meta = {}
        pci_request.save_flavor_pci_info(meta, flavor)

        real = jsonutils.loads(meta['pci_requests'])
        exp_real = zip(expect_request, real)
        for exp, real in exp_real:
            self.assertEqual(real, exp)

        meta = {}
        pci_request.save_flavor_pci_info(meta, flavor, "old_")
        real = jsonutils.loads(meta['old_pci_requests'])
        exp_real = zip(expect_request, real)
        for exp, real in exp_real:
            self.assertEqual(real, exp)
Example #3
0
def save_flavor_info(metadata, instance_type, prefix=''):
    """Save properties from instance_type into instance's system_metadata,
    in the format of:

      [prefix]instance_type_[key]

    This can be used to update system_metadata in place from a type, as well
    as stash information about another instance_type for later use (such as
    during resize).
    """

    for key in system_metadata_flavor_props.keys():
        to_key = '%sinstance_type_%s' % (prefix, key)
        metadata[to_key] = instance_type[key]
    pci_request.save_flavor_pci_info(metadata, instance_type, prefix)
    return metadata
Example #4
0
def save_flavor_info(metadata, instance_type, prefix=''):
    """Save properties from instance_type into instance's system_metadata,
    in the format of:

      [prefix]instance_type_[key]

    This can be used to update system_metadata in place from a type, as well
    as stash information about another instance_type for later use (such as
    during resize).
    """

    for key in system_metadata_flavor_props.keys():
        to_key = '%sinstance_type_%s' % (prefix, key)
        metadata[to_key] = instance_type[key]
    pci_request.save_flavor_pci_info(metadata, instance_type, prefix)
    return metadata