From 31f3383ae4953019267c67e4fbd2214b03bc8da8 Mon Sep 17 00:00:00 2001 From: Johannes Erdfelt Date: Tue, 7 Aug 2012 23:19:04 +0000 Subject: xenapi: wait for agent resetnetwork response Unlike every other agent command, the resetnetwork command would not wait for a response. All failures were silently ignored. Change this to at least log a message if an error occurs. Change-Id: I40e323607b2ce50869f3bf11e4582ff83cbed1c0 --- plugins/xenserver/xenapi/etc/xapi.d/plugins/agent | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'plugins') diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/agent b/plugins/xenserver/xenapi/etc/xapi.d/plugins/agent index fa1558bd7..07122ba88 100755 --- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/agent +++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/agent @@ -43,12 +43,6 @@ import xenstore AGENT_TIMEOUT = 30 -def jsonify(fnc): - def wrapper(*args, **kwargs): - return json.dumps(fnc(*args, **kwargs)) - return wrapper - - class TimeoutError(StandardError): pass @@ -105,7 +99,6 @@ def password(self, arg_dict): return resp -@jsonify def resetnetwork(self, arg_dict): """Writes a resquest to xenstore that tells the agent to reset networking. @@ -114,6 +107,11 @@ def resetnetwork(self, arg_dict): request_id = arg_dict['id'] arg_dict['path'] = "data/host/%s" % request_id xenstore.write_record(self, arg_dict) + try: + resp = _wait_for_agent(self, request_id, arg_dict) + except TimeoutError, e: + raise PluginError(e) + return resp def inject_file(self, arg_dict): -- cgit