teuthology 1.1.0__py3-none-any.whl → 1.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. scripts/describe.py +1 -0
  2. scripts/dispatcher.py +55 -26
  3. scripts/exporter.py +18 -0
  4. scripts/lock.py +1 -1
  5. scripts/node_cleanup.py +58 -0
  6. scripts/openstack.py +9 -9
  7. scripts/results.py +12 -11
  8. scripts/schedule.py +4 -0
  9. scripts/suite.py +57 -16
  10. scripts/supervisor.py +44 -0
  11. scripts/update_inventory.py +10 -4
  12. teuthology/__init__.py +24 -26
  13. teuthology/beanstalk.py +4 -3
  14. teuthology/config.py +16 -6
  15. teuthology/contextutil.py +18 -14
  16. teuthology/describe_tests.py +25 -18
  17. teuthology/dispatcher/__init__.py +210 -35
  18. teuthology/dispatcher/supervisor.py +140 -58
  19. teuthology/exceptions.py +43 -0
  20. teuthology/exporter.py +347 -0
  21. teuthology/kill.py +76 -81
  22. teuthology/lock/cli.py +3 -3
  23. teuthology/lock/ops.py +135 -61
  24. teuthology/lock/query.py +61 -44
  25. teuthology/ls.py +1 -1
  26. teuthology/misc.py +61 -75
  27. teuthology/nuke/__init__.py +12 -353
  28. teuthology/openstack/__init__.py +4 -3
  29. teuthology/openstack/openstack-centos-7.0-user-data.txt +1 -1
  30. teuthology/openstack/openstack-centos-7.1-user-data.txt +1 -1
  31. teuthology/openstack/openstack-centos-7.2-user-data.txt +1 -1
  32. teuthology/openstack/openstack-debian-8.0-user-data.txt +1 -1
  33. teuthology/openstack/openstack-opensuse-42.1-user-data.txt +1 -1
  34. teuthology/openstack/openstack-teuthology.cron +0 -1
  35. teuthology/orchestra/cluster.py +49 -7
  36. teuthology/orchestra/connection.py +17 -4
  37. teuthology/orchestra/console.py +111 -50
  38. teuthology/orchestra/daemon/cephadmunit.py +15 -2
  39. teuthology/orchestra/daemon/state.py +8 -1
  40. teuthology/orchestra/daemon/systemd.py +4 -4
  41. teuthology/orchestra/opsys.py +30 -11
  42. teuthology/orchestra/remote.py +405 -338
  43. teuthology/orchestra/run.py +3 -3
  44. teuthology/packaging.py +19 -16
  45. teuthology/provision/__init__.py +30 -10
  46. teuthology/provision/cloud/openstack.py +12 -6
  47. teuthology/provision/cloud/util.py +1 -2
  48. teuthology/provision/downburst.py +4 -3
  49. teuthology/provision/fog.py +68 -20
  50. teuthology/provision/openstack.py +5 -4
  51. teuthology/provision/pelagos.py +1 -1
  52. teuthology/repo_utils.py +43 -13
  53. teuthology/report.py +57 -35
  54. teuthology/results.py +5 -3
  55. teuthology/run.py +13 -14
  56. teuthology/run_tasks.py +27 -43
  57. teuthology/schedule.py +4 -3
  58. teuthology/scrape.py +28 -22
  59. teuthology/suite/__init__.py +74 -45
  60. teuthology/suite/build_matrix.py +34 -24
  61. teuthology/suite/fragment-merge.lua +105 -0
  62. teuthology/suite/matrix.py +31 -2
  63. teuthology/suite/merge.py +175 -0
  64. teuthology/suite/placeholder.py +6 -9
  65. teuthology/suite/run.py +175 -100
  66. teuthology/suite/util.py +64 -218
  67. teuthology/task/__init__.py +1 -1
  68. teuthology/task/ansible.py +101 -32
  69. teuthology/task/buildpackages.py +2 -2
  70. teuthology/task/ceph_ansible.py +13 -6
  71. teuthology/task/cephmetrics.py +2 -1
  72. teuthology/task/clock.py +33 -14
  73. teuthology/task/exec.py +18 -0
  74. teuthology/task/hadoop.py +2 -2
  75. teuthology/task/install/__init__.py +29 -7
  76. teuthology/task/install/bin/adjust-ulimits +16 -0
  77. teuthology/task/install/bin/daemon-helper +114 -0
  78. teuthology/task/install/bin/stdin-killer +263 -0
  79. teuthology/task/install/deb.py +1 -1
  80. teuthology/task/install/rpm.py +17 -5
  81. teuthology/task/install/util.py +3 -3
  82. teuthology/task/internal/__init__.py +41 -10
  83. teuthology/task/internal/edit_sudoers.sh +10 -0
  84. teuthology/task/internal/lock_machines.py +2 -9
  85. teuthology/task/internal/redhat.py +31 -1
  86. teuthology/task/internal/syslog.py +31 -8
  87. teuthology/task/kernel.py +152 -145
  88. teuthology/task/lockfile.py +1 -1
  89. teuthology/task/mpi.py +10 -10
  90. teuthology/task/pcp.py +1 -1
  91. teuthology/task/selinux.py +16 -8
  92. teuthology/task/ssh_keys.py +4 -4
  93. teuthology/timer.py +3 -3
  94. teuthology/util/loggerfile.py +19 -0
  95. teuthology/util/scanner.py +159 -0
  96. teuthology/util/sentry.py +52 -0
  97. teuthology/util/time.py +52 -0
  98. teuthology-1.2.1.data/scripts/adjust-ulimits +16 -0
  99. teuthology-1.2.1.data/scripts/daemon-helper +114 -0
  100. teuthology-1.2.1.data/scripts/stdin-killer +263 -0
  101. teuthology-1.2.1.dist-info/METADATA +88 -0
  102. teuthology-1.2.1.dist-info/RECORD +168 -0
  103. {teuthology-1.1.0.dist-info → teuthology-1.2.1.dist-info}/WHEEL +1 -1
  104. {teuthology-1.1.0.dist-info → teuthology-1.2.1.dist-info}/entry_points.txt +3 -2
  105. scripts/nuke.py +0 -47
  106. scripts/worker.py +0 -37
  107. teuthology/lock/test/__init__.py +0 -0
  108. teuthology/lock/test/test_lock.py +0 -7
  109. teuthology/nuke/actions.py +0 -456
  110. teuthology/openstack/test/__init__.py +0 -0
  111. teuthology/openstack/test/openstack-integration.py +0 -286
  112. teuthology/openstack/test/test_config.py +0 -35
  113. teuthology/openstack/test/test_openstack.py +0 -1695
  114. teuthology/orchestra/test/__init__.py +0 -0
  115. teuthology/orchestra/test/integration/__init__.py +0 -0
  116. teuthology/orchestra/test/integration/test_integration.py +0 -94
  117. teuthology/orchestra/test/test_cluster.py +0 -240
  118. teuthology/orchestra/test/test_connection.py +0 -106
  119. teuthology/orchestra/test/test_console.py +0 -217
  120. teuthology/orchestra/test/test_opsys.py +0 -404
  121. teuthology/orchestra/test/test_remote.py +0 -185
  122. teuthology/orchestra/test/test_run.py +0 -286
  123. teuthology/orchestra/test/test_systemd.py +0 -54
  124. teuthology/orchestra/test/util.py +0 -12
  125. teuthology/task/tests/__init__.py +0 -110
  126. teuthology/task/tests/test_locking.py +0 -25
  127. teuthology/task/tests/test_run.py +0 -40
  128. teuthology/test/__init__.py +0 -0
  129. teuthology/test/fake_archive.py +0 -107
  130. teuthology/test/fake_fs.py +0 -92
  131. teuthology/test/integration/__init__.py +0 -0
  132. teuthology/test/integration/test_suite.py +0 -86
  133. teuthology/test/task/__init__.py +0 -205
  134. teuthology/test/task/test_ansible.py +0 -624
  135. teuthology/test/task/test_ceph_ansible.py +0 -176
  136. teuthology/test/task/test_console_log.py +0 -88
  137. teuthology/test/task/test_install.py +0 -337
  138. teuthology/test/task/test_internal.py +0 -57
  139. teuthology/test/task/test_kernel.py +0 -243
  140. teuthology/test/task/test_pcp.py +0 -379
  141. teuthology/test/task/test_selinux.py +0 -35
  142. teuthology/test/test_config.py +0 -189
  143. teuthology/test/test_contextutil.py +0 -68
  144. teuthology/test/test_describe_tests.py +0 -316
  145. teuthology/test/test_email_sleep_before_teardown.py +0 -81
  146. teuthology/test/test_exit.py +0 -97
  147. teuthology/test/test_get_distro.py +0 -47
  148. teuthology/test/test_get_distro_version.py +0 -47
  149. teuthology/test/test_get_multi_machine_types.py +0 -27
  150. teuthology/test/test_job_status.py +0 -60
  151. teuthology/test/test_ls.py +0 -48
  152. teuthology/test/test_misc.py +0 -391
  153. teuthology/test/test_nuke.py +0 -290
  154. teuthology/test/test_packaging.py +0 -763
  155. teuthology/test/test_parallel.py +0 -28
  156. teuthology/test/test_repo_utils.py +0 -225
  157. teuthology/test/test_report.py +0 -77
  158. teuthology/test/test_results.py +0 -155
  159. teuthology/test/test_run.py +0 -239
  160. teuthology/test/test_safepath.py +0 -55
  161. teuthology/test/test_schedule.py +0 -45
  162. teuthology/test/test_scrape.py +0 -167
  163. teuthology/test/test_timer.py +0 -80
  164. teuthology/test/test_vps_os_vers_parameter_checking.py +0 -84
  165. teuthology/test/test_worker.py +0 -303
  166. teuthology/worker.py +0 -354
  167. teuthology-1.1.0.dist-info/METADATA +0 -76
  168. teuthology-1.1.0.dist-info/RECORD +0 -213
  169. {teuthology-1.1.0.dist-info → teuthology-1.2.1.dist-info}/LICENSE +0 -0
  170. {teuthology-1.1.0.dist-info → teuthology-1.2.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.1
2
+ Name: teuthology
3
+ Version: 1.2.1
4
+ Summary: Ceph test framework
5
+ Home-page: https://github.com/ceph/teuthology
6
+ Author: Red Hat, Inc.
7
+ License: MIT
8
+ Keywords: teuthology,test,ceph,cluster
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Natural Language :: English
12
+ Classifier: Operating System :: POSIX :: Linux
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: Implementation :: CPython
19
+ Classifier: Topic :: Software Development :: Quality Assurance
20
+ Classifier: Topic :: Software Development :: Testing
21
+ Classifier: Topic :: System :: Distributed Computing
22
+ Classifier: Topic :: System :: Filesystems
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/x-rst
25
+ License-File: LICENSE
26
+ Requires-Dist: PyYAML
27
+ Requires-Dist: ansible-core==2.16.6
28
+ Requires-Dist: apache-libcloud
29
+ Requires-Dist: backports.ssl-match-hostname
30
+ Requires-Dist: beanstalkc3>=0.4.0
31
+ Requires-Dist: configobj
32
+ Requires-Dist: configparser
33
+ Requires-Dist: docopt
34
+ Requires-Dist: gevent
35
+ Requires-Dist: httplib2
36
+ Requires-Dist: humanfriendly
37
+ Requires-Dist: lupa
38
+ Requires-Dist: lxml
39
+ Requires-Dist: ndg-httpsclient
40
+ Requires-Dist: netaddr
41
+ Requires-Dist: paramiko
42
+ Requires-Dist: pexpect
43
+ Requires-Dist: pip-tools
44
+ Requires-Dist: prettytable
45
+ Requires-Dist: prometheus-client>=0.16.0
46
+ Requires-Dist: psutil>=2.1.0
47
+ Requires-Dist: pyasn1
48
+ Requires-Dist: pynacl>=1.5.0
49
+ Requires-Dist: pyopenssl>=0.13
50
+ Requires-Dist: python-dateutil
51
+ Requires-Dist: requests>2.13.0
52
+ Requires-Dist: sentry-sdk
53
+ Requires-Dist: types-psutil
54
+ Requires-Dist: urllib3<1.27,>=1.25.4
55
+ Provides-Extra: manhole
56
+ Requires-Dist: manhole; extra == "manhole"
57
+ Provides-Extra: openstack
58
+ Requires-Dist: python-openstackclient; extra == "openstack"
59
+ Requires-Dist: python-novaclient; extra == "openstack"
60
+ Provides-Extra: rocketchat
61
+ Requires-Dist: rocket-python>=1.2.15; extra == "rocketchat"
62
+ Provides-Extra: sentry
63
+ Requires-Dist: sentry-sdk; extra == "sentry"
64
+ Provides-Extra: test
65
+ Requires-Dist: PyJWT; extra == "test"
66
+ Requires-Dist: boto>=2.0b4; extra == "test"
67
+ Requires-Dist: boto3; extra == "test"
68
+ Requires-Dist: coverage; extra == "test"
69
+ Requires-Dist: ipy; extra == "test"
70
+ Requires-Dist: mock; extra == "test"
71
+ Requires-Dist: pynose; extra == "test"
72
+ Requires-Dist: pytest; extra == "test"
73
+ Requires-Dist: pytest-cov; extra == "test"
74
+ Requires-Dist: toml; extra == "test"
75
+ Requires-Dist: tox; extra == "test"
76
+ Requires-Dist: xmltodict; extra == "test"
77
+
78
+ ===================================================
79
+ `Teuthology` -- The Ceph integration test framework
80
+ ===================================================
81
+
82
+
83
+ Welcome! Teuthology's documentation is primarily hosted at `docs.ceph.com
84
+ <https://docs.ceph.com/projects/teuthology/>`__.
85
+
86
+ You can also look at docs `inside this repository <docs/>`__, but note that
87
+ GitHub's `RST <http://docutils.sourceforge.net/rst.html>`__ rendering is quite
88
+ limited. Mainly that means that links between documents will be broken.
@@ -0,0 +1,168 @@
1
+ scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ scripts/describe.py,sha256=F5mRBGzNvINwz6g_8Rc2En1S8Ty67zGYoDqz0Jov6t4,3766
3
+ scripts/dispatcher.py,sha256=A4v0lYjBcnlXcw6173FcFsqZ5_FIc3tA1uwFDTLsNc0,1716
4
+ scripts/exporter.py,sha256=gp7PjO9xLXIuElRiAbKUNxZd2D70j0WgirHHgfInQ_Q,423
5
+ scripts/kill.py,sha256=EvkEA8_60WfCyvifVyaqYlVJfFRJxSoM0iTmUnXXHR8,1662
6
+ scripts/lock.py,sha256=E0J6HP-Y7aw9mHSM9LbS3CpzDz-tiTeDB0rFmkx4bJw,5222
7
+ scripts/ls.py,sha256=3-mobC_B9WpsSx0Oa6hf-bjEx1N-BAU_jgNGFLQgtYE,393
8
+ scripts/node_cleanup.py,sha256=Z3R124H4RM5dQamMo32TIEbygYuExVuVtWZzr_3KFaY,1722
9
+ scripts/openstack.py,sha256=T8lHFiy41Ja3hFgu4hn0oFzX3JlBVReUAUzZd-gRjfU,13127
10
+ scripts/prune_logs.py,sha256=VL5yXKMBqGHtpkEQ7p4yCaNuAMrmifnCRUA_aRUW3hM,1377
11
+ scripts/queue.py,sha256=JAusXNUem4X-rnZ8cqHsfndBqzjKsmB5J05KvaxOpUw,1175
12
+ scripts/reimage.py,sha256=HFqQGBBBPGthCINk5ieBRaO1JheNIY4A0MuflWjVjYo,912
13
+ scripts/report.py,sha256=OaF7lQzxx7bwvrXEDhoLANzULGuvIUtEHIRgoxHjImE,1704
14
+ scripts/results.py,sha256=I13-JfHdPLEc0Hb6rJ9TdppNEG8t5LnkhAbFbpWTXOc,989
15
+ scripts/run.py,sha256=Hk4mJ_ECG8Det-vQue5zizUWZMPaWHVpwd3JN28Gl3Y,1516
16
+ scripts/schedule.py,sha256=2KKIdUCDmSqzQnnQ3ubyPvpNCxFAYb53_08J9h4K6Xs,2965
17
+ scripts/suite.py,sha256=e8UuFhtMfrBxjJU3V5IJ7Gy3lX-e2xggjjzLL_5w0Lc,14263
18
+ scripts/supervisor.py,sha256=yoMUfoEioh73IpTN9DjUCSYHWvIGuCxp7ubj73lbIWU,973
19
+ scripts/update_inventory.py,sha256=3DnKrLCRlje44xkLNX1X1Cvkqs4FiWKLZj20ouGxNB8,1272
20
+ scripts/updatekeys.py,sha256=JKrf8md1pW_R91yN51vGXtUJqs9bWCXshqaFFBRwNFI,859
21
+ scripts/wait.py,sha256=YtJ3rXb8sIUl1ojtzadjD3TE-YXRdOtkFXlJAmEh1IU,728
22
+ teuthology/__init__.py,sha256=3FCURFJNxbR5hQsdEtq-QMR2iObe2JIWn8ERty2QkuQ,3816
23
+ teuthology/beanstalk.py,sha256=glA75hY8j3nQVn8T9DbQBHCQfoVDhpdNLgGHZywDYzM,6308
24
+ teuthology/config.py,sha256=DCXMPkHnjo8iRL7ul7VxsGcXIixYyWxet1b75EeJCQI,8933
25
+ teuthology/contextutil.py,sha256=GhtTPbl8McNmCrlovQ79G-fjgUTxnQQjYLVSj6FpBU8,5242
26
+ teuthology/describe_tests.py,sha256=R0Wjern-RaUohYoIMy6q5ZHe2JZfSUZWJy4-DZoG0yA,12654
27
+ teuthology/exceptions.py,sha256=afFFYIb54lu7a-dTICr7_3v_qANY4ixyjYrjlGN0Cyk,5858
28
+ teuthology/exit.py,sha256=zBX_kBqqm3qp-lB-zPj5ZcDTdV_FmYeifEL7Z7u-9F8,1983
29
+ teuthology/exporter.py,sha256=Vnk4f85C0xhae4OjdeibbzyXEG41coSLLfNmvHz5428,9855
30
+ teuthology/job_status.py,sha256=3CWkKOFvRtqj_xYnRBeth-RYidKynum4Qcdu-HVuv_4,975
31
+ teuthology/kill.py,sha256=161h7ne1-aYpUAXzUE4aNPSKT1PSgZWPJCy_S1YPoSw,8601
32
+ teuthology/ls.py,sha256=dyWawq4aJHrgxaWnq4J1iG4VMx7Kk_By8mZd5vAV0ws,1993
33
+ teuthology/misc.py,sha256=t4innjQJnyRx1vHiS5sG_pRc-r39R4TYqCjPwcWiAHE,41667
34
+ teuthology/packaging.py,sha256=Q_x2aXy3RJ19iJc4WszMfpXaSeKa44EOvuZXAiT15Dc,35566
35
+ teuthology/parallel.py,sha256=x4q5Fr4iLn52usjJBkI0EbGSpD9JI6AXItvuf7sBgBg,2890
36
+ teuthology/prune.py,sha256=vRxHf-yQ1bkNu6TsFUzeapdTR2C7kUQcCHBEuL8rnRc,7345
37
+ teuthology/reimage.py,sha256=rIe4PfA6uF3vAEWpyQUxfVFLP8ueAw4CtJFLsw9Ymls,1904
38
+ teuthology/repo_utils.py,sha256=p9h9hC4PeIJvTQ9nihH0flau3PNOPIZfebUIDV80-mM,16355
39
+ teuthology/report.py,sha256=hxj5w28HW938QFnLGWFcSZ1Kzn8f56khRJAKTCBMAPw,20475
40
+ teuthology/results.py,sha256=-myx_dTehDV0D48l26U5oywEAMsaqtEaWlMkjfCkeqA,8588
41
+ teuthology/run.py,sha256=SMUvS-E4BcFmVBaW1npaMLZLe2Edyy5r7dmxoZyy2rg,13280
42
+ teuthology/run_tasks.py,sha256=VcGK7WEWelg6iE0rJ8il8TyHzS75Kpu4tSeDLP17EYA,12472
43
+ teuthology/safepath.py,sha256=AvzzYmXIySHdz9mEVSQU1UnTV6lni3yTe_XKv-nXPSY,1226
44
+ teuthology/schedule.py,sha256=8IFkDi191gD8HGjnjcu8RGTUtKN84p1p_GDiyfbelpc,4712
45
+ teuthology/scrape.py,sha256=8r0yLnVTNb8aIrvi_HL0O_vmdh8SiPI5NU8xXZnx1p8,17503
46
+ teuthology/timer.py,sha256=_FxgyNvAJhL60PIdnZevufUjp0K0A_Te1wf61VdNsSo,3468
47
+ teuthology/dispatcher/__init__.py,sha256=XfhkKgnfQ92xr8a864N8Y5H50sz0flcqPeoZcRfCYGA,12438
48
+ teuthology/dispatcher/supervisor.py,sha256=fFrhzoyYBzNmGFSoxXhFDPajTcNYIXbMgiKobUfhRgo,13914
49
+ teuthology/lock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ teuthology/lock/cli.py,sha256=byhxaW-ZjxKXzy9oyULGj81PfpmCC3J2ADCT1xRrHJc,11933
51
+ teuthology/lock/ops.py,sha256=rJlT6N6FGmq1LBxpBEmUL4J7z5ngww6367bnXif-wcQ,19830
52
+ teuthology/lock/query.py,sha256=JOrd7JWTV3dMuwwv03kHHnpl6XdMUkES2XpDhBDctME,5444
53
+ teuthology/lock/util.py,sha256=nI7AAazV7aspr_s_jblVhDt6BuJxbBawN1IY755ngpA,3719
54
+ teuthology/nuke/__init__.py,sha256=qlnMNKy3ULSuJhq9NO9PaUrFn7Gv35HmZlMWOCHfykk,619
55
+ teuthology/openstack/__init__.py,sha256=WYvHVgzuZGpOPbMNVhf1yHZGWUBN8rzmFsMN2WH9bgA,54841
56
+ teuthology/openstack/archive-key,sha256=x_4TjSfktzupIuRYnJA8vwFj6jspXGNVR_8YvajZBtU,1675
57
+ teuthology/openstack/archive-key.pub,sha256=k0jel1IFoPHxamhXEqkhcA2n_czoQLZeCMn_N-onbqY,391
58
+ teuthology/openstack/openstack-centos-6.5-user-data.txt,sha256=MAXQr7PH2sQmx9EUr9XdmEcnhlN7L0e0LEdL7LlnF-Q,1201
59
+ teuthology/openstack/openstack-centos-7.0-user-data.txt,sha256=7VXym5dYeFZezg-tL8p3tDVXlQfpe0m_s_9Yk4S8RHw,976
60
+ teuthology/openstack/openstack-centos-7.1-user-data.txt,sha256=7VXym5dYeFZezg-tL8p3tDVXlQfpe0m_s_9Yk4S8RHw,976
61
+ teuthology/openstack/openstack-centos-7.2-user-data.txt,sha256=7VXym5dYeFZezg-tL8p3tDVXlQfpe0m_s_9Yk4S8RHw,976
62
+ teuthology/openstack/openstack-debian-8.0-user-data.txt,sha256=4QEpSN0MCbpX0IiAVI8M6iCX4qJeGvovf8y6bdPWTsQ,1196
63
+ teuthology/openstack/openstack-opensuse-42.1-user-data.txt,sha256=46AEY9lc26_0gSM1V1Ol33urSo_P8PwgYvYaamP3SL8,1820
64
+ teuthology/openstack/openstack-teuthology.cron,sha256=yM82EMLyjuciwj_evQU97IOTjRua0JdBHl0z2pejEVs,16
65
+ teuthology/openstack/openstack-teuthology.init,sha256=jjARL833tMT6RmbrrGCkitpc9NK4VSEV_2eHKVm1_ZI,7539
66
+ teuthology/openstack/openstack-ubuntu-12.04-user-data.txt,sha256=poTBKswDTm98VjXHnNLlO5p2OuLBWp5aKivM52yKxvU,988
67
+ teuthology/openstack/openstack-ubuntu-14.04-user-data.txt,sha256=Cko6ek8dU0VXXFD-HVYj179UZTzUu4ZGjze3DDJSz5w,905
68
+ teuthology/openstack/openstack-user-data.txt,sha256=lyzGBNI0hPury7DSsgqEyUfkc0GVyw6uHdKkZrg_5Wc,1024
69
+ teuthology/openstack/setup-openstack.sh,sha256=OYzY9Koy0iHun5aUMwL8VM_rpXxiMpD_BvNNS0hPR-Y,24471
70
+ teuthology/orchestra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
+ teuthology/orchestra/cluster.py,sha256=o46Q1L05YKWNB5szNMfZU8l0X8ndqXWU7tDrBlIgjB0,6697
72
+ teuthology/orchestra/connection.py,sha256=OFb8ahpg0e04ICijevnhut_ckN0Ls7oQxhVXQt-p90Q,4078
73
+ teuthology/orchestra/console.py,sha256=DVW2T3F0_Kcm1KyjIu05ngj8c3v5WxScJeH3fZtr81k,15718
74
+ teuthology/orchestra/monkey.py,sha256=YtwEnrQyEOEJG2_oozzDmnfsB33jeAmtzvsxEbnLkfA,1385
75
+ teuthology/orchestra/opsys.py,sha256=TXScUAkQQdcmf4GPI_seubsiCvHi4P_SK1FXGzCP7Us,7102
76
+ teuthology/orchestra/remote.py,sha256=C7wNVW9PtugUOy3Y-8I_llhRIdZnN_Msy9CgjU4-bak,25656
77
+ teuthology/orchestra/run.py,sha256=TVyeWBPMJw3egUIVQILEgI0JunvjI0z5KN-hN_k4R4U,16180
78
+ teuthology/orchestra/daemon/__init__.py,sha256=gB0iOtyIROajsYE-UTT-unCnLxkeyYJxLQ7u2bqoaxk,66
79
+ teuthology/orchestra/daemon/cephadmunit.py,sha256=C_k3T__3CXK4zCctega5C16_oyzXWJIyPIYlOHTR6s8,6133
80
+ teuthology/orchestra/daemon/group.py,sha256=ydMrCtJYFc2rIa1YUVdFS2UZ3exBkTvpPq8LCojxA7M,7625
81
+ teuthology/orchestra/daemon/state.py,sha256=MdzAgBf0HubzuFP33v8UGMfhwuVYboS9W0z41bKp3sk,5598
82
+ teuthology/orchestra/daemon/systemd.py,sha256=InMxghFVqKa26DkX14Io-SW1XWTm1G8OfPEx0eUbzAU,7529
83
+ teuthology/provision/__init__.py,sha256=SBofH0pLmuP3Omlz-Y1t446ye29c319Ru2m5uL-zXJc,4859
84
+ teuthology/provision/downburst.py,sha256=hYguICUaftgeXYqyPGrIBOyeCBtJIjKDTghJdrr4V6k,12512
85
+ teuthology/provision/fog.py,sha256=x0gRxY-Gc6ARBx69gF5Ik1uGSLD2bQLiiaPD__9QRKE,12835
86
+ teuthology/provision/openstack.py,sha256=aXFYQMAuSwi2obVWtdMP8OfN7_e_xF0bxBe4L0rcxpo,9589
87
+ teuthology/provision/pelagos.py,sha256=1yEE1nn3n8qdCvBoF08TvfyWkT3evXoqI4yUo19vVXA,6267
88
+ teuthology/provision/cloud/__init__.py,sha256=7MkeRHOFGqZcZbDElEK9ImHAvX_v3tmr7whpCq5WqEo,1274
89
+ teuthology/provision/cloud/base.py,sha256=eplTh55CAVG367EC3aoieUOZpMsaYP4bLDFPNcRTN-w,2475
90
+ teuthology/provision/cloud/openstack.py,sha256=FlM1Q1oA69NsU4-LXYUB5HzZEAuLJmpePKnwyjUy6nU,15481
91
+ teuthology/provision/cloud/util.py,sha256=tY3RyRLPhc0WL7yguqIlVHw6MigLSClRUrFGyRv--jA,3469
92
+ teuthology/suite/__init__.py,sha256=Q6g2Al575h7b4LSJpZSxP8Ntiv1szhBf7ObpvKtwsmo,9003
93
+ teuthology/suite/build_matrix.py,sha256=1Ng0AY3sqjFit_K0po5YZZv0BVi4iqASZX5Ds5OzZ9Y,7432
94
+ teuthology/suite/fragment-merge.lua,sha256=nO5ER2ByU5euLfPsogj2OtKwa6YJNTgQ7h-Z9Sb8pmQ,2701
95
+ teuthology/suite/matrix.py,sha256=JhHk1ZPWUIdSYewQlsqsqMsvlwJTrNSjO4sqdXxQQg4,11468
96
+ teuthology/suite/merge.py,sha256=W1Ija2YX7IhEohXHDvpnUh-XhPnB_u0VH4ML6TF8s1I,6381
97
+ teuthology/suite/placeholder.py,sha256=KGjq2WhfwUK_485rsZhrU3IDgwHohgDdRUA6V0fFfQ8,3652
98
+ teuthology/suite/run.py,sha256=5velqtl8CSqiSEMfyHVlkDBUADVdRc6hgpILntSBG2k,29856
99
+ teuthology/suite/util.py,sha256=JVOvl1dniRejoco92Nl4TDnuctjqNRVjxoZfNytGhok,12753
100
+ teuthology/task/__init__.py,sha256=wkcn1hCM9W805s6_3u0F2YAagW1qbAlx5fNaCrXOBp0,4723
101
+ teuthology/task/ansible.py,sha256=O3y8T9gFyCWfTf6H9FcpFvJwkoOH7hTSNQuOI_9OQV4,18716
102
+ teuthology/task/args.py,sha256=JUw2nCCEz4pUdEJT03l_PLHSJhV3bVBIEOOtkahapRY,1731
103
+ teuthology/task/background_exec.py,sha256=SY3CIRu2Q1lfC9iU6fSKgaR8v6Nw-ZjhYYCdsUaUl10,1908
104
+ teuthology/task/buildpackages.py,sha256=lz9WCUu727tuHqaGo07yLLK07FUEogN3IvX56ApjrVw,8511
105
+ teuthology/task/ceph_ansible.py,sha256=GRRsd91UEOEQq6mUnexXk52qdmBVfGCQuLjTwj16ms0,18401
106
+ teuthology/task/cephmetrics.py,sha256=jnVxAIaieJ_8mJci8QTI9Q7eh5HlVVGNTQPguOV8ZSg,3342
107
+ teuthology/task/clock.py,sha256=oX_fi_K-NYro6TCEEt2SFQddXXuwjrsbCjbcL5HrQPk,3336
108
+ teuthology/task/common_fs_utils.py,sha256=U3EkQn_k19Qd25xSsiF7FKzmot8ZQox_8V5s8tah1N0,3511
109
+ teuthology/task/console_log.py,sha256=7EL6EnPAHvqhMhAvVePuLrB6U7dYtN4SJpS4sQcd6PE,3571
110
+ teuthology/task/dump_ctx.py,sha256=xuygm6guySEhBNbO_YDCujGr0S5TjdH5tYdd7Bzc-_k,598
111
+ teuthology/task/exec.py,sha256=sSdDeU0lM1IWfd8zV4gUi3dqY9V6ByNBjK41UseX4T0,2339
112
+ teuthology/task/full_sequential.py,sha256=PtCeZ_T4ctdYJcw53QfBK4VTQLTuk9c2BIkypn0i9PE,995
113
+ teuthology/task/full_sequential_finally.py,sha256=C1sXt1n1JM4S6RChZu6pjahpsHAKVsJ0QeA0KXGb-Dc,1501
114
+ teuthology/task/hadoop.py,sha256=nS_raErpq8PMRgXCoHZfJkOTSuk1eH6mIU3npmkcmq0,12817
115
+ teuthology/task/interactive.py,sha256=BRhp2vkm_2YcZTSn-oBjFto32-jJ9Edw0gWUPYfKVrM,974
116
+ teuthology/task/iscsi.py,sha256=jjAYmzmvbXkAzZ0XmBZwy6ZuImSDZGBlRsTtfkiwRvA,5580
117
+ teuthology/task/kernel.py,sha256=AOtTF-P54WatlkRdUhYm3rOxLWYPTjEZrt-B9p3e3c4,49454
118
+ teuthology/task/knfsd.py,sha256=ZmCdqnE0oHp1T3bOLJerJjhx7FOlsGcKOWm2QgbKvf4,5395
119
+ teuthology/task/localdir.py,sha256=uFJ7nvQBgbe3oW2fmFFldwrGN8C8H5vhOPNGAmH2zyQ,1620
120
+ teuthology/task/lockfile.py,sha256=sx_MRVUu7Aqi0InY8sRO34DLOPRxGwoumsoKD7s9gA8,9002
121
+ teuthology/task/loop.py,sha256=lkIkyq2W9UF9tECjJIjue7UeBm6eNqfOkwoiTDE8Mno,1175
122
+ teuthology/task/mpi.py,sha256=VC6GguIYTsnK0XVbLHd-Mm3nIxfi0frnv8MfhChlqkc,4432
123
+ teuthology/task/nfs.py,sha256=_CBXye-EjycfLGuWZKGvnv13Mdosl_aoR_mLb5XRS2M,4415
124
+ teuthology/task/nop.py,sha256=q4VyyPEs1mgZl3vtoMCMa2Ch4fxRZm6ERnEgZ3nC9EA,144
125
+ teuthology/task/parallel.py,sha256=w-v-d2NLFPV4vIuQ82hwngxh7yPb-82wvW5a2n4UuxA,2033
126
+ teuthology/task/parallel_example.py,sha256=aGmxQ2yklQQJ_63tNgm8xwbbk_2--zOHaSnKnbhBWgo,2461
127
+ teuthology/task/pcp.py,sha256=3gRiJvMAq2y5vgGDML0wFv-SiQcqzjakF3shHWOUqU0,10824
128
+ teuthology/task/pexec.py,sha256=oQIcVybe0yAtjtU--T-Zj9o2ZxcoqiBnA_FnMRsjW84,4250
129
+ teuthology/task/print.py,sha256=CDNGUKWIXkUvrg1abxVgYVSS2Eo_ZyVKx0bxIjPY-40,561
130
+ teuthology/task/proc_thrasher.py,sha256=Gc6YuUdpcA8RBYBCyCvgli3GCMbM6gBHWrpSA_Gaw1g,2404
131
+ teuthology/task/selinux.py,sha256=2U4QOi3xKaaTe_F2tkobX8Ys9-j5PS7rhNmklh1HtDg,7946
132
+ teuthology/task/sequential.py,sha256=fQHo7nAYN49H42pUweC6As2jHC6ar_OErLmlFMXUAMg,1344
133
+ teuthology/task/sleep.py,sha256=V-SBHuyhGJR3MgtdTELE8fMTBYr5DTHKdt8s2nyup2M,547
134
+ teuthology/task/ssh_keys.py,sha256=wjFedu0dIKqIk_Hu4R816yLVtzWoqbDWxfejV0b9v58,6577
135
+ teuthology/task/tasktest.py,sha256=yrhIPAK1rpAa3kzqHfvzdOyM8vxkoPvLA8UbyqBxA7Y,1477
136
+ teuthology/task/timer.py,sha256=EsRwXAVofdAez6mpP7TO5A7lCVQU2nAZ3mXS-oDYn3c,1260
137
+ teuthology/task/install/__init__.py,sha256=tTt1DLv24i1E1pah_hU3mb3cmS-2o8HTp1L7WT_Soys,21237
138
+ teuthology/task/install/deb.py,sha256=wMYfaOZ5Jf36CzGmb3jTM94BMv5l15iiH8b3_DeKeHg,7442
139
+ teuthology/task/install/redhat.py,sha256=XVVS4BP3hy2q2URs9-d4fOwNO9K7nvnTlS1XT2oVuO4,7871
140
+ teuthology/task/install/rpm.py,sha256=ecLj7mQ_v4--vHTwjsx14J2dmmvdVhFm5oxb8F_wcoY,16171
141
+ teuthology/task/install/util.py,sha256=Sc7q_CgfkWXrIssFEf2SZwpqF9ZZvFAzzWHUVFgN7Qc,4179
142
+ teuthology/task/install/bin/adjust-ulimits,sha256=Bgdmytehcl6Y3e2Lmg2Gstx5r_Xkl9DvWO7g74DLzfs,299
143
+ teuthology/task/install/bin/daemon-helper,sha256=3uG_2u1jnLVLfUzJ7TDi-fWAGoFAaiQc_FRw7UtjLX0,3058
144
+ teuthology/task/install/bin/stdin-killer,sha256=qPF2v7_Q4Y1S1qz6whNIMQ0TVtKJTvnhvO3attyREvo,8633
145
+ teuthology/task/internal/__init__.py,sha256=Y0gWy-D3IVTuL8Z_LS7AnZ2BPh16L8BmjzjuT5qTkEY,19170
146
+ teuthology/task/internal/check_lock.py,sha256=n6DpqdQhoqGBefpufekofYQ1sV_7dmR8m1abGahz50w,1188
147
+ teuthology/task/internal/edit_sudoers.sh,sha256=6uJoT44TNfZnPiQp1Qbz0Fgqt0RRcYzmu8tuMfd4xJw,119
148
+ teuthology/task/internal/git_ignore_ssl.py,sha256=GxYGFfP2_sBhQCRDd1cQ3ZRVQFu9ff46vYROF-F8FLw,489
149
+ teuthology/task/internal/lock_machines.py,sha256=Bn3TR5ItJ-NGBw7s4-PdCJekxemS6HpmvzMBmYowTKE,1003
150
+ teuthology/task/internal/redhat.py,sha256=I0U-OULBfPMLYtenduRts4wG3WSg3TXuUoWVm3ChrWA,9991
151
+ teuthology/task/internal/syslog.py,sha256=N9AjsLyRpQRH0D2WycuT-FstxxK4cXdet3B2PuOq814,6738
152
+ teuthology/task/internal/vm_setup.py,sha256=cNlsBmVqXTYA6BgF5Sqd3k2eh87cnfuR1KdPUsOKskw,1825
153
+ teuthology/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
+ teuthology/util/compat.py,sha256=3jWbf2QSMSwq2t5ZgoGZ7z0fk98sY489P7im8j6eoOU,458
155
+ teuthology/util/flock.py,sha256=iGliYoXBzaBdMCq6dSSSQOkXC3ByrIlxvdRtJaYOG4I,604
156
+ teuthology/util/loggerfile.py,sha256=mg6jjC2kJzhctX7VRmYms-iaJoGXEEU-8E-ud21RKXI,471
157
+ teuthology/util/scanner.py,sha256=SLcQQuUz7sgCLMXwlW_5qQFZJWbD_IETSXqd3RYsAdg,5769
158
+ teuthology/util/sentry.py,sha256=pDe_wW5wGstu8NH3FmqaWa1GYBUA8n4o6gWNa_RHklY,1529
159
+ teuthology/util/time.py,sha256=Pn2sMtP0BQd6mUKyrOp3SGJmV8uJ5hLKaQvdf1rBXJM,1575
160
+ teuthology-1.2.1.data/scripts/adjust-ulimits,sha256=Bgdmytehcl6Y3e2Lmg2Gstx5r_Xkl9DvWO7g74DLzfs,299
161
+ teuthology-1.2.1.data/scripts/daemon-helper,sha256=R8GE83f41E_p5SO6egeyIhABmXz1qwuCwfrc89Uo3ug,3048
162
+ teuthology-1.2.1.data/scripts/stdin-killer,sha256=GuhUjSBxU81FL8F7mUOpdIl1yH4gFpEd_Dt3KJu60DU,8627
163
+ teuthology-1.2.1.dist-info/LICENSE,sha256=ghAkcYBW8nQm9oZJTob8w6h4Ga8ovjAv3boORc0qbYs,1057
164
+ teuthology-1.2.1.dist-info/METADATA,sha256=oYM3_kXcYQOUMoDsu7zTbMV90TnzaavcWAk2lmXxPKI,3188
165
+ teuthology-1.2.1.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
166
+ teuthology-1.2.1.dist-info/entry_points.txt,sha256=7TnOX2EuE5RkoVzz_rXt-12Dn5ZTk3Ie2RDu8Dw591c,910
167
+ teuthology-1.2.1.dist-info/top_level.txt,sha256=h2iGdGnj97Y9V5XwADbLYyhjY4Fek6KMSxrvYVNnphQ,19
168
+ teuthology-1.2.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.36.2)
2
+ Generator: setuptools (74.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -2,10 +2,11 @@
2
2
  teuthology = scripts.run:main
3
3
  teuthology-describe = scripts.describe:main
4
4
  teuthology-dispatcher = scripts.dispatcher:main
5
+ teuthology-exporter = scripts.exporter:main
5
6
  teuthology-kill = scripts.kill:main
6
7
  teuthology-lock = scripts.lock:main
7
8
  teuthology-ls = scripts.ls:main
8
- teuthology-nuke = scripts.nuke:main
9
+ teuthology-node-cleanup = scripts.node_cleanup:main
9
10
  teuthology-openstack = scripts.openstack:main
10
11
  teuthology-prune-logs = scripts.prune_logs:main
11
12
  teuthology-queue = scripts.queue:main
@@ -14,8 +15,8 @@ teuthology-report = scripts.report:main
14
15
  teuthology-results = scripts.results:main
15
16
  teuthology-schedule = scripts.schedule:main
16
17
  teuthology-suite = scripts.suite:main
18
+ teuthology-supervisor = scripts.supervisor:main
17
19
  teuthology-update-inventory = scripts.update_inventory:main
18
20
  teuthology-updatekeys = scripts.updatekeys:main
19
21
  teuthology-wait = scripts.wait:main
20
22
  teuthology-worker = scripts.worker:main
21
-
scripts/nuke.py DELETED
@@ -1,47 +0,0 @@
1
- import docopt
2
-
3
- import teuthology.nuke
4
-
5
- doc = """
6
- usage:
7
- teuthology-nuke --help
8
- teuthology-nuke [-v] [--owner OWNER] [-n NAME] [-u] [-i] [-r|-R] [-s] [-k]
9
- [-p PID] [--dry-run] (-t CONFIG... | -a DIR)
10
- teuthology-nuke [-v] [-u] [-i] [-r] [-s] [--dry-run] --owner OWNER --stale
11
- teuthology-nuke [-v] [--dry-run] --stale-openstack
12
-
13
- Reset test machines
14
-
15
- optional arguments:
16
- -h, --help show this help message and exit
17
- -v, --verbose be more verbose
18
- -t CONFIG [CONFIG ...], --targets CONFIG [CONFIG ...]
19
- yaml config containing machines to nuke
20
- -a DIR, --archive DIR
21
- archive path for a job to kill and nuke
22
- --stale attempt to find and nuke 'stale' machines
23
- (e.g. locked by jobs that are no longer running)
24
- --stale-openstack nuke 'stale' OpenStack instances and volumes
25
- and unlock OpenStack targets with no instance
26
- --dry-run Don't actually nuke anything; just print the list of
27
- targets that would be nuked
28
- --owner OWNER job owner
29
- -p PID, --pid PID pid of the process to be killed
30
- -r, --reboot-all reboot all machines (default)
31
- -R, --no-reboot do not reboot the machines
32
- -s, --synch-clocks synchronize clocks on all machines
33
- -u, --unlock Unlock each successfully nuked machine, and output
34
- targets thatcould not be nuked.
35
- -n NAME, --name NAME Name of run to cleanup
36
- -i, --noipmi Skip ipmi checking
37
- -k, --keep-logs Preserve test directories and logs on the machines
38
-
39
- Examples:
40
- teuthology-nuke -t target.yaml --unlock --owner user@host
41
- teuthology-nuke -t target.yaml --pid 1234 --unlock --owner user@host
42
- """
43
-
44
-
45
- def main():
46
- args = docopt.docopt(doc)
47
- teuthology.nuke.main(args)
scripts/worker.py DELETED
@@ -1,37 +0,0 @@
1
- import argparse
2
-
3
- import teuthology.worker
4
-
5
-
6
- def main():
7
- teuthology.worker.main(parse_args())
8
-
9
-
10
- def parse_args():
11
- parser = argparse.ArgumentParser(description="""
12
- Grab jobs from a beanstalk queue and run the teuthology tests they
13
- describe. One job is run at a time.
14
- """)
15
- parser.add_argument(
16
- '-v', '--verbose',
17
- action='store_true', default=None,
18
- help='be more verbose',
19
- )
20
- parser.add_argument(
21
- '--archive-dir',
22
- metavar='DIR',
23
- help='path under which to archive results',
24
- required=True,
25
- )
26
- parser.add_argument(
27
- '-l', '--log-dir',
28
- help='path in which to store logs',
29
- required=True,
30
- )
31
- parser.add_argument(
32
- '-t', '--tube',
33
- help='which beanstalk tube to read jobs from',
34
- required=True,
35
- )
36
-
37
- return parser.parse_args()
File without changes
@@ -1,7 +0,0 @@
1
- import teuthology.lock.util
2
-
3
- class TestLock(object):
4
-
5
- def test_locked_since_seconds(self):
6
- node = { "locked_since": "2013-02-07 19:33:55.000000" }
7
- assert teuthology.lock.util.locked_since_seconds(node) > 3600