]>
git.proxmox.com Git - ceph.git/blob - ceph/qa/workunits/rest/test_mgr_rest_api.py
8 # Do not show the stupid message about verify=False. ignore exceptions bc
9 # this doesn't work on some distros.
11 from requests
.packages
.urllib3
.exceptions
import InsecureRequestWarning
12 requests
.packages
.urllib3
.disable_warnings(category
=InsecureRequestWarning
)
17 print("Usage: %s <url> <admin_key>" % sys
.argv
[0])
21 auth
= ('admin', sys
.argv
[2])
22 headers
= {'Content-type': 'application/json'}
26 # Create a pool and get its id
27 request
= requests
.post(
28 addr
+ '/pool?wait=yes',
29 data
=json
.dumps({'name': 'supertestfriends', 'pg_num': 128}),
34 request
= requests
.get(addr
+ '/pool', verify
=False, auth
=auth
)
35 assert(request
.json()[-1]['pool_name'] == 'supertestfriends')
36 pool_id
= request
.json()[-1]['pool']
39 request
= requests
.get(addr
+ '/mon', verify
=False, auth
=auth
)
40 firstmon
= request
.json()[0]['name']
41 print('first mon is %s' % firstmon
)
44 request
= requests
.get(addr
+ '/osd', verify
=False, auth
=auth
)
45 aserver
= request
.json()[0]['server']
46 print('a server is %s' % aserver
)
51 ('get', '/config/cluster', {}),
52 ('get', '/crush/rule', {}),
55 ('get', '/mon/' + firstmon
, {}),
57 ('get', '/osd/0', {}),
58 ('get', '/osd/0/command', {}),
59 ('get', '/pool/1', {}),
60 ('get', '/server', {}),
61 ('get', '/server/' + aserver
, {}),
62 ('post', '/osd/0/command', {'command': 'scrub'}),
63 ('post', '/pool?wait=1', {'name': 'supertestfriends', 'pg_num': 128}),
64 ('patch', '/osd/0', {'in': False}),
65 ('patch', '/config/osd', {'pause': True}),
66 ('get', '/config/osd', {}),
67 ('patch', '/pool/' + str(pool_id
), {'size': 2}),
68 ('patch', '/config/osd', {'pause': False}),
69 ('patch', '/osd/0', {'in': True}),
71 ('delete', '/pool/' + str(pool_id
) + '?wait=1', {}),
72 ('get', '/request?page=0', {}),
73 ('delete', '/request', {}),
74 ('get', '/request', {}),
75 ('patch', '/pool/1', {'pg_num': 128}),
76 ('patch', '/pool/1', {'pgp_num': 128}),
79 for method
, endpoint
, args
in screenplay
:
85 request
= getattr(requests
, method
)(
87 data
=json
.dumps(args
),
92 if request
.status_code
!= 200 or 'error' in request
.json():
93 print('ERROR: %s request for URL "%s" failed' % (method
, url
))