Change in vdsm[master]: tests: functional - convert to run over jsonrpc
ykaplan at redhat.com
ykaplan at redhat.com
Mon Sep 7 10:57:19 UTC 2015
Yeela Kaplan has uploaded a new change for review.
Change subject: tests: functional - convert to run over jsonrpc
......................................................................
tests: functional - convert to run over jsonrpc
will run functional tests by default over jsonrpc
Change-Id: Iaba1e2811f010e4509a658acef8040ad8f39cece
Signed-off-by: Yeela Kaplan <ykaplan at redhat.com>
---
M lib/vdsm/jsonrpcvdscli.py
M lib/vdsm/response.py
M tests/functional/utils.py
3 files changed, 58 insertions(+), 16 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/89/45789/1
diff --git a/lib/vdsm/jsonrpcvdscli.py b/lib/vdsm/jsonrpcvdscli.py
index 21e135c..606bbef 100644
--- a/lib/vdsm/jsonrpcvdscli.py
+++ b/lib/vdsm/jsonrpcvdscli.py
@@ -33,17 +33,34 @@
_COMMAND_CONVERTER = {
- 'ping': 'Host.ping',
+ 'addNetwork': 'Host.addNetwork',
+ 'create': 'VM.create',
+ 'delNetwork': 'Host.delNetwork',
'destroy': 'VM.destroy',
+ 'editNetwork': 'Host.editNetwork',
+ 'fullList': 'Host.getVMFullList',
+ 'getAllVmStats': 'Host.getAllVmStats',
+ 'getVdsCapabilities': 'Host.getCapabilities',
+ 'getVdsStats': 'Host.getStats',
'getVmStats': 'VM.getStats',
+ 'list': 'Host.getVMList',
'migrationCreate': 'VM.migrationCreate',
+ 'ping': 'Host.ping',
+ 'setBalloonTarget': 'VM.setBalloonTarget',
+ 'setCpuTunePeriod': 'VM.setCpuTunePeriod',
+ 'setCpuTuneQuota': 'VM.setCpuTuneQuota',
+ 'setMOMPolicy': 'Host.setMOMPolicy',
+ 'setSafeNetworkConfig': 'Host.setSafeNetworkConfig',
+ 'setupNetworks': 'Host.setupNetworks',
+ 'updateVmPolicy': 'VM.updateVmPolicy',
}
class _Server(object):
- def __init__(self, client):
+ def __init__(self, client, compat):
self._client = client
+ self._compat = compat
def _callMethod(self, methodName, *args):
try:
@@ -64,6 +81,9 @@
return response.error_raw(resp.error["code"],
resp.error["message"])
+ if not self._compat:
+ return response.success_raw(resp.result)
+
if resp.result and resp.result is not True:
# None is translated to True inside our JSONRPC implementation
return response.success(**resp.result)
@@ -72,6 +92,11 @@
def migrationCreate(self, params):
return self._callMethod('migrationCreate',
+ params['vmId'],
+ params)
+
+ def create(self, params):
+ return self._callMethod('create',
params['vmId'],
params)
@@ -107,7 +132,7 @@
def connect(requestQueue, stompClient=None,
host=None, port=None,
useSSL=None,
- responseQueue=None):
+ responseQueue=None, compat=True):
if not stompClient:
client = _create(requestQueue,
host, port, useSSL,
@@ -119,4 +144,4 @@
str(uuid4())
)
- return _Server(client)
+ return _Server(client, compat)
diff --git a/lib/vdsm/response.py b/lib/vdsm/response.py
index 62ed49e..160898f 100644
--- a/lib/vdsm/response.py
+++ b/lib/vdsm/response.py
@@ -41,6 +41,21 @@
return kwargs
+def success_raw(result=None, message=None):
+ ret = {
+ 'status':
+ {
+ "code": doneCode["code"],
+ "message": message or doneCode["message"],
+ }
+ }
+
+ if result:
+ ret['result'] = result
+
+ return ret
+
+
def error(name, message=None):
status = errCode[name]["status"]
return {
diff --git a/tests/functional/utils.py b/tests/functional/utils.py
index 6bd8dd9..b8bdce6 100644
--- a/tests/functional/utils.py
+++ b/tests/functional/utils.py
@@ -26,9 +26,9 @@
from vdsm.config import config
from vdsm.utils import retry
from vdsm import ipwrapper
+from vdsm import jsonrpcvdscli
from vdsm import netinfo
from vdsm import supervdsm
-from vdsm import vdscli
from vdsm.netconfpersistence import RunningConfig
@@ -71,7 +71,9 @@
retry(self.start, (socket.error, KeyError), tries=30)
def start(self):
- self.vdscli = vdscli.connect()
+ requestQueues = config.get('addresses', 'request_queues')
+ requestQueue = requestQueues.split(",")[0]
+ self.vdscli = jsonrpcvdscli.connect(requestQueue, compat=False)
self.netinfo = self._get_netinfo()
if config.get('vars', 'net_persistence') == 'unified':
self.config = RunningConfig()
@@ -204,40 +206,40 @@
def getVdsStats(self):
result = self.vdscli.getVdsStats()
- return _parse_result(result, 'info')
+ return _parse_result(result, True)
def getAllVmStats(self):
result = self.vdscli.getAllVmStats()
- return _parse_result(result, 'statsList')
+ return _parse_result(result, True)
def getVmStats(self, vmId):
result = self.vdscli.getVmStats(vmId)
- if 'statsList' in result:
- code, msg, stats = _parse_result(result, 'statsList')
+ if 'result' in result:
+ code, msg, stats = _parse_result(result, True)
return code, msg, stats[0]
else:
return _parse_result(result)
def getVmList(self, vmId):
- result = self.vdscli.list('true', [vmId])
- code, msg, vm_list = _parse_result(result, 'vmList')
+ result = self.vdscli.fullList([vmId])
+ code, msg, vm_list = _parse_result(result, True)
return code, msg, vm_list[0]
def getVdsCapabilities(self):
result = self.vdscli.getVdsCapabilities()
- return _parse_result(result, 'info')
+ return _parse_result(result, True)
def updateVmPolicy(self, vmId, vcpuLimit):
result = self.vdscli.updateVmPolicy([vmId, vcpuLimit])
return _parse_result(result)
-def _parse_result(result, return_value=None):
+def _parse_result(result, return_value=False):
status = result['status']
code = status['code']
msg = status['message']
- if code == SUCCESS and return_value is not None:
- return code, msg, result[return_value]
+ if code == SUCCESS and return_value:
+ return code, msg, result['result']
else:
return code, msg
--
To view, visit https://gerrit.ovirt.org/45789
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaba1e2811f010e4509a658acef8040ad8f39cece
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Yeela Kaplan <ykaplan at redhat.com>
More information about the vdsm-patches
mailing list