)]}'
{"id":"openstack%2Fopenstack-ansible-openstack_hosts~1001222","triplet_id":"openstack%2Fopenstack-ansible-openstack_hosts~master~I46a4793dd9ae27b6bd4cbf9dbec1299a4ca8bddd","project":"openstack/openstack-ansible-openstack_hosts","branch":"master","hashtags":[],"change_id":"I46a4793dd9ae27b6bd4cbf9dbec1299a4ca8bddd","subject":"Add ability to manage pip.conf","status":"NEW","created":"2026-08-17 19:39:23.000000000","updated":"2026-08-20 12:07:47.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d0b98a3ef8e66c0840c81f95852bce992f0d8784","_number":1001222,"virtual_id_number":1001222,"owner":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-17 22:04:46.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":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":-1,"date":"2026-08-20 12:07:47.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"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":{"rejected":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":-1,"date":"2026-08-20 12:07:47.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"_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},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-17 22:04:46.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":"ced4162c0a90a7a87a9498b356ae7e3cff7b4948","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-08-17 19:39:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ce7126e68166f001286dedcf04cd975710dcffa0","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-08-17 19:49:43.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"12c7b2f01ceef5b62efab19bdfb3cf2a89cce122","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-08-17 19:57:43.000000000","message":"Patch Set 1: -Workflow","accounts_in_message":[],"_revision_number":1},{"id":"1af6b07f231844d82eb478d1b0b32e05cab67089","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-08-17 20:36:12.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"9e02993af25b79e6f3b10f521bad4c5e35afb654","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-08-17 20:56:21.000000000","message":"Patch Set 1: -Workflow\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a70ce3eed6aef8017ad01fae04505f3875249400","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 22:04:46.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/375782a8362d49a18416090dc651f658\n\n- openstack-ansible-deploy-hosts_metal-centos-10-stream https://zuul.opendev.org/t/openstack/build/dfd00cd596674a558c61b4cb2e9ae026 : SUCCESS in 15m 16s\n- openstack-ansible-deploy-hosts_metal-debian-trixie https://zuul.opendev.org/t/openstack/build/32ee50fda08a4479bdf229499810b3af : SUCCESS in 18m 35s\n- openstack-ansible-deploy-hosts_metal-rockylinux-10 https://zuul.opendev.org/t/openstack/build/4975c77a7752409b82470536126cf29e : SUCCESS in 12m 04s\n- openstack-ansible-deploy-hosts_metal-ubuntu-noble https://zuul.opendev.org/t/openstack/build/74da335e37924bb89d82ea14a184950d : SUCCESS in 15m 30s\n- openstack-ansible-deploy-hosts_metal-ubuntu-resolute https://zuul.opendev.org/t/openstack/build/05fd390c5f18462f992bafe71eb561fd : SUCCESS in 8m 42s\n- openstack-ansible-deploy-hosts_distro_lxc-ubuntu-noble https://zuul.opendev.org/t/openstack/build/9d56f0d0cba6421c91a6d58e56214eb8 : SUCCESS in 27m 25s\n- openstack-ansible-deploy-hosts_distro_lxc-ubuntu-resolute https://zuul.opendev.org/t/openstack/build/9ce27be3d1184f1581f1503f89da31b3 : SUCCESS in 24m 13s\n- openstack-ansible-upgrade-infra_lxc-ubuntu-noble https://zuul.opendev.org/t/openstack/build/02c80ca8c4cc4253bfdccb4d6e162b8e : SUCCESS in 2h 17m 45s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d03cc314e65640449a3ba0775fe82653 : SUCCESS in 5m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0bb30b6b84334178baac550e750b1465 : SUCCESS in 2m 14s\n- openstack-ansible-linters-ubuntu-noble https://zuul.opendev.org/t/openstack/build/374d39c3eedf47d8a2307c38dae4d2e8 : SUCCESS in 8m 31s","accounts_in_message":[],"_revision_number":1},{"id":"d0b98a3ef8e66c0840c81f95852bce992f0d8784","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-08-20 12:07:47.000000000","message":"Patch Set 1: Code-Review-1 Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"3366a5444e5c8e77a768e8e5c3d27ca7cdb035b2","revisions":{"3366a5444e5c8e77a768e8e5c3d27ca7cdb035b2":{"kind":"REWORK","_number":1,"created":"2026-08-17 19:39:23.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/22/1001222/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-ansible-openstack_hosts","ref":"refs/changes/22/1001222/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/22/1001222/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/22/1001222/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/22/1001222/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/22/1001222/1"}}},"commit":{"parents":[{"commit":"138eeda84dd7965aea27d6c14a6541fe25f7716b","subject":"Merge \"Update openstack_host_ca_certificates documented example\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/138eeda84dd7965aea27d6c14a6541fe25f7716b"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-08-17 19:39:15.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-08-17 19:39:15.000000000","tz":120},"subject":"Add ability to manage pip.conf","message":"Add ability to manage pip.conf\n\nThere is no ansible-managed capability to control pip.conf on the hosts,\nwhich require manual actions to be performed by operators.\n\nThere is a pitfall in implementation for deployments, that manage\npip.conf externally, as content will be overriden\nby the role.\nI was not able to find smart enough solution to respect manually\ndeployed pip.conf and managed solution at the same time.\n\nChange-Id: I46a4793dd9ae27b6bd4cbf9dbec1299a4ca8bddd\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/3366a5444e5c8e77a768e8e5c3d27ca7cdb035b2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/3366a5444e5c8e77a768e8e5c3d27ca7cdb035b2"}]},"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":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}},{"label":"Backport-Candidate","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":"Backport-Candidate","description":"Backport candidate status","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":"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":""}}}]}
