X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=RO-VIM-openstack%2Fosm_rovim_openstack%2Fvimconn_openstack.py;h=9e6f7aab633ff4b4ac6bf8ac83e95add6a84cef3;hb=0bb2d81cc74ef6f98500b7e89083b4f34dc5c41d;hp=8e9d43952f5d43a8a66ffe99e13f4aaca0fdf2c0;hpb=3c08761aeb45da522705d728689f940dfff79206;p=osm%2FRO.git diff --git a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py index 8e9d4395..9e6f7aab 100644 --- a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py +++ b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py @@ -1353,8 +1353,7 @@ class vimconnector(vimconn.VimConnector): cpu_cores, cpu_threads = 0, 0 if self.vim_type == "VIO": - extra_specs["vmware:extra_config"] = '{"numa.nodeAffinity":"0"}' - extra_specs["vmware:latency_sensitivity_level"] = "high" + self.process_vio_numa_nodes(numa_nodes, extra_specs) for numa in numas: if "id" in numa: @@ -1384,6 +1383,19 @@ class vimconnector(vimconn.VimConnector): if cpu_threads: extra_specs["hw:cpu_threads"] = str(cpu_threads) + @staticmethod + def process_vio_numa_nodes(numa_nodes: int, extra_specs: Dict) -> None: + """According to number of numa nodes, updates the extra_specs for VIO. + + Args: + + numa_nodes (int): List keeps the numa node numbers + extra_specs (dict): Extra specs dict to be updated + + """ + # If there are several numas, we do not define specific affinity. + extra_specs["vmware:latency_sensitivity_level"] = "high" + def _change_flavor_name( self, name: str, name_suffix: int, flavor_data: dict ) -> str: @@ -2182,6 +2194,7 @@ class vimconnector(vimconn.VimConnector): existing_vim_volumes: list, created_items: dict, vm_av_zone: list, + block_device_mapping: dict, disk_list: list = None, ) -> None: """Prepare all volumes for new VM instance. @@ -2191,6 +2204,7 @@ class vimconnector(vimconn.VimConnector): existing_vim_volumes (list): List of existing volumes created_items (dict): All created items belongs to VM vm_av_zone (list): VM availability zone + block_device_mapping (dict): Block devices to be attached to VM disk_list (list): List of disks """ @@ -2199,7 +2213,6 @@ class vimconnector(vimconn.VimConnector): boot_volume_id = None elapsed_time = 0 - block_device_mapping = {} for disk in disk_list: if "image_id" in disk: # Root persistent volume @@ -2608,7 +2621,7 @@ class vimconnector(vimconn.VimConnector): external_network = [] # List of ports with port-security disabled no_secured_ports = [] - block_device_mapping = None + block_device_mapping = {} existing_vim_volumes = [] server_group_id = None scheduller_hints = {} @@ -2641,6 +2654,7 @@ class vimconnector(vimconn.VimConnector): existing_vim_volumes=existing_vim_volumes, created_items=created_items, vm_av_zone=vm_av_zone, + block_device_mapping=block_device_mapping, disk_list=disk_list, )