summaryrefslogtreecommitdiff
path: root/extensions/openstack.check
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/openstack.check')
-rwxr-xr-xextensions/openstack.check26
1 files changed, 14 insertions, 12 deletions
diff --git a/extensions/openstack.check b/extensions/openstack.check
index a3379763..f3ad43b7 100755
--- a/extensions/openstack.check
+++ b/extensions/openstack.check
@@ -15,25 +15,26 @@
'''Preparatory checks for Morph 'openstack' write extension'''
-import cliapp
import os
import urlparse
+
import keystoneclient
-import morphlib.writeexts
+import writeexts
-class OpenStackCheckExtension(morphlib.writeexts.WriteExtension):
+class OpenStackCheckExtension(writeexts.WriteExtension):
def process_args(self, args):
if len(args) != 1:
- raise cliapp.AppException('Wrong number of command line args')
+ raise writeexts.ExtensionError(
+ 'Wrong number of command line args')
self.require_btrfs_in_deployment_host_kernel()
upgrade = self.get_environment_boolean('UPGRADE')
if upgrade:
- raise cliapp.AppException(
+ raise writeexts.ExtensionError(
'Use the `ssh-rsync` write extension to deploy upgrades to an '
'existing remote system.')
@@ -55,7 +56,7 @@ class OpenStackCheckExtension(morphlib.writeexts.WriteExtension):
for key in auth_keys:
if os.environ.get(key, '') == '':
- raise cliapp.AppException(key + ' was not given')
+ raise writeexts.ExtensionError(key + ' was not given')
auth_params = {auth_keys[key]: os.environ[key] for key in auth_keys}
auth_params['auth_url'] = location
@@ -63,16 +64,17 @@ class OpenStackCheckExtension(morphlib.writeexts.WriteExtension):
def check_imagename(self):
if os.environ.get('OPENSTACK_IMAGENAME', '') == '':
- raise cliapp.AppException('OPENSTACK_IMAGENAME was not given')
+ raise writeexts.ExtensionError(
+ 'OPENSTACK_IMAGENAME was not given')
def check_location(self, location):
x = urlparse.urlparse(location)
if x.scheme not in ['http', 'https']:
- raise cliapp.AppException('URL schema must be http or https in %s'\
- % location)
+ raise writeexts.ExtensionError(
+ 'URL schema must be http or https in %s' % location)
if (x.path != '/v2.0' and x.path != '/v2.0/'):
- raise cliapp.AppException('API version must be v2.0 in %s'\
- % location)
+ raise writeexts.ExtensionError(
+ 'API version must be v2.0 in %s' % location)
def check_openstack_parameters(self, auth_params):
''' Check that we can connect to and authenticate with openstack '''
@@ -84,7 +86,7 @@ class OpenStackCheckExtension(morphlib.writeexts.WriteExtension):
except keystoneclient.exceptions.Unauthorized:
errmsg = ('Failed to authenticate with OpenStack '
'(are your credentials correct?)')
- raise cliapp.AppException(errmsg)
+ raise writeexts.ExtensionError(errmsg)
OpenStackCheckExtension().run()