diff options
author | Richard Maw <richard.maw@gmail.com> | 2014-11-26 12:49:45 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@gmail.com> | 2014-11-26 12:49:45 +0000 |
commit | f034691cba14d1919a3c8d1ffa41872ff754e1d3 (patch) | |
tree | 4d879db03c9bedcd65e965e29914433a7545f2f7 /morphlib/exts/kvm.write | |
parent | 69a413473a337f9789454ee0fc512f1a47910252 (diff) | |
parent | cb63069fc8a6eb8ba52e5a307cfa03e417e3bc0c (diff) | |
download | morph-f034691cba14d1919a3c8d1ffa41872ff754e1d3.tar.gz |
Merge remote-tracking branch 'pf/pf-document-extensions'
Reviewed-by: Richard Maw
Reviewed-by: Pete Fotheringham
Diffstat (limited to 'morphlib/exts/kvm.write')
-rwxr-xr-x | morphlib/exts/kvm.write | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/morphlib/exts/kvm.write b/morphlib/exts/kvm.write index 16f188b5..61c96676 100755 --- a/morphlib/exts/kvm.write +++ b/morphlib/exts/kvm.write @@ -30,40 +30,20 @@ import morphlib.writeexts class KvmPlusSshWriteExtension(morphlib.writeexts.WriteExtension): - '''Create a KVM/LibVirt virtual machine during Morph's deployment. - - The location command line argument is the pathname of the disk image - to be created. The user is expected to provide the location argument - using the following syntax: - - kvm+ssh://HOST/GUEST/PATH - - where: - - * HOST is the host on which KVM/LibVirt is running - * GUEST is the name of the guest virtual machine on that host - * PATH is the path to the disk image that should be created, - on that host - - The extension will connect to HOST via ssh to run libvirt's - command line management tools. - - ''' - location_pattern = '^/(?P<guest>[^/]+)(?P<path>/.+)$' def process_args(self, args): if len(args) != 2: raise cliapp.AppException('Wrong number of command line args') - + temp_root, location = args ssh_host, vm_name, vm_path = self.parse_location(location) autostart = self.get_environment_boolean('AUTOSTART') - + fd, raw_disk = tempfile.mkstemp() os.close(fd) self.create_local_system(temp_root, raw_disk) - + try: self.transfer(raw_disk, ssh_host, vm_path) self.create_libvirt_guest(ssh_host, vm_name, vm_path, autostart) @@ -105,7 +85,7 @@ class KvmPlusSshWriteExtension(morphlib.writeexts.WriteExtension): def create_libvirt_guest(self, ssh_host, vm_name, vm_path, autostart): '''Create the libvirt virtual machine.''' - + self.status(msg='Creating libvirt/kvm virtual machine') attach_disks = self.parse_attach_disks() @@ -135,4 +115,3 @@ class KvmPlusSshWriteExtension(morphlib.writeexts.WriteExtension): ['virsh', '--connect', 'qemu:///system', 'autostart', vm_name]) KvmPlusSshWriteExtension().run() - |