- set_opt_val(param, "extraSpecs", ignore_case_get(flavor["nfv_compute"], "flavor_extra_specs"))
- vim_id = flavor["properties"]["location_info"]["vimid"]
- ret = api.create_flavor(vim_id, param)
- do_notify(progress, ret)
-
-def create_vm(vim_cache, res_cache, vm, do_notify, progress):
+
+ # just do memory huge page
+ flavor_extra_specs = ""
+ vdu_memory_requirements = virtual_compute["virtual_memory"]["vdu_memory_requirements"]
+ if "memoryPageSize" in vdu_memory_requirements:
+ memory_page_size = int(vdu_memory_requirements["memoryPageSize"].replace('MB', '').strip())
+ flavor_extra_specs = ("hw:mem_page_size=%sMB" % memory_page_size)
+ logger.debug("flavor_extra_specs:%s" % flavor_extra_specs)
+
+ # search aai flavor
+ aai_flavor = search_flavor_aai(vim_id, memory_page_size)
+
+ # add aai flavor
+ if aai_flavor:
+ ret = aai_flavor
+ do_notify(res_type, ret)
+ set_res_cache(res_cache, res_type, flavor["vdu_id"], ret["flavor-id"])
+ else:
+ extra_specs = []
+ disk_type = virtual_compute["virtual_storage"]["type_of_storage"]
+ disk_size = int(virtual_compute["virtual_storage"]["size_of_storage"].replace('GB', '').strip())
+ if disk_type == "root":
+ param["disk"] = disk_size
+ elif disk_type == "ephemeral":
+ param["ephemeral"] = disk_size
+ elif disk_type == "swap":
+ param["swap"] = disk_size
+
+ for es in flavor_extra_specs:
+ extra_specs.append({"keyName": es, "value": flavor_extra_specs[es]})
+
+ set_opt_val(param, "extraSpecs", extra_specs)
+ tenant_id = get_tenant_id(vim_cache, vim_id, tenant_name)
+ logger.debug("param:%s" % param)
+ ret = api.create_flavor(vim_id, tenant_id, param)
+ do_notify(res_type, ret)
+ set_res_cache(res_cache, res_type, flavor["vdu_id"], ret["id"])
+
+
+def create_vm(vim_cache, res_cache, data, vm, do_notify, res_type):
+ location_info = vm["properties"]["location_info"]
+ vim_id, tenant_name = location_info["vimid"], location_info["tenant"]
+ tenant_id = get_tenant_id(vim_cache, vim_id, tenant_name)