diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-04-11 12:29:32 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-04-14 14:11:58 +0000 |
commit | c0ecac7662235a66adca1c483f1a170c8a479bd0 (patch) | |
tree | 12941e0767dedfcf9d5b8f08d88fd9e34d7f6490 /morphlib/exts/kvm.write | |
parent | 78b46a60a5d482f0c302c83b200157cdb25730ca (diff) | |
download | morph-c0ecac7662235a66adca1c483f1a170c8a479bd0.tar.gz |
deploy: Check SSH connection for KVM deployment before starting
Slight duplication is necessary, but it's only a few lines. We could
move the duplicated code into the base class in 'morphlib.writeexts' if
there was more duplication.
Diffstat (limited to 'morphlib/exts/kvm.write')
-rwxr-xr-x | morphlib/exts/kvm.write | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/morphlib/exts/kvm.write b/morphlib/exts/kvm.write index 94560972..94a55daa 100755 --- a/morphlib/exts/kvm.write +++ b/morphlib/exts/kvm.write @@ -50,6 +50,8 @@ class KvmPlusSshWriteExtension(morphlib.writeexts.WriteExtension): ''' + location_pattern = '^/(?P<guest>[^/]+)(?P<path>/.+)$' + def process_args(self, args): if len(args) != 2: raise cliapp.AppException('Wrong number of command line args') @@ -79,14 +81,9 @@ class KvmPlusSshWriteExtension(morphlib.writeexts.WriteExtension): def parse_location(self, location): '''Parse the location argument to get relevant data.''' - + x = urlparse.urlparse(location) - if x.scheme != 'kvm+ssh': - raise cliapp.AppException( - 'URL schema must be vbox+ssh in %s' % location) m = re.match('^/(?P<guest>[^/]+)(?P<path>/.+)$', x.path) - if not m: - raise cliapp.AppException('Cannot parse location %s' % location) return x.netloc, m.group('guest'), m.group('path') def transfer(self, raw_disk, ssh_host, vm_path): |