Guest User

Untitled

a guest
May 22nd, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. #! /usr/bin/env python
  2.  
  3. import requests
  4. import time
  5. import sys
  6.  
  7. # Do not show the stupid message about verify=False
  8. from requests.packages.urllib3.exceptions import InsecureRequestWarning
  9. requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
  10.  
  11. if len(sys.argv) < 2:
  12. print("Usage: %s <node>" % sys.argv[0])
  13. sys.exit(1)
  14.  
  15. host = sys.argv[1]
  16. addr = 'https://' + host + ':8003'
  17.  
  18. auth = ('admin', 'd7c1d3d3-56df-4b3d-80b2-da4b98dd3097')
  19.  
  20. request = None
  21.  
  22. repeat = 1
  23. if len(sys.argv) > 2:
  24. repeat = int(sys.argv[2])
  25.  
  26. # Create a pool and get its id
  27. request = requests.post(addr + '/pool?wait=yes', json={'name': 'supertestfriends', 'pg_num': 128}, verify=False, auth=auth)
  28. print(request.text)
  29. request = requests.get(addr + '/pool', verify=False, auth=auth)
  30. assert(request.json()[-1]['pool_name'] == 'supertestfriends')
  31. pool_id = request.json()[-1]['pool']
  32.  
  33. screenplay = [
  34. ('get', '/', {}),
  35. ('get', '/config/cluster', {}),
  36. ('get', '/crush/rule', {}),
  37. ('get', '/crush/ruleset', {}),
  38. ('get', '/doc', {}),
  39. ('get', '/mon', {}),
  40. ('get', '/mon/' + host, {}),
  41. ('get', '/osd', {}),
  42. ('get', '/osd/0', {}),
  43. ('get', '/osd/0/command', {}),
  44. ('get', '/pool/0', {}),
  45. ('get', '/server', {}),
  46. ('get', '/server/' + host, {}),
  47. #('post', '/osd/0/command', {'command': 'scrub'}),
  48. ('post', '/pool?wait=yes', {'name': 'supertestfriends', 'pg_num': 128}),
  49. ('patch', '/osd/0', {'in': False}),
  50. ('patch', '/config/osd', {'pause': True}),
  51. ('get', '/config/osd', {}),
  52. ('patch', '/pool/' + str(pool_id), {'size': 2}),
  53. ('patch', '/config/osd', {'pause': False}),
  54. ('patch', '/osd/0', {'in': True}),
  55. ('get', '/pool', {}),
  56. ('delete', '/pool/' + str(pool_id) + '?wait=1', {}),
  57. ('get', '/request?page=0', {}),
  58. ('delete', '/request', {}),
  59. ('get', '/request', {}),
  60. ]
  61.  
  62. for method, endpoint, args in screenplay:
  63. if method == 'sleep':
  64. time.sleep(endpoint)
  65. continue
  66. url = addr + endpoint
  67. print("URL = " + url)
  68. request = getattr(requests, method)(url, json=args, verify=False, auth=auth)
  69. print(request.text)
  70. if request.status_code != 200 or 'error' in request.json():
  71. print('ERROR: %s request for URL "%s" failed' % (method, url))
  72. sys.exit(1)
Add Comment
Please, Sign In to add comment