diff options
| author | Josh Kearney <josh@jk0.org> | 2011-03-30 20:49:38 +0000 |
|---|---|---|
| committer | Tarmac <> | 2011-03-30 20:49:38 +0000 |
| commit | 11eb77870630dca9399070cd8c3d16f6e2bbce53 (patch) | |
| tree | a1502bec1b853d9f2e6866df1e3edb0fdea7e447 | |
| parent | d4ebb5504b6bc4214c4c431c86163144afc38e66 (diff) | |
| parent | 2eadc55dbd66af7b5adb3c21fe9cc91cd04b0f8b (diff) | |
| download | nova-11eb77870630dca9399070cd8c3d16f6e2bbce53.tar.gz nova-11eb77870630dca9399070cd8c3d16f6e2bbce53.tar.xz nova-11eb77870630dca9399070cd8c3d16f6e2bbce53.zip | |
Avoid any hard dependencies in nova.virt.vmwareapi.vim.
| -rw-r--r-- | nova/virt/vmwareapi/vim.py | 15 | ||||
| -rw-r--r-- | nova/virt/vmwareapi_conn.py | 3 |
2 files changed, 13 insertions, 5 deletions
diff --git a/nova/virt/vmwareapi/vim.py b/nova/virt/vmwareapi/vim.py index ba14f1512..1c850595d 100644 --- a/nova/virt/vmwareapi/vim.py +++ b/nova/virt/vmwareapi/vim.py @@ -21,10 +21,14 @@ Classes for making VMware VI SOAP calls. import httplib
-from suds import WebFault
-from suds.client import Client
-from suds.plugin import MessagePlugin
-from suds.sudsobject import Property
+try:
+ suds = True
+ from suds import WebFault
+ from suds.client import Client
+ from suds.plugin import MessagePlugin
+ from suds.sudsobject import Property
+except ImportError:
+ suds = False
from nova import flags
from nova.virt.vmwareapi import error_util
@@ -75,6 +79,9 @@ class Vim: protocol: http or https
host : ESX IPAddress[:port] or ESX Hostname[:port]
"""
+ if not suds:
+ raise Exception(_("Unable to import suds."))
+
self._protocol = protocol
self._host_name = host
wsdl_url = FLAGS.vmwareapi_wsdl_loc
diff --git a/nova/virt/vmwareapi_conn.py b/nova/virt/vmwareapi_conn.py index 87c3fa299..20c1b2b45 100644 --- a/nova/virt/vmwareapi_conn.py +++ b/nova/virt/vmwareapi_conn.py @@ -47,6 +47,7 @@ from nova.virt.vmwareapi import vim from nova.virt.vmwareapi import vim_util
from nova.virt.vmwareapi.vmops import VMWareVMOps
+
LOG = logging.getLogger("nova.virt.vmwareapi_conn")
FLAGS = flags.FLAGS
@@ -109,7 +110,7 @@ class VMWareESXConnection(object): def __init__(self, host_ip, host_username, host_password,
api_retry_count, scheme="https"):
session = VMWareAPISession(host_ip, host_username, host_password,
- api_retry_count, scheme=scheme)
+ api_retry_count, scheme=scheme)
self._vmops = VMWareVMOps(session)
def init_host(self, host):
|
