From bc3bbebd3de98225e3781f06033d8909e3a6117f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantino=20V=C3=A1zquez=20Blanco?= Date: Thu, 16 Jul 2009 14:52:19 +0000 Subject: [PATCH] (Much) better handling of hypervisor connections. Fied minor TM configuration bug git-svn-id: http://svn.opennebula.org/one/trunk@697 3034c82b-c49b-4eb3-8279-a7acafdc01c0 --- src/im_mad/vmware/GetProperty.java | 46 ++++++++-- src/im_mad/vmware/OneImVmware.java | 29 ++++-- src/tm_mad/vmware/tm_vmware.conf | 2 +- src/vmm_mad/vmware/DeployVM.java | 112 ++++++++++++++--------- src/vmm_mad/vmware/OneVmmVmware.java | 102 ++++++++++++++++++--- src/vmm_mad/vmware/OperationsOverVM.java | 47 +++++++--- 6 files changed, 249 insertions(+), 89 deletions(-) diff --git a/src/im_mad/vmware/GetProperty.java b/src/im_mad/vmware/GetProperty.java index ee7aedc115..e239a9cdb2 100644 --- a/src/im_mad/vmware/GetProperty.java +++ b/src/im_mad/vmware/GetProperty.java @@ -34,6 +34,10 @@ import java.rmi.RemoteException; public class GetProperty { + String[] args; + String entity; + String entityName; + // Helpers from VI samples private static ServiceContent content; private static AppUtil cb = null; @@ -261,19 +265,41 @@ public class GetProperty { return measure; } - - GetProperty(String[] args, String entity, String entityName) throws Exception + + public boolean connect() { - cb = AppUtil.initialize("GetProperty", null, args); - cb.connect(); - + try + { + cb = AppUtil.initialize("GetProperty", null, args); + cb.connect(); + moRef = cb.getServiceUtil().getDecendentMoRef(null,entity, + entityName); - moRef = cb.getServiceUtil().getDecendentMoRef(null,entity, - entityName); + com.vmware.apputils.vim.ServiceConnection sc = cb.getConnection(); + content = sc.getServiceContent(); + service = sc.getService(); + return true; + } + catch(Exception e) + { + return false; + } + } - com.vmware.apputils.vim.ServiceConnection sc = cb.getConnection(); - content = sc.getServiceContent(); - service = sc.getService(); + public void disconnect() + { + try + { + cb.disConnect(); + } + catch(Exception e){} + } + + GetProperty(String[] arguments, String _entity, String _entityName) + { + args = arguments; + entity = _entity; + entityName = _entityName; } } diff --git a/src/im_mad/vmware/OneImVmware.java b/src/im_mad/vmware/OneImVmware.java index a5afbcfd05..f4fb042629 100644 --- a/src/im_mad/vmware/OneImVmware.java +++ b/src/im_mad/vmware/OneImVmware.java @@ -132,19 +132,25 @@ class OneImVmware extends Thread boolean rf; String response = "HYPERVISOR=vmware"; + String[] argsWithHost = new String[arguments.length+2]; + + for(int i=0;i