From: Sage Weil Date: Thu, 1 Jun 2017 14:34:06 +0000 (-0400) Subject: qa/workunits/rest/test_mgr_rest_api.py: improvements X-Git-Tag: v12.1.0~213^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=1bf53c1fc81301bb44493e8ad8a2c4219717c69b;p=ceph.git qa/workunits/rest/test_mgr_rest_api.py: improvements Signed-off-by: Sage Weil --- diff --git a/qa/workunits/rest/test-restful.sh b/qa/workunits/rest/test-restful.sh new file mode 100755 index 0000000000000..7beec9fc6b971 --- /dev/null +++ b/qa/workunits/rest/test-restful.sh @@ -0,0 +1,16 @@ +#!/bin/sh -ex + +mydir=`dirname $0` + +secret=`ceph config-key get mgr/restful/keys/admin` +active=`ceph mgr dump | jq -r .active_name` +echo "active $active admin secret $secret" + +prefix="mgr/restful/$active" +addr=`ceph config-key get $prefix/server_addr` +port=`ceph config-key get $prefix/server_port` +url="https://$addr:$port" +echo "prefix $prefix url $url" +$mydir/test_mgr_rest_api.py $url $secret + +echo $0 OK diff --git a/qa/workunits/rest/test_mgr_rest_api.py b/qa/workunits/rest/test_mgr_rest_api.py old mode 100644 new mode 100755 index 5b181d0c88d4f..c3521b5166404 --- a/qa/workunits/rest/test_mgr_rest_api.py +++ b/qa/workunits/rest/test_mgr_rest_api.py @@ -9,20 +9,14 @@ from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning) if len(sys.argv) < 3: - print("Usage: %s " % sys.argv[0]) + print("Usage: %s " % sys.argv[0]) sys.exit(1) -host = sys.argv[1] -addr = 'https://' + host + ':8003' - +addr = sys.argv[1] auth = ('admin', sys.argv[2]) request = None -repeat = 1 -if len(sys.argv) > 2: - repeat = int(sys.argv[2]) - # Create a pool and get its id request = requests.post(addr + '/pool?wait=yes', json={'name': 'supertestfriends', 'pg_num': 128}, verify=False, auth=auth) print(request.text) @@ -30,6 +24,17 @@ request = requests.get(addr + '/pool', verify=False, auth=auth) assert(request.json()[-1]['pool_name'] == 'supertestfriends') pool_id = request.json()[-1]['pool'] +# get a mon name +request = requests.get(addr + '/mon', verify=False, auth=auth) +firstmon = request.json()[0]['name'] +print('first mon is %s' % firstmon) + +# get a server name +request = requests.get(addr + '/osd', verify=False, auth=auth) +aserver = request.json()[0]['server'] +print('a server is %s' % aserver) + + screenplay = [ ('get', '/', {}), ('get', '/config/cluster', {}), @@ -37,13 +42,13 @@ screenplay = [ ('get', '/crush/ruleset', {}), ('get', '/doc', {}), ('get', '/mon', {}), - ('get', '/mon/' + host, {}), + ('get', '/mon/' + firstmon, {}), ('get', '/osd', {}), ('get', '/osd/0', {}), ('get', '/osd/0/command', {}), ('get', '/pool/0', {}), ('get', '/server', {}), - ('get', '/server/' + host, {}), + ('get', '/server/' + aserver, {}), ('post', '/osd/0/command', {'command': 'scrub'}), ('post', '/pool?wait=1', {'name': 'supertestfriends', 'pg_num': 128}), ('patch', '/osd/0', {'in': False}), @@ -70,3 +75,5 @@ for method, endpoint, args in screenplay: if request.status_code != 200 or 'error' in request.json(): print('ERROR: %s request for URL "%s" failed' % (method, url)) sys.exit(1) + +print('OK')