On 06/28/2011 01:54 PM, Guannan.ren wrote:
--- repos/domain/start.py | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/repos/domain/start.py b/repos/domain/start.py index 34906e5..39ac47f 100644 --- a/repos/domain/start.py +++ b/repos/domain/start.py @@ -31,6 +31,9 @@ from lib import domainAPI from utils.Python import utils from exception import LibvirtAPI +NONE = 0 +START_PAUSED = 1 + def return_close(conn, logger, ret): conn.close() logger.info("closed hypervisor connection") @@ -62,7 +65,8 @@ def start(params): {'logger': logger, 'guestname': guestname} logger -- an object of utils/Python/log.py - guestname -- same as the domain name + mandatory arguments : guestname -- same as the domain name + optional arguments : flags -- domain create flags<none|start_paused> Return 0 on SUCCESS or 1 on FAILURE """ @@ -72,6 +76,13 @@ def start(params): domname = params['guestname'] logger = params['logger'] + flags = None + if params.has_key('flags'): + flags = params['flags'] + if flags != 'none' and flags != 'start_paused': + logger.error("flags value either \"none\" or \"start_paused\""); + return 1 + # Connect to local hypervisor connection URI util = utils.Utils() uri = util.get_uri('127.0.0.1') @@ -84,12 +95,29 @@ def start(params): logger.info('start domain') try: - dom_obj.start(domname) + if flags == "none": + dom_obj.start_with_flags(domname, NONE) + elif flags == "start_paused": + dom_obj.start_with_flags(domname, START_PAUSED) + elif not flags: + dom_obj.start(domname) + else: + logger.error("flags error") + return (conn, logger, 1) except LibvirtAPI, e: logger.error(str(e)) logger.error("start failed") return return_close(conn, logger, 1) + if flags == "start_paused": + state = dom_obj.get_state(domname) + if state == "paused": + logger.info("guest start with state paused successfully") + return return_close(conn, logger, 0) + else: + logger.error("guest state error") + return return_close(conn, logger, 1) + while timeout: time.sleep(10) timeout -= 10
The same issue with [PATCH 2/6]. - nzhang -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list