diff options
author | Vipin Balachandran <vbala@vmware.com> | 2018-07-18 04:39:04 -0700 |
---|---|---|
committer | Gary Kotton <gkotton@vmware.com> | 2019-03-03 07:00:29 -0800 |
commit | 507afb25b19ba8ba86dd97ee4aaa5fe0c16ceea6 (patch) | |
tree | 58e38f400b488e6060e1bbd686de90df6148da63 | |
parent | 69f36d515b6fe3209aa9be56f7eb067a90c596b2 (diff) | |
download | oslo-vmware-507afb25b19ba8ba86dd97ee4aaa5fe0c16ceea6.tar.gz |
SDRS recommendation for create VM
Adding a method to return SDRS recommendation key for creating
a VM.
Change-Id: If759114357c2929c813f55d57df3775f0eb9533d
Authored-by: Vipin Balachandran <vbala@vmware.com>
-rw-r--r-- | oslo_vmware/objects/datastore.py | 33 |
1 files 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): |