--- lib/domainAPI.py | 57 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 38 insertions(+), 19 deletions(-) diff --git a/lib/domainAPI.py b/lib/domainAPI.py index 0c725f8..5667c20 100644 --- a/lib/domainAPI.py +++ b/lib/domainAPI.py @@ -40,18 +40,6 @@ append_path(result.group(0)) import exception -# DomainMigrateFlags -VIR_MIGRATE_LIVE = 1 - -# DomainState -VIR_DOMAIN_NOSTATE = 0 -VIR_DOMAIN_RUNNING = 1 -VIR_DOMAIN_BLOCKED = 2 -VIR_DOMAIN_PAUSED = 3 -VIR_DOMAIN_SHUTDOWN = 4 -VIR_DOMAIN_SHUTOFF = 5 -VIR_DOMAIN_CRASHED = 6 - class DomainAPI(object): def __init__(self, connection): self.conn = connection @@ -182,6 +170,16 @@ class DomainAPI(object): code = e.get_error_code() raise exception.LibvirtAPI(message, code) + def start_with_flags(self, domname, flags = 0): + try: + dom_obj = self.get_defined_obj(domname) + retval = dom_obj.createWithFlags(flags) + return retval + except libvirt.libvirtError, e: + message = e.get_error_message() + code = e.get_error_code() + raise exception.LibvirtAPI(message, code) + def suspend(self, domname): try: dom_obj = self.get_domain_by_name(domname) @@ -223,10 +221,10 @@ class DomainAPI(object): code = e.get_error_code() raise exception.LibvirtAPI(message, code) - def migrate(self, domname, dconn, flags = VIR_MIGRATE_LIVE): + def migrate(self, domname, dconn, flags, dname = None, uri = None, bandwidth = 0): try: dom_obj = self.get_domain_by_name(domname) - retval = dom_obj.migrate(dconn, flags, None, None, 0) + retval = dom_obj.migrate(dconn, flags, dname, uri, 0) return retval except libvirt.libvirtError, e: message = e.get_error_message() @@ -484,7 +482,7 @@ class DomainAPI(object): dom_obj = self.get_domain_by_name(domname) state = dom_obj.info() if state[0] == VIR_DOMAIN_NOSTATE: - dom_state = 'no state' + dom_state = 'nostate' elif state[0] == VIR_DOMAIN_RUNNING: dom_state = 'running' elif state[0] == VIR_DOMAIN_BLOCKED: @@ -581,7 +579,7 @@ class DomainAPI(object): code = e.get_error_code() raise exception.LibvirtAPI(message, code) - def isActive(self, domname): + def is_active(self, domname): try: dom_obj = self.get_domain_by_name(domname) return dom_obj.isActive() @@ -590,7 +588,7 @@ class DomainAPI(object): code = e.get_error_code() raise exception.LibvirtAPI(message, code) - def isPersistent(self, domname): + def is_persistent(self, domname): try: dom_obj = self.get_domain_by_name(domname) return dom_obj.isPersistent() @@ -662,10 +660,10 @@ class DomainAPI(object): code = e.get_error_code() raise exception.LibvirtAPI(message, code) - def migrate_to_uri(self, domname, duri, dname, bandwidth, flag = 0): + def migrate_to_uri(self, domname, duri, flags, dname = None, bandwidth = 0): try: dom_obj = self.get_domain_by_name(domname) - return dom_obj.migrateToURI(duri, dname, bandwidth, flag) + return dom_obj.migrateToURI(duri, flags, dname, bandwidth) except libvirt.libvirtError, e: message = e.get_error_message() code = e.get_error_code() @@ -761,3 +759,24 @@ class DomainAPI(object): code = e.get_error_code() raise exception.LibvirtAPI(message, code) + +# DomainState +VIR_DOMAIN_NOSTATE = 0 +VIR_DOMAIN_RUNNING = 1 +VIR_DOMAIN_BLOCKED = 2 +VIR_DOMAIN_PAUSED = 3 +VIR_DOMAIN_SHUTDOWN = 4 +VIR_DOMAIN_SHUTOFF = 5 +VIR_DOMAIN_CRASHED = 6 + + +# virDomainMigrateFlags +VIR_MIGRATE_LIVE = 1 +VIR_MIGRATE_PEER2PEER = 2 +VIR_MIGRATE_TUNNELLED = 4 +VIR_MIGRATE_PERSIST_DEST = 8 +VIR_MIGRATE_UNDEFINE_SOURCE = 16 +VIR_MIGRATE_PAUSED = 32 +VIR_MIGRATE_NON_SHARED_DISK = 64 +VIR_MIGRATE_NON_SHARED_INC = 128 + -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list