)]}'
{"id":"openstack%2Fwatcher~1001009","triplet_id":"openstack%2Fwatcher~master~I99726b2a2e6af500056a7b30851d8d07cad0b42a","project":"openstack/watcher","branch":"master","topic":"bp/audit-pipeline","attention_set":{"30002":{"account":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"last_update":"2026-08-14 21:44:02.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I99726b2a2e6af500056a7b30851d8d07cad0b42a","subject":"Add efficacy indicators for Audit Pipeline action plans","status":"NEW","created":"2026-08-14 21:43:44.000000000","updated":"2026-08-14 23:25:25.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2ecec229aec9093c2bec902c257da33150f376e1","_number":1001009,"virtual_id_number":1001009,"owner":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-14 23:25:25.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":{"disliked":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"all":[{"value":-1,"date":"2026-08-14 22:09:00.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"_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},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}],"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-14 21:44:02.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-08-14 22:09:00.000000000","updated_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"reviewer":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"state":"REVIEWER"},{"updated":"2026-08-14 23:25:25.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":"9d440343281329db1adc72a1394cc3d4d80fbbea","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"date":"2026-08-14 21:43:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"58451f203585bbf008ac3d3adaa8e6b17d898d20","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-14 21:44:02.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"67addfd017bdf758c4b3a3cc6bbace0d1fbf0b4a","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-14 21:54:11.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/358da36a372441088d3aaba8696a0a89\n\n- teim-code-review https://zuul.teim.app/t/main/build/9734772ea07942579edd274c8fb0245a : SUCCESS in 9m 59s\n\nWarning:\n  File .kube/cache/http/4cbf3e74a0cf251e76b79c730e27aa78 found in build home directory during playbook github.com/SeanMooney/ci-sean-mooney/playbooks/base/pre.yaml for job teim-code-review.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .kube/cache/http/0a771f2540bee8272a9133c8d531842b found in build home directory during playbook github.com/SeanMooney/ci-sean-mooney/playbooks/base/pre.yaml for job teim-code-review.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .kube/cache/http/5d6ec245f855ced60908a544f340db02 found in build home directory during playbook github.com/SeanMooney/ci-sean-mooney/playbooks/base/pre.yaml for job teim-code-review.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .kube/cache/http/c70f2c4148c797e97f89c2f8a1bd7892 found in build home directory during playbook github.com/SeanMooney/ci-sean-mooney/playbooks/base/pre.yaml for job teim-code-review.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .kube/cache/http/17ef2f8590ceba79a9c67704bd9432cb found in build home directory during playbook github.com/SeanMooney/ci-sean-mooney/playbooks/base/pre.yaml for job teim-code-review.  Add to preserve-home-paths if safe, or otherwise remove.\n  The change introduces externally visible indicator names (pipeline_instance_migrations_count, pipeline_released_compute_nodes_count, pipeline_volume_migrations_count, pipeline_migrations_collapsed_count) without documenting them for operators or API consumers. Impact: Operators querying pipeline action plans cannot discover what the new efficacy indicator names mean or which strategy indicator names feed them. Recommendation: Add a release note listing the new pipeline_* indicator names, their source indicator names and summation semantics, and mention them in the audit pipeline API reference/doc.","accounts_in_message":[],"_revision_number":1},{"id":"a657b911e1d7d0c1bc18f3fa7ce33a926287baec","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2026-08-14 22:09:00.000000000","message":"Patch Set 1: Code-Review-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\nhttps://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/8eabe00b3af64b8b835a90dfb0202479\n\n- openstack-meta-content-provider-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/e2cfa7674e9444dea316f3c0b3331b70 : FAILURE in 9m 21s\n- watcher-operator-validation-master https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/build/7f41b337729c4e8498aa90aa89ac14a6 : SKIPPED Skipped due to failed job openstack-meta-content-provider-master","accounts_in_message":[],"_revision_number":1},{"id":"2ecec229aec9093c2bec902c257da33150f376e1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-14 23:25:25.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/80a654c618b248e7ba243edab50c80d8\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a161531a8fe947ffb37f84aa01aa6203 : SUCCESS in 7m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/eb9e6cd994c644e18cba4c080bb388b5 : SUCCESS in 4m 42s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/8b35028883bf4bea91c38795b8defc62 : SUCCESS in 4m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0fc4dd6f35f64d909a0a33e3cf0458b5 : SUCCESS in 4m 00s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/090de226cc3a4afab7ca72a28a0eeef5 : SUCCESS in 6m 52s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e566b3c5662942eeb93d31243656a2e0 : SUCCESS in 7m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a6b4113996db4c90bd54beb84ba7d5eb : SUCCESS in 4m 11s\n- openstack-tox-py313-eventlet https://zuul.opendev.org/t/openstack/build/f7f3050509874c5ebcad8d0ff8334a8d : SUCCESS in 3m 46s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/77e6df9dab3b4fb2a654f5a00e43235d : SUCCESS in 53m 08s\n- watcher-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/addb91f0b8234b0d9f33e26d99cc8730 : SUCCESS in 55m 08s\n- watcher-tempest-api-ipv6-only https://zuul.opendev.org/t/openstack/build/bb1eb49ffa0c47f5b702e74b3df69b79 : SUCCESS in 20m 01s\n- watcher-tempest-gnocchi https://zuul.opendev.org/t/openstack/build/786f29c92ede459a8a734f3e43a6414e : SUCCESS in 1h 04m 26s\n- watcher-tempest-prometheus https://zuul.opendev.org/t/openstack/build/0f1e29f3106f46408177e47a1c116958 : SUCCESS in 1h 39m 40s\n- watcher-tempest-prometheus-eventlet https://zuul.opendev.org/t/openstack/build/72299a4b91d8431da65ff9968a3e2325 : SUCCESS in 1h 31m 53s\n- watcher-tempest-aetos https://zuul.opendev.org/t/openstack/build/e4d0fc2426e44e14b907c54e7905c61d : SUCCESS in 1h 16m 29s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/f9a4018a526c4bd3815a5f18a8b5a4ce : SUCCESS in 2m 46s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"8938fd5e83a33c14a6cbb4adbced472be29bf2a6","revisions":{"8938fd5e83a33c14a6cbb4adbced472be29bf2a6":{"kind":"REWORK","_number":1,"created":"2026-08-14 21:43:44.000000000","uploader":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"ref":"refs/changes/09/1001009/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/09/1001009/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/09/1001009/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/09/1001009/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/09/1001009/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/09/1001009/1"}}},"commit":{"parents":[{"commit":"7fcc2ada06110676158dcc1533d3a46e1f12becf","subject":"Add Audit Pipeline REST API endpoints","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/7fcc2ada06110676158dcc1533d3a46e1f12becf"}]}],"author":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-08-14 21:39:34.000000000","tz":-180},"committer":{"name":"Douglas Viroel","email":"viroel@gmail.com","date":"2026-08-14 21:39:34.000000000","tz":-180},"subject":"Add efficacy indicators for Audit Pipeline action plans","message":"Add efficacy indicators for Audit Pipeline action plans\n\nBecause each pipeline stage runs an independent strategy with its own\ngoal-specific EfficacySpecification, the same concept\n(e.g. \"instance migrations\") is measured under different\nindicator names across stages.  A grouping layer normalises these into\npipeline-level combined indicators.\n\nNew module watcher/decision_engine/goal/efficacy/pipeline.py:\n\n* PipelineIndicatorGroup: declares a frozenset of source indicator names\nfrom any strategy and produces a combined Indicator by summing their\nvalues across all stage solutions.\n* PipelineEfficacyAggregator: applies all registered groups to the flat\nlist of efficacy_indicators collected from every stage solution.\n* CollapsedMigrationsCount(IndicatorSpecification): tracks how many\nmigration actions were eliminated by the pipeline chain-collapse\noptimiser stored in the ActionPlan\u0027s global_efficacy field.\n\nChanges to existing files:\n\n* pipeline.py (planner): schedule() now collects all stage\nefficacy_indicators, aggregates them via PipelineEfficacyAggregator,\nand persists the combined list as EfficacyIndicator rows.\n_collapse_migration_chains() returns a (actions, eliminated_count)\ntuple; when eliminated_count \u003e 0 a CollapsedMigrationsCount indicator\nis added to ActionPlan.global_efficacy.\n\nPartially-implements: bp audit-pipeline\nAssisted-By: Claude Code (Sonnet 4.6)\nChange-Id: I99726b2a2e6af500056a7b30851d8d07cad0b42a\nSigned-off-by: Douglas Viroel \u003cviroel@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/8938fd5e83a33c14a6cbb4adbced472be29bf2a6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/8938fd5e83a33c14a6cbb4adbced472be29bf2a6"}]},"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","applied_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"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":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"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":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
