use euca2ool to validate protocol and ip addresses
[sfa.git] / sfa / openstack / euca_shell.py
index 80f9f52..e47c106 100644 (file)
@@ -6,6 +6,12 @@ try:
 except:
     has_boto=False    
 
+try: 
+    from euca2ools import Euca2ool
+    has_euca = True
+except:
+    has_euca = False
+
 from sfa.util.sfalogging import logger
 from sfa.openstack.nova_shell import NovaShell
 from sfa.util.config import Config
@@ -16,12 +22,17 @@ class EucaShell:
     """    
 
     def __init__(self, config):
-        self.config = Config
+        self.config = config
 
     def get_euca_connection(self):
         if not has_boto:
             logger.info('Unable to access EC2 API - boto library not found.')
             return None
+        if not has_euca:
+            logger.info('euca2ools library not found.')
+            return None
+
+        self.euca2ool = Euca2ool()
         nova = NovaShell(self.config)
         admin_user = nova.auth_manager.get_user(self.config.SFA_NOVA_USER)
         access_key = admin_user.access
@@ -38,7 +49,9 @@ class EucaShell:
         elif url.find('http://') >= 0:
             use_ssl  = False
             url = url.replace('http://', '')
-        (host, parts) = url.split(':')
+        parts = url.split(':')
+        host = parts[0]
+        port = None 
         if len(parts) > 1:
             parts = parts.split('/')
             port = int(parts[0])