diff options
author | Jonas Bjurel <jonas.bjurel@ericsson.com> | 2016-06-15 17:19:37 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-06-15 17:19:37 +0000 |
commit | f09f2e3c661b8fcb1c82151e1ad17eea7275b417 (patch) | |
tree | 10ae097953437fe2e33ef3d5f9c0640bda3bb7b4 /deploy/environments/virtual_fuel.py | |
parent | aa58ccd04bfa98ae2bfbf2e37a180020e331deaf (diff) | |
parent | 41d27cb3772d6528924eadea8ce2e99a7395496f (diff) |
Merge changes from topic 'remote-libvirt-support'
* changes:
virtual_fuel: make vm_template an attribute
virtual_fuel: factor out image creation into a method
VirtualFuel: Add temp_dir and vm_name attributes
Diffstat (limited to 'deploy/environments/virtual_fuel.py')
-rw-r--r-- | deploy/environments/virtual_fuel.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/deploy/environments/virtual_fuel.py b/deploy/environments/virtual_fuel.py index cb3bc6c51..ac5fc5356 100644 --- a/deploy/environments/virtual_fuel.py +++ b/deploy/environments/virtual_fuel.py @@ -25,6 +25,16 @@ class VirtualFuel(ExecutionEnvironment): def __init__(self, storage_dir, pxe_bridge, dha_file, root_dir): super(VirtualFuel, self).__init__(storage_dir, dha_file, root_dir) self.pxe_bridge = pxe_bridge + self.temp_dir = tempfile.mkdtemp() + self.vm_name = self.dha.get_node_property(self.fuel_node_id, + 'libvirtName') + self.vm_template = '%s/%s' % (self.root_dir, + self.dha.get_node_property( + self.fuel_node_id, 'libvirtTemplate')) + check_file_exists(self.vm_template) + + def __del__(self): + delete(self.temp_dir) def set_vm_nic(self, temp_vm_file): with open(temp_vm_file) as f: @@ -45,24 +55,21 @@ class VirtualFuel(ExecutionEnvironment): with open(temp_vm_file, 'w') as f: vm_xml.write(f, pretty_print=True, xml_declaration=True) + def create_image(self, disk_path, disk_size): + exec_cmd('qemu-img create -f qcow2 %s %s' % (disk_path, disk_size)) + def create_vm(self): - temp_dir = tempfile.mkdtemp() - vm_name = self.dha.get_node_property(self.fuel_node_id, 'libvirtName') - vm_template = '%s/%s' % (self.root_dir, - self.dha.get_node_property( - self.fuel_node_id, 'libvirtTemplate')) - check_file_exists(vm_template) - disk_path = '%s/%s.raw' % (self.storage_dir, vm_name) + disk_path = '%s/%s.raw' % (self.storage_dir, self.vm_name) disk_sizes = self.dha.get_disks() disk_size = disk_sizes['fuel'] - exec_cmd('qemu-img create -f qcow2 %s %s' % (disk_path, disk_size)) - temp_vm_file = '%s/%s' % (temp_dir, vm_name) - exec_cmd('cp %s %s' % (vm_template, temp_vm_file)) + self.create_image(disk_path, disk_size) + + temp_vm_file = '%s/%s' % (self.temp_dir, self.vm_name) + exec_cmd('cp %s %s' % (self.vm_template, temp_vm_file)) self.set_vm_nic(temp_vm_file) vm_definition_overwrite = self.dha.get_vm_definition('fuel') - self.define_vm(vm_name, temp_vm_file, disk_path, + self.define_vm(self.vm_name, temp_vm_file, disk_path, vm_definition_overwrite) - delete(temp_dir) def setup_environment(self): check_if_root() |