def test_build_and_run_instance_limits_juno_compat( self, is_neutron, get_by_host_and_nodename): host_topology = objects_numa.NUMATopology(cells=[ objects_numa.NUMACell(id=0, cpuset=set([1, 2]), memory=512, cpu_usage=2, memory_usage=256, pinned_cpus=set([1])), objects_numa.NUMACell(id=1, cpuset=set([3, 4]), memory=512, cpu_usage=1, memory_usage=128, pinned_cpus=set([])) ]) limits = objects_numa.NUMATopologyLimits(cpu_allocation_ratio=16, ram_allocation_ratio=2) cnode = objects_compute_node.ComputeNode( numa_topology=jsonutils.dumps(host_topology.obj_to_primitive())) get_by_host_and_nodename.return_value = cnode legacy_limits = jsonutils.dumps(limits.to_dict_legacy(host_topology)) self.flags(compute='juno', group='upgrade_levels') netreqs = objects_network_request.NetworkRequestList(objects=[ objects_network_request.NetworkRequest( network_id="fake_network_id", address="10.0.0.1", port_id="fake_port_id") ]) self._test_compute_api('build_and_run_instance', 'cast', instance=self.fake_instance_obj, host='host', image='image', request_spec={'request': 'spec'}, filter_properties=[], admin_password='******', injected_files=None, requested_networks=netreqs, security_groups=None, block_device_mapping=None, node='node', limits={'numa_topology': limits}, legacy_limits={'numa_topology': legacy_limits}, version='3.33')
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_serialization import jsonutils from oslo_utils.fixture import uuidsentinel as uuids from nova import conf from nova import objects from nova.objects import numa from nova.scheduler import host_manager from nova.tests.unit.objects import test_objects CONF = conf.CONF fake_numa_limit1 = numa.NUMATopologyLimits(cpu_allocation_ratio=1.0, ram_allocation_ratio=1.0) fake_limit1 = { "memory_mb": 1024, "disk_gb": 100, "vcpus": 2, "numa_topology": fake_numa_limit1 } fake_limit_obj1 = objects.SchedulerLimits.from_dict(fake_limit1) fake_host1 = { "uuid": uuids.host1, "host": "host1", "nodename": "node1", "cell_uuid": uuids.cell, "limits": fake_limit1, } fake_host_state1 = host_manager.HostState("host1", "node1", uuids.cell)