From: Pablo Montes Moreno Date: Wed, 24 May 2017 09:33:24 +0000 (+0200) Subject: Fixed bug for threads/pair-threads/cores in openstack connector. New implementation... X-Git-Tag: v2.0.1~6 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F64%2F1864%2F1;p=osm%2FRO.git Fixed bug for threads/pair-threads/cores in openstack connector. New implementation according to https://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/virt-driver-cpu-thread-pinning.html Signed-off-by: Pablo Montes Moreno --- diff --git a/osm_ro/vimconn_openstack.py b/osm_ro/vimconn_openstack.py index 539c5a47..de94fff0 100644 --- a/osm_ro/vimconn_openstack.py +++ b/osm_ro/vimconn_openstack.py @@ -543,15 +543,22 @@ class vimconnector(vimconn.vimconnector): for numa in numas: #overwrite ram and vcpus ram = numa['memory']*1024 + #See for reference: https://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/virt-driver-cpu-thread-pinning.html if 'paired-threads' in numa: vcpus = numa['paired-threads']*2 - numa_properties["hw:cpu_threads_policy"] = "prefer" + #cpu_thread_policy "require" implies that the compute node must have an STM architecture + numa_properties["hw:cpu_thread_policy"] = "require" + numa_properties["hw:cpu_policy"] = "dedicated" elif 'cores' in numa: vcpus = numa['cores'] - #numa_properties["hw:cpu_threads_policy"] = "prefer" + # cpu_thread_policy "prefer" implies that the host must not have an SMT architecture, or a non-SMT architecture will be emulated + numa_properties["hw:cpu_thread_policy"] = "isolate" + numa_properties["hw:cpu_policy"] = "dedicated" elif 'threads' in numa: vcpus = numa['threads'] - numa_properties["hw:cpu_policy"] = "isolated" + # cpu_thread_policy "prefer" implies that the host may or may not have an SMT architecture + numa_properties["hw:cpu_thread_policy"] = "prefer" + numa_properties["hw:cpu_policy"] = "dedicated" # for interface in numa.get("interfaces",() ): # if interface["dedicated"]=="yes": # raise vimconn.vimconnException("Passthrough interfaces are not supported for the openstack connector", http_code=vimconn.HTTP_Service_Unavailable)