From 507afb25b19ba8ba86dd97ee4aaa5fe0c16ceea6 Mon Sep 17 00:00:00 2001 From: Vipin Balachandran Date: Wed, 18 Jul 2018 04:39:04 -0700 Subject: SDRS recommendation for create VM Adding a method to return SDRS recommendation key for creating a VM. Change-Id: If759114357c2929c813f55d57df3775f0eb9533d Authored-by: Vipin Balachandran --- oslo_vmware/objects/datastore.py | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/oslo_vmware/objects/datastore.py b/oslo_vmware/objects/datastore.py index f6ca997..c927781 100644 --- a/oslo_vmware/objects/datastore.py +++ b/oslo_vmware/objects/datastore.py @@ -55,6 +55,15 @@ def get_datastore_by_ref(session, ds_ref): type=props.get("summary.type")) +def get_recommended_datastore(session, sp_spec): + spr = session.invoke_api( + session.vim, + "RecommendDatastores", + session.vim.service_content.storageResourceManager, + storageSpec=sp_spec) + return spr.recommendations[0].key + + def get_recommended_datastore_clone(session, dsc_ref, clone_spec, @@ -75,12 +84,24 @@ def get_recommended_datastore_clone(session, clone_name=name, res_pool_ref=resource_pool, host_ref=host_ref) - spr = session.invoke_api( - session.vim, - "RecommendDatastores", - session.vim.service_content.storageResourceManager, - storageSpec=sp_spec) - return spr.recommendations[0].key + return get_recommended_datastore(session, sp_spec) + + +def get_recommended_datastore_create(session, + dsc_ref, + config_spec, + resource_pool, + folder, + host_ref=None): + """Returns SDRS recommendation key for creating a VM.""" + sp_spec = vim_util.storage_placement_spec(session.vim.client.factory, + dsc_ref, + 'create', + config_spec=config_spec, + folder=folder, + res_pool_ref=resource_pool, + host_ref=host_ref) + return get_recommended_datastore(session, sp_spec) def get_dsc_ref_and_name(session, dsc_val): -- cgit v1.2.1