)]}'
{"id":"openstack%2Frally~1005921","triplet_id":"openstack%2Frally~master~I69f4333c41162f44b02adb5424d40de7a02aa607","project":"openstack/rally","branch":"master","topic":"envs-docs","attention_set":{},"removed_from_attention_set":{"9545":{"account":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"last_update":"2026-09-16 19:19:35.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":"I69f4333c41162f44b02adb5424d40de7a02aa607","subject":"[docs] Rework plugin and CLI references, document envs","status":"MERGED","created":"2026-09-16 16:54:25.000000000","updated":"2026-09-16 19:33:31.000000000","submitted":"2026-09-16 19:32:28.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":"1005921-envs-docs","meta_rev_id":"ad580a0fb52570434ebdcac792d5ba252048d50c","_number":1005921,"virtual_id_number":1005921,"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-09-16 19:32:28.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-09-16 19:19:35.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-09-16 19:19:35.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-09-16 17:15:26.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":"ef914aea854ba6b32ba68c73e064febe7152b63e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-09-16 16:54:25.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8f1a6cb85a75c96356f81c024b9427b098d0b29f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 17:15:26.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/5930c1db78c3465398b03c580b06a110\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/8b367fac668244c6809063d50b2a772a : SUCCESS in 2m 46s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/41fd1a51cd764098bb4525ccf256e8a9 : SUCCESS in 4m 52s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/52aaaf82fa824f3f9bee0ac2a30535ae : FAILURE in 4m 37s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/297b2ea125fc4b5eb45ebb0867301b7a : SUCCESS in 2m 48s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/2f7004c312984614a2a72b3135f55152 : SUCCESS in 2m 34s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/006bbe001f21432981441f8ac57665cd : FAILURE in 3m 05s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/e70aeebc20b04965bb208b678e5c45a1 : SUCCESS in 3m 31s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/6d1c3395a0204d95892a54913e806908 : SUCCESS in 3m 02s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/473a303c666d4d83adc3cd1504b1519c : SUCCESS in 3m 07s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/1d9201c649404e83ac73c2fd0c1ebfe9 : SUCCESS in 2m 09s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/7bb2bad8e7fe437b84bd87e77aaf0f8a : SUCCESS in 7m 25s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/eb6dc5e09d424c9fad04dc9c78656795 : SUCCESS in 6m 20s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/aa8d894342714644bf6653dc3059e027 : SUCCESS in 6m 16s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/6cf5aeba8b244d36b79ac08961eabb21 : SUCCESS in 7m 10s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/18e29a7d80ec484ea8fe9d30ad082eb7 : SUCCESS in 7m 55s","accounts_in_message":[],"_revision_number":1},{"id":"424d432f2e8c39a35145b55d19c570a5a86b79e2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-09-16 17:57:20.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"c87ba5c5b729ba9c2229370d8c955e6723b5178c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 18:11:09.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/75a057f6710f42a490ff5e8f8be849f0\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/3936067d499943c8ab5b892ca8413681 : SUCCESS in 1m 45s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1374e636d8f34b458dc856184229fb82 : SUCCESS in 4m 30s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/8d1d75be2fd24e5e8bff0c94cbaf8c16 : SUCCESS in 3m 28s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/5962375599c84146bf7b8f1fd07600bd : SUCCESS in 2m 33s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/7968ace91ab042f986913fc5a4527c5e : SUCCESS in 2m 13s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/2a40709e3eba4b0890af6c5188fa0e70 : FAILURE in 2m 06s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/72729bd7c6d14ed38b8e08ada3cd4f7b : SUCCESS in 2m 19s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/24a1aeff64164380b685a5de1e9ad3a0 : SUCCESS in 4m 22s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/5b80c93baecf470ab9e8f9b3c6246918 : SUCCESS in 2m 21s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/30a70024c4f74ea189d3ae4b9a807d00 : SUCCESS in 4m 27s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/5898281c43ae436690f62e98bc9fd48c : SUCCESS in 6m 37s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/2efd4f402fc445419cef45fbaf4e72c4 : SUCCESS in 6m 43s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/30d9f6fac21e4c1b9f8a6c517270ce80 : SUCCESS in 5m 35s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/4318a0b761414c349760c62137ce0fb8 : SUCCESS in 8m 24s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/cd60d2c5abf54e2caa243c2129385588 : SUCCESS in 7m 40s","accounts_in_message":[],"_revision_number":2},{"id":"343d71a02aaf4789c86acd923c20e7904dbebc26","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-09-16 18:28:57.000000000","message":"Patch Set 3: Published edit on patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"94f64503901a98121e32183772cc85227bfc4044","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 18:43:53.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3b5f8aafed5b4b43903bb70dbf996cf6\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/948548c18d8e4e7fa476b0b15da7ff42 : SUCCESS in 2m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/47fd84516fdd46fa9e054427fca4c441 : SUCCESS in 3m 04s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/68873077561643ab9c88f51dda92e4ce : SUCCESS in 4m 58s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/74f7f3d3354f47e895f431e007e2cdcd : SUCCESS in 3m 11s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/e1315d668cd24ac5a4a21884698d9c3d : SUCCESS in 2m 55s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/26de469fabb34bb78c7627a7a1f81425 : SUCCESS in 3m 03s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/e44d12cb74ff46bcab431d21d3ed61e7 : SUCCESS in 3m 19s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/b8151ae66e984ce19e7fc7116842c918 : SUCCESS in 2m 37s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/90c851a82ab643d4bdc68409e4214c9f : SUCCESS in 2m 21s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/eb0ad30094964a58b29704e5cb2166f9 : SUCCESS in 3m 15s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/4bbbb66ddcad42fd9d01f738e1290318 : SUCCESS in 6m 12s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/39401675bb5a4e56bf811cea59788a5d : SUCCESS in 6m 39s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/f218771c0b4548ed85e4ca0e068c3ebf : SUCCESS in 6m 11s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/feb1e54ac6e041338d43d6ab2015e88f : SUCCESS in 6m 53s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/0c7fc49919524fe98fc7a9586ccb7568 : SUCCESS in 8m 40s","accounts_in_message":[],"_revision_number":3},{"id":"cd0f817d11f443b51895f9765944a5f4a03e07f9","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2026-09-16 19:19:35.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"eacb2997928f204906bdd3c41f1a703ae20a61a3","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 19:20:09.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"fe2ea64babba663125c154fb92ae0b4680c2ab6d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 19:32:28.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f4b99f0cf045462da9f4e5aa641c36b9\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/729fa1cdfd5348ee9d0ec01dfbd4bc5b : SUCCESS in 2m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/da504fc9316742cfac8b1e4a69c15372 : SUCCESS in 6m 36s\n- rally-tox-cover https://zuul.opendev.org/t/openstack/build/6b2465bf10da4d46bb0befea3d7778ab : SUCCESS in 3m 12s\n- rally-tox-mypy https://zuul.opendev.org/t/openstack/build/f86e108945f848218fdb0344492a7223 : SUCCESS in 3m 20s\n- rally-tox-pep8 https://zuul.opendev.org/t/openstack/build/ee7d270c3e1d49049b926a2f89383618 : SUCCESS in 2m 54s\n- rally-tox-py310 https://zuul.opendev.org/t/openstack/build/2047ccc7db3c4ef4903d5fef9ba4f05e : SUCCESS in 3m 40s\n- rally-tox-py311 https://zuul.opendev.org/t/openstack/build/5842d3eca99145caa78dc4bf73e027a9 : SUCCESS in 3m 27s\n- rally-tox-py312 https://zuul.opendev.org/t/openstack/build/abba2f37de2d4d96a8ee27d6da81195f : SUCCESS in 3m 10s\n- rally-tox-py313 https://zuul.opendev.org/t/openstack/build/f8ca1744cea94567ae2c0f8c982c4b22 : SUCCESS in 3m 15s\n- rally-tox-samples https://zuul.opendev.org/t/openstack/build/621dff3dade04188910731146bffdfd5 : SUCCESS in 4m 10s\n- rally-tox-functional https://zuul.opendev.org/t/openstack/build/e8ee61409e414853825f512de5735ea8 : SUCCESS in 6m 53s\n- rally-tox-self https://zuul.opendev.org/t/openstack/build/789d398265654255bcbf3b09c842c0a0 : SUCCESS in 6m 31s\n- rally-install-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/70b6fc720f224090b7ead5f1c5644d13 : SUCCESS in 5m 51s\n- rally-install-ubuntu-noble https://zuul.opendev.org/t/openstack/build/97ca83774f0a4b6d9537937f6195df6c : SUCCESS in 6m 19s\n- rally-docker-build https://zuul.opendev.org/t/openstack/build/48177cb280714a8c92e07a97e811df83 : SUCCESS in 7m 24s","accounts_in_message":[],"_revision_number":3},{"id":"fb7c91a4d897294508c3ebba28c4c4a9f4770149","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 19:32:28.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"ad580a0fb52570434ebdcac792d5ba252048d50c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 19:33:31.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8b5c66c505674562a656b71f4aedf2c4\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c2f2c867bc6e4063b3af11451ab3b235 : SUCCESS in 46s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"06d66a9b0e44b5b3bbdca4685fd09d7a3387f00b","revisions":{"810ba3d34db59f69f19358a119f7456d807a20f6":{"kind":"REWORK","_number":1,"created":"2026-09-16 16:54:25.000000000","uploader":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"ref":"refs/changes/21/1005921/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/rally","ref":"refs/changes/21/1005921/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/rally refs/changes/21/1005921/1"}}},"commit":{"parents":[{"commit":"fbcb80e7ca0f4771066c6e9b226014942a08cdeb","subject":"Bring support for nested atomic actions to max_avg_duration_per_atomic","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/fbcb80e7ca0f4771066c6e9b226014942a08cdeb"}]}],"author":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-09-16 14:20:34.000000000","tz":120},"committer":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-09-16 16:53:38.000000000","tz":120},"subject":"[docs] Rework plugin and CLI references, document envs","message":"[docs] Rework plugin and CLI references, document envs\n\nThe plugin reference renderer moves from the Sphinx extension into\nrally/utils/rstutils.py and is fully typed. It expands nested values\n(dict keys, list elements, oneOf/anyOf options) up to three levels,\nshows groups of parameters, resolves local $ref definitions and uses\nfull type names. Links to rally and rally-openstack sources point to\nthe release of the installed package.\n\nThe CLI reference gets a General section, separates positional\narguments from options, and shows types, required/repeatable flags,\ndefaults and environment variables like the plugin reference does.\n\nNew Environment Component and Configuration pages (the latter includes\nthe sample config file) and a platform plugin guide built from Platform\ndocstrings; the changelog is now part of the release notes.\n\nrally.env.env_mgr and rally.env.platform are covered by type hints,\nwhich revealed two bugs:\n* EnvManager called Platform._get_validation_context(), while the base\n  class defined get_validation_context(), so task validation failed for\n  platform plugins that did not implement the private method;\n* Deployment.list(name\u003d...) built an EnvManager from a name instead of\n  fetching the record.\n\nChange-Id: I69f4333c41162f44b02adb5424d40de7a02aa607\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/810ba3d34db59f69f19358a119f7456d807a20f6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/810ba3d34db59f69f19358a119f7456d807a20f6"}]},"branch":"refs/heads/master"},"708d680be262ba3130168f1b9e79097134b10aa2":{"kind":"REWORK","_number":2,"created":"2026-09-16 17:57:20.000000000","uploader":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"ref":"refs/changes/21/1005921/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/rally","ref":"refs/changes/21/1005921/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/rally refs/changes/21/1005921/2"}}},"commit":{"parents":[{"commit":"fbcb80e7ca0f4771066c6e9b226014942a08cdeb","subject":"Bring support for nested atomic actions to max_avg_duration_per_atomic","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/fbcb80e7ca0f4771066c6e9b226014942a08cdeb"}]}],"author":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-09-16 14:20:34.000000000","tz":120},"committer":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-09-16 17:57:06.000000000","tz":120},"subject":"[docs] Rework plugin and CLI references, document envs","message":"[docs] Rework plugin and CLI references, document envs\n\nThe plugin reference renderer moves from the Sphinx extension into\nrally/utils/rstutils.py and is fully typed. It expands nested values\n(dict keys, list elements, oneOf/anyOf options) up to three levels,\nshows groups of parameters, resolves local $ref definitions and uses\nfull type names. Links to rally and rally-openstack sources point to\nthe release of the installed package.\n\nThe CLI reference gets a General section, separates positional\narguments from options, and shows types, required/repeatable flags,\ndefaults and environment variables like the plugin reference does.\n\nNew Environment Component and Configuration pages (the latter includes\nthe sample config file) and a platform plugin guide built from Platform\ndocstrings; the changelog is now part of the release notes.\n\nrally.env.env_mgr and rally.env.platform are covered by type hints,\nwhich revealed two bugs:\n* EnvManager called Platform._get_validation_context(), while the base\n  class defined get_validation_context(), so task validation failed for\n  platform plugins that did not implement the private method;\n* Deployment.list(name\u003d...) built an EnvManager from a name instead of\n  fetching the record.\n\nChange-Id: I69f4333c41162f44b02adb5424d40de7a02aa607\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/708d680be262ba3130168f1b9e79097134b10aa2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/708d680be262ba3130168f1b9e79097134b10aa2"}]},"branch":"refs/heads/master"},"06d66a9b0e44b5b3bbdca4685fd09d7a3387f00b":{"kind":"REWORK","_number":3,"created":"2026-09-16 18:28:57.000000000","uploader":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"ref":"refs/changes/21/1005921/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/rally","ref":"refs/changes/21/1005921/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/rally refs/changes/21/1005921/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/rally refs/changes/21/1005921/3"}}},"commit":{"parents":[{"commit":"fbcb80e7ca0f4771066c6e9b226014942a08cdeb","subject":"Bring support for nested atomic actions to max_avg_duration_per_atomic","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/fbcb80e7ca0f4771066c6e9b226014942a08cdeb"}]}],"author":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-09-16 14:20:34.000000000","tz":120},"committer":{"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","date":"2026-09-16 18:28:57.000000000","tz":0},"subject":"[docs] Rework plugin and CLI references, document envs","message":"[docs] Rework plugin and CLI references, document envs\n\nThe plugin reference renderer moves from the Sphinx extension into\nrally/utils/rstutils.py and is fully typed. It expands nested values\n(dict keys, list elements, oneOf/anyOf options) up to three levels,\nshows groups of parameters, resolves local $ref definitions and uses\nfull type names. Links to rally and rally-openstack sources point to\nthe release of the installed package.\n\nThe CLI reference gets a General section, separates positional\narguments from options, and shows types, required/repeatable flags,\ndefaults and environment variables like the plugin reference does.\n\nNew Environment Component and Configuration pages (the latter includes\nthe sample config file) and a platform plugin guide built from Platform\ndocstrings; the changelog is now part of the release notes.\n\nrally.env.env_mgr and rally.env.platform are covered by type hints,\nwhich revealed two bugs:\n* EnvManager called Platform._get_validation_context(), while the base\n  class defined get_validation_context(), so task validation failed for\n  platform plugins that did not implement the private method;\n* Deployment.list(name\u003d...) built an EnvManager from a name instead of\n  fetching the record.\n\nChange-Id: I69f4333c41162f44b02adb5424d40de7a02aa607\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/06d66a9b0e44b5b3bbdca4685fd09d7a3387f00b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/rally/commit/06d66a9b0e44b5b3bbdca4685fd09d7a3387f00b"}]},"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":""}}}]}
