| 12 | |
| 13 | |
| 14 | class wvmInstances(wvmConnect): |
| 15 | def get_instance_status(self, name): |
| 16 | inst = self.get_instance(name) |
| 17 | return inst.info()[0] |
| 18 | |
| 19 | def get_instance_memory(self, name): |
| 20 | inst = self.get_instance(name) |
| 21 | mem = util.get_xml_path(inst.XMLDesc(0), "/domain/currentMemory") |
| 22 | return int(mem) / 1024 |
| 23 | |
| 24 | def get_instance_vcpu(self, name): |
| 25 | inst = self.get_instance(name) |
| 26 | cur_vcpu = util.get_xml_path(inst.XMLDesc(0), "/domain/vcpu/@current") |
| 27 | if cur_vcpu: |
| 28 | vcpu = cur_vcpu |
| 29 | else: |
| 30 | vcpu = util.get_xml_path(inst.XMLDesc(0), "/domain/vcpu") |
| 31 | return vcpu |
| 32 | |
| 33 | def get_instance_managed_save_image(self, name): |
| 34 | inst = self.get_instance(name) |
| 35 | return inst.hasManagedSaveImage(0) |
| 36 | |
| 37 | def get_uuid(self, name): |
| 38 | inst = self.get_instance(name) |
| 39 | return inst.UUIDString() |
| 40 | |
| 41 | def start(self, name): |
| 42 | dom = self.get_instance(name) |
| 43 | dom.create() |
| 44 | |
| 45 | def shutdown(self, name): |
| 46 | dom = self.get_instance(name) |
| 47 | dom.shutdown() |
| 48 | |
| 49 | def force_shutdown(self, name): |
| 50 | dom = self.get_instance(name) |
| 51 | dom.destroy() |
| 52 | |
| 53 | def managedsave(self, name): |
| 54 | dom = self.get_instance(name) |
| 55 | dom.managedSave(0) |
| 56 | |
| 57 | def managed_save_remove(self, name): |
| 58 | dom = self.get_instance(name) |
| 59 | dom.managedSaveRemove(0) |
| 60 | |
| 61 | def suspend(self, name): |
| 62 | dom = self.get_instance(name) |
| 63 | dom.suspend() |
| 64 | |
| 65 | def resume(self, name): |
| 66 | dom = self.get_instance(name) |
| 67 | dom.resume() |
| 68 | |
| 69 | def moveto(self, conn, name, live, unsafe, undefine): |
| 70 | flags = 0 |
| 71 | if live and conn.get_status() == 1: |