)]}'
{"id":"openstack%2Fopenstack-helm~1010991","triplet_id":"openstack%2Fopenstack-helm~master~If7f5b49d6016622c5330bc4ae03e5eb80d9e66ce","project":"openstack/openstack-helm","branch":"master","attention_set":{},"removed_from_attention_set":{"7156":{"account":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"last_update":"2026-10-19 19:42:28.000000000","reason":"\u003cGERRIT_ACCOUNT_7156\u003e replied on the change","reason_account":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}}},"hashtags":[],"change_id":"If7f5b49d6016622c5330bc4ae03e5eb80d9e66ce","subject":"Introduce osh-scenarios to render and diff charts","status":"NEW","created":"2026-10-16 17:52:05.000000000","updated":"2026-10-19 19:42:28.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"47f57fecde39c8656cf165acc365aa7843d2817b","_number":1010991,"virtual_id_number":1010991,"owner":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-16 18:18:47.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"rejected":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"all":[{"value":-1,"date":"2026-10-19 19:42:28.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"_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":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-10-16 18:08:17.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":"cfd70677891073d19c59b4027c9f6f0522c90a45","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-16 17:52:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"44b28bdf798a295c773f394029e961d54525b6fe","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-16 17:54:08.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6001ce89941c096b2f6cc31f11aa4cf0acd2d914","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 18:08:17.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/7c5980fb9852427f81ee111e69675d41\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1205c46e7f7f45b5b402656fedad44c9 : SUCCESS in 3m 52s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/8ec7566a4a0c48d2bcea42dc7079d04b : FAILURE in 3m 09s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/990a8ebe46444f6cbdba3bb7448cc0d4 : SUCCESS in 3m 14s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/3d8c2e33dd934ad2a1bef3be269c8647 : SUCCESS in 1m 46s\n- openstack-helm-bandit https://zuul.opendev.org/t/openstack/build/b1b9401e995e4e1587d7292d067b98d2 : SUCCESS in 3m 14s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/5c92c84f22a44c459f1e6cc52ea37d22 : SUCCESS in 1m 54s","accounts_in_message":[],"_revision_number":1},{"id":"a86ab95ad3c87e5935e3ae516558a9b5f9e4475f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-16 18:11:30.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"73537ea858706dc7aedf090165f0bc855cf7d036","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 18:18:47.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/43fe8bdb540e451b95e3903653296597\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aaeb5b00c1694e54ab8974f03413605b : SUCCESS in 2m 58s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/3940b50b6e2e4e0d83633ced2b26b609 : SUCCESS in 3m 11s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/7fb4fdea1eb1440392fdb6ddfdd816a2 : SUCCESS in 3m 51s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/1014a5c6714e40a2a6af3fb4112d24ed : SUCCESS in 1m 12s\n- openstack-helm-bandit https://zuul.opendev.org/t/openstack/build/4128072f8fbc400aa1dd8be1733c0601 : SUCCESS in 3m 31s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/36ea37a56c0c4e8e844a41c3156aed5d : SUCCESS in 2m 06s","accounts_in_message":[],"_revision_number":2},{"id":"47f57fecde39c8656cf165acc365aa7843d2817b","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-19 19:42:28.000000000","message":"Patch Set 2: Workflow-1","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"9b105238850c918d8aefcdce7d679592fa154e9a","revisions":{"9a9897729f995f3a7c83e717e3c868444282a1d9":{"kind":"REWORK","_number":1,"created":"2026-10-16 17:52:05.000000000","uploader":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"ref":"refs/changes/91/1010991/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/91/1010991/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/1"}}},"commit":{"parents":[{"commit":"6f8127900f40233bb797bcbf0e93e0d2039d6873","subject":"Merge \"Remove the CPU limits from the default pod resources\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6f8127900f40233bb797bcbf0e93e0d2039d6873"}]}],"author":{"name":"Mathieu Gagné","email":"mgagne@calavera.ca","date":"2026-10-16 17:31:58.000000000","tz":0},"committer":{"name":"Mathieu Gagné","email":"mgagne@calavera.ca","date":"2026-10-16 17:51:17.000000000","tz":0},"subject":"Introduce osh-scenarios to render and diff charts","message":"Introduce osh-scenarios to render and diff charts\n\nTesting a chart change usually means deploying it, in a Zuul job or on\na local cluster, which is slow, and only covers the scenarios that run.\nYet most chart changes only need to be checked for what they render.\n\nosh-scenarios renders the Kubernetes resources of deployment scenarios\nwith helm template: nothing is deployed, no cluster is needed. A\nscenario is a set of charts and the values they get. Two scenarios\nfiles are provided:\n\n- scenarios/charts.yaml, the default: single-chart scenarios, one per\n  chart and per notable variant (TLS, OVN, RBD, statefulset volumes...)\n- scenarios/zuul.yaml: the deployments of the Zuul jobs in zuul.d/,\n  with the values overrides they use\n\nIts commands:\n\n- render prints the resources of the scenarios, rendered from the\n  workspace, a git reference or a change in review in Gerrit.\n- diff renders the scenarios at two revisions, and shows only the\n  resources that change, in a TUI or with dyff. It compares HEAD with\n  the workspace by default, or with --change, a change in review with\n  the branch it targets.\n- list lists the scenarios and the releases they render.\n\nTesting gets fast: rendering takes seconds (the 106 single-chart\nscenarios in about 6s, the 352 releases of the 35 Zuul scenarios in\nabout 20s, on 8 CPUs), so a change can be checked against every\nscenario while it is being written.\n\nReviews get faster too: instead of reading templates and guessing their\neffect, a reviewer runs \"osh-scenarios diff --change \u003cnumber\u003e\" and sees\nwhich resources the change modifies, in which scenarios, and that it\nmodifies nothing else. The TUI can group identical changes across\nscenarios, so a change rendered the same in many scenarios reads once.\n\nThis is a proof of concept, shared to gather feedback from the\ncommunity on whether such a tool is wanted in openstack-helm.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: If7f5b49d6016622c5330bc4ae03e5eb80d9e66ce\nSigned-off-by: Mathieu Gagné \u003cmgagne@calavera.ca\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/9a9897729f995f3a7c83e717e3c868444282a1d9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/9a9897729f995f3a7c83e717e3c868444282a1d9"}]},"branch":"refs/heads/master"},"9b105238850c918d8aefcdce7d679592fa154e9a":{"kind":"REWORK","_number":2,"created":"2026-10-16 18:11:30.000000000","uploader":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"ref":"refs/changes/91/1010991/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/91/1010991/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/91/1010991/2"}}},"commit":{"parents":[{"commit":"6f8127900f40233bb797bcbf0e93e0d2039d6873","subject":"Merge \"Remove the CPU limits from the default pod resources\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6f8127900f40233bb797bcbf0e93e0d2039d6873"}]}],"author":{"name":"Mathieu Gagné","email":"mgagne@calavera.ca","date":"2026-10-16 17:31:58.000000000","tz":0},"committer":{"name":"Mathieu Gagné","email":"mgagne@calavera.ca","date":"2026-10-16 18:10:45.000000000","tz":0},"subject":"Introduce osh-scenarios to render and diff charts","message":"Introduce osh-scenarios to render and diff charts\n\nTesting a chart change usually means deploying it, in a Zuul job or on\na local cluster, which is slow, and only covers the scenarios that run.\nYet most chart changes only need to be checked for what they render.\n\nosh-scenarios renders the Kubernetes resources of deployment scenarios\nwith helm template: nothing is deployed, no cluster is needed. A\nscenario is a set of charts and the values they get. Two scenarios\nfiles are provided:\n\n- scenarios/charts.yaml, the default: single-chart scenarios, one per\n  chart and per notable variant (TLS, OVN, RBD, statefulset volumes...)\n- scenarios/zuul.yaml: the deployments of the Zuul jobs in zuul.d/,\n  with the values overrides they use\n\nIts commands:\n\n- render prints the resources of the scenarios, rendered from the\n  workspace, a git reference or a change in review in Gerrit.\n- diff renders the scenarios at two revisions, and shows only the\n  resources that change, in a TUI or with dyff. It compares HEAD with\n  the workspace by default, or with --change, a change in review with\n  the branch it targets.\n- list lists the scenarios and the releases they render.\n\nTesting gets fast: rendering takes seconds (the 106 single-chart\nscenarios in about 6s, the 352 releases of the 35 Zuul scenarios in\nabout 20s, on 8 CPUs), so a change can be checked against every\nscenario while it is being written.\n\nReviews get faster too: instead of reading templates and guessing their\neffect, a reviewer runs \"osh-scenarios diff --change \u003cnumber\u003e\" and sees\nwhich resources the change modifies, in which scenarios, and that it\nmodifies nothing else. The TUI can group identical changes across\nscenarios, so a change rendered the same in many scenarios reads once.\n\nThis is a proof of concept, shared to gather feedback from the\ncommunity on whether such a tool is wanted in openstack-helm.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: If7f5b49d6016622c5330bc4ae03e5eb80d9e66ce\nSigned-off-by: Mathieu Gagné \u003cmgagne@calavera.ca\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/9b105238850c918d8aefcdce7d679592fa154e9a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/9b105238850c918d8aefcdce7d679592fa154e9a"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
