)]}'
{"id":"openstack%2Frally~997006","triplet_id":"openstack%2Frally~master~I98b16a1ced5599f9c2ef34d4298b580730b0b411","project":"openstack/rally","branch":"master","topic":"annotation-validation","attention_set":{},"removed_from_attention_set":{"9545":{"account":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"last_update":"2026-07-13 17:31:08.000000000","reason":"\u003cGERRIT_ACCOUNT_9545\u003e replied on the change","reason_account":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"}}},"hashtags":[],"change_id":"I98b16a1ced5599f9c2ef34d4298b580730b0b411","subject":"Add support for Scenario.run type hints","status":"MERGED","created":"2026-07-13 11:52:50.000000000","updated":"2026-07-13 18:07:04.000000000","submitted":"2026-07-13 18:07:04.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"997006-annotation-validation","meta_rev_id":"9e8a1b605fab372abbd6a39553fe5bdffd3cf010","_number":997006,"virtual_id_number":997006,"owner":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-13 18:07:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"all":[{"value":2,"date":"2026-07-13 17:31:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"all":[{"value":1,"date":"2026-07-13 17:31:08.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-13 12:34:13.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"9a685d78fb170c5ca01dfb817606f79f449279ef","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-07-13 11:52:50.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2949af6ad96678fd08f3a9b7921a3b994d7ea4dd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-13 12:34:13.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/c0f9a5c11547496b9b2096f974cb61fd\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c2f4cd14e9b4499083f526fea118ea0c : SUCCESS in 5m 34s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/0f151ff195a74f4698d82851c9c867ef : FAILURE in 4m 23s\n- rally-tox-docs https://zuul.opendev.org/t/openstack/build/2e189b98bcdd43deb8bfd69c49056bee : SUCCESS in 3m 51s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/c3ee4a8cdeaa4cc39a83312a0bd12610 : SUCCESS in 3m 16s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/e13dd2ac16704805a2317b0ffce23a37 : SUCCESS in 1m 50s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/5acd43f3bb2b48a78c73b6b5711d5eb8 : FAILURE in 3m 25s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/4e8bb7ba2cf6444a8fd1e9f04bd3162e : SUCCESS in 3m 01s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/a6fd557ab676491d9a3e48c1a0435987 : SUCCESS in 3m 22s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/3743f6fe42fc4e739afd330f13bafc74 : SUCCESS in 4m 25s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/ee4fa1d667e240c29059d09fa89644ab : SUCCESS in 2m 01s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/9d0415ea9a03440aa89db6276c23f117 : SUCCESS in 6m 38s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/8c171e53f7414704a71947bf3ecf9bfd : SUCCESS in 6m 16s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/d355b9a63dcf417c8bd9423ed46e5881 : SUCCESS in 5m 38s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/b18f54c731ce42af901977c6027684e4 : SUCCESS in 6m 08s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/88e2bc744e344d6f80824aedf5b5f424 : SUCCESS in 8m 27s\n- rally-task-simple-job https://zuul.opendev.org/t/openstack/build/1e483f723b114e1d9b9972a198220009 : SUCCESS in 29m 09s\n- rally-verify-tempest https://zuul.opendev.org/t/openstack/build/8a01bb229da9437ab0c6450a492fcc38 : SUCCESS in 36m 15s","accounts_in_message":[],"_revision_number":1},{"id":"dd9a30be37ba31a67e74628eaff661df1efddda9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-07-13 14:21:22.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"b514e8ff46e42d075e46118b9fe5ab8e0de84c52","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-13 15:09:37.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/7a41eaed4ab443eb806b7850fd3c48a1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3806b9e9c4fc4a8e97e81d27e8d0bff8 : SUCCESS in 4m 24s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/1704cc1758ae4cd09bd38fb699d8b9b8 : SUCCESS in 3m 28s\n- rally-tox-docs https://zuul.opendev.org/t/openstack/build/3214ded6b200446e8986cc7ff421c7ff : SUCCESS in 3m 59s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/f530c2072052439b89a54fc14647a688 : SUCCESS in 4m 02s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/0d909095e9194cebb959d5df11c889c4 : SUCCESS in 2m 29s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/9af0c90e06d74891a1b117c188f01520 : FAILURE in 4m 07s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/46817fc490e549eb924c7d8f1f569965 : SUCCESS in 2m 53s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/1d0bcda93a2246cd88d058a7c6b512a1 : SUCCESS in 3m 13s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/e3d7c2b096b74c6a97e075bc0596933b : SUCCESS in 2m 18s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/f1af0713a053465886e4e8d1531a0ec4 : SUCCESS in 3m 53s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/e2f38cd6c2714d3199ba87a10c3576ed : SUCCESS in 6m 13s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/709b0e19103848cdbfa03008513b4442 : SUCCESS in 7m 15s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/739ba399fcbb46db8cd514baadb38dfc : SUCCESS in 5m 00s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/87b3cd42dd0d41eb90a9217660e2de99 : SUCCESS in 6m 19s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/b420b121d2ff4e638bd3a12f60f0eafb : SUCCESS in 7m 33s\n- rally-task-simple-job https://zuul.opendev.org/t/openstack/build/1572f61e16df4ec389a14c546bf548e2 : SUCCESS in 12m 52s\n- rally-verify-tempest https://zuul.opendev.org/t/openstack/build/5e8002c681ad471282c6948c890f876f : SUCCESS in 42m 27s","accounts_in_message":[],"_revision_number":2},{"id":"b09a3d83919eb7fe0cd5eead967cc0e718d011bf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-07-13 16:20:36.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"56c6c096f3d43f5f10f0622a3206bfc66841df8b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-13 17:14:44.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6567e65fa2ea412e90dab277547fd93d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7036c9ef34f9416f8d6da66771a882ec : SUCCESS in 4m 43s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/400f44b1aa194b6b98c7c5f91b98a8ad : SUCCESS in 3m 41s\n- rally-tox-docs https://zuul.opendev.org/t/openstack/build/17fd2aab4bc44c3791c15a412bca20a3 : SUCCESS in 2m 51s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/226806d7273c4ab697d76fdbed1ee14e : SUCCESS in 3m 46s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/e1eba640b0c14cf994c8028177badd46 : SUCCESS in 3m 09s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/32de5bb4004240418809a5d8f0c446eb : SUCCESS in 3m 11s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/254b9701889d405da9d945c812e5b6a4 : SUCCESS in 4m 50s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/66f621834f3e4efbb6bca5710ca804ea : SUCCESS in 3m 54s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/87f8542c04054e258cd17b0683b9a9c5 : SUCCESS in 3m 11s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/82c08de0d51d45a0bbec4bbe5781b7fc : SUCCESS in 5m 14s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/6ab547906c5c426d828bbd8141cc242d : SUCCESS in 8m 20s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/76c8dcb53eb94a18a665e2c12c845763 : SUCCESS in 7m 38s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/701db8dfe87d49729c64519145d9ff8a : SUCCESS in 5m 16s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/153b1ca9dabe4579bde5e1c2befd96b5 : SUCCESS in 5m 42s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/7e7055f450b04e13b98543b1bec2755f : SUCCESS in 9m 24s\n- rally-task-simple-job https://zuul.opendev.org/t/openstack/build/792df9cd37414c95ae306cdef46a609a : SUCCESS in 27m 44s\n- rally-verify-tempest https://zuul.opendev.org/t/openstack/build/652ba412eec94499bb44842ad9f8b4ca : SUCCESS in 38m 38s","accounts_in_message":[],"_revision_number":3},{"id":"e2013233e52111e4ccd9aea9845041776d2d78e1","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-07-13 17:31:08.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"12aa1f4aaa6bfdb01b57e587b7bbc9a2fe30e815","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-13 17:31:35.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"3995197bf3e9bfb934340d57914fae1e80b741b5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-13 18:07:03.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d8b10bde6964411b89374cbd0a39910b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/76cb19d86ee44d89a2f80b8648eb1632 : SUCCESS in 3m 04s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/b492a869554f4e1988e1b79de5696017 : SUCCESS in 3m 43s\n- rally-tox-docs https://zuul.opendev.org/t/openstack/build/cf40a2ec054b4032bf9e01d1a709977a : SUCCESS in 2m 37s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/08ce2e0b84fa485a864b43f78a9f990e : SUCCESS in 1m 54s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/0f7d7bb3be79425495e0809bcda569a4 : SUCCESS in 3m 37s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/aada9ae595034932bbf0cb8b0beae510 : SUCCESS in 2m 29s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/a7c42662c66f4740a384c5b9a67056bb : SUCCESS in 3m 06s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/34887d4a585d47d3909ee61391457c34 : SUCCESS in 3m 18s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/762161fe65ad450db0ea12d0a7342806 : SUCCESS in 2m 56s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/8e64615e06444895badeda76d4969da4 : SUCCESS in 3m 40s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/2da767a412cd47afa2340259340167d7 : SUCCESS in 7m 10s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/fdd32c830b5f40918200e63710b1901d : SUCCESS in 6m 43s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/6ae3c61fd8bd4ef7982ff6b4d4d39df8 : SUCCESS in 6m 19s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/7ce7028bf4f440609cd5037cc3db1aab : SUCCESS in 5m 59s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/f7ed50d1ed3845cdbba5b2088010d0a6 : SUCCESS in 7m 13s\n- rally-task-simple-job https://zuul.opendev.org/t/openstack/build/9234a725b2934bf1bb9a00d12bf00fbf : SUCCESS in 29m 38s\n- rally-verify-tempest https://zuul.opendev.org/t/openstack/build/af05b75666f447058ecc587b1bdda0c8 : SUCCESS in 32m 58s","accounts_in_message":[],"_revision_number":3},{"id":"9e8a1b605fab372abbd6a39553fe5bdffd3cf010","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-13 18:07:04.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"49589270d0af6d542fa7607d976002b031b9602d","revisions":{"081ae72993a8308efd3ab3c3ac3123d0151a1303":{"kind":"REWORK","_number":1,"created":"2026-07-13 11:52:50.000000000","uploader":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"ref":"refs/changes/06/997006/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/rally","ref":"refs/changes/06/997006/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/rally refs/changes/06/997006/1"}}},"commit":{"parents":[{"commit":"633c3ebfbe120ebe2b9dc3b551468ae4c5b3b3c3","subject":"[cli] Small tweaks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/633c3ebfbe120ebe2b9dc3b551468ae4c5b3b3c3"}]}],"author":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-07-06 10:49:00.000000000","tz":120},"committer":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-07-13 11:52:38.000000000","tz":120},"subject":"Add support for Scenario.run type hints","message":"Add support for Scenario.run type hints\n\nScenario ``run()`` arguments can be validated and documented from their\nPython type annotations: annotations are mapped to JSON Schema (by the new\n``rally.utils.typeutils`` module) for input validation and rendered in the\nplugin docs. Also adds parameter listing to ``rally plugin show`` and the\n``[DEFAULT]strict_type_annotations`` option to fail (rather than warn) on an\nannotation Rally cannot map.\n\nChange-Id: I98b16a1ced5599f9c2ef34d4298b580730b0b411\nSigned-off-by: Andriy Kurilin \u003candr.kurilin@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/081ae72993a8308efd3ab3c3ac3123d0151a1303"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/081ae72993a8308efd3ab3c3ac3123d0151a1303"}]},"branch":"refs/heads/master"},"1d28cd29ed5c1550e9b9ec491c50f995dbdbeeee":{"kind":"REWORK","_number":2,"created":"2026-07-13 14:21:22.000000000","uploader":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"ref":"refs/changes/06/997006/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/rally","ref":"refs/changes/06/997006/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/rally refs/changes/06/997006/2"}}},"commit":{"parents":[{"commit":"633c3ebfbe120ebe2b9dc3b551468ae4c5b3b3c3","subject":"[cli] Small tweaks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/633c3ebfbe120ebe2b9dc3b551468ae4c5b3b3c3"}]}],"author":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-07-06 10:49:00.000000000","tz":120},"committer":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-07-13 14:19:18.000000000","tz":120},"subject":"Add support for Scenario.run type hints","message":"Add support for Scenario.run type hints\n\nScenario ``run()`` arguments can be validated and documented from their\nPython type annotations: annotations are mapped to JSON Schema (by the new\n``rally.utils.typeutils`` module) for input validation and rendered in the\nplugin docs. Also adds parameter listing to ``rally plugin show`` and the\n``[DEFAULT]strict_type_annotations`` option to fail (rather than warn) on an\nannotation Rally cannot map.\n\nChange-Id: I98b16a1ced5599f9c2ef34d4298b580730b0b411\nSigned-off-by: Andriy Kurilin \u003candr.kurilin@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/1d28cd29ed5c1550e9b9ec491c50f995dbdbeeee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/1d28cd29ed5c1550e9b9ec491c50f995dbdbeeee"}]},"branch":"refs/heads/master"},"49589270d0af6d542fa7607d976002b031b9602d":{"kind":"REWORK","_number":3,"created":"2026-07-13 16:20:36.000000000","uploader":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"ref":"refs/changes/06/997006/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/rally","ref":"refs/changes/06/997006/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/rally refs/changes/06/997006/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/rally refs/changes/06/997006/3"}}},"commit":{"parents":[{"commit":"633c3ebfbe120ebe2b9dc3b551468ae4c5b3b3c3","subject":"[cli] Small tweaks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/633c3ebfbe120ebe2b9dc3b551468ae4c5b3b3c3"}]}],"author":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-07-06 10:49:00.000000000","tz":120},"committer":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-07-13 16:20:17.000000000","tz":120},"subject":"Add support for Scenario.run type hints","message":"Add support for Scenario.run type hints\n\nScenario ``run()`` arguments can be validated and documented from their\nPython type annotations: annotations are mapped to JSON Schema (by the new\n``rally.utils.typeutils`` module) for input validation and rendered in the\nplugin docs. Also adds parameter listing to ``rally plugin show`` and the\n``[DEFAULT]strict_type_annotations`` option to fail (rather than warn) on an\nannotation Rally cannot map.\n\nChange-Id: I98b16a1ced5599f9c2ef34d4298b580730b0b411\nSigned-off-by: Andriy Kurilin \u003candr.kurilin@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/49589270d0af6d542fa7607d976002b031b9602d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/49589270d0af6d542fa7607d976002b031b9602d"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
