)]}'
{"id":"openstack%2Fproject-config~707442","triplet_id":"openstack%2Fproject-config~master~Ifd9062e5a87923093e84b3e4fc933dc08375df82","project":"openstack/project-config","branch":"master","hashtags":[],"change_id":"Ifd9062e5a87923093e84b3e4fc933dc08375df82","subject":"Install pip and virtualenv only from get-pip","status":"NEW","created":"2020-02-12 17:59:16.000000000","updated":"2020-02-12 22:38:16.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":"abc75a4f26f4ca6a2d38e0df4d35c841ae959fab","_number":707442,"virtual_id_number":707442,"owner":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2020-02-12 22:38:16.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"date":"2020-02-12 22:35:22.000000000","_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"}],"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":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"}],"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":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-02-12 22:35:22.000000000","updated_by":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"reviewer":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"state":"REVIEWER"},{"updated":"2020-02-12 22:38:16.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":"4eb0ec5c57690c4e7a54706077a5c97c9095cb42","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 17:59:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"20497b9865482a195f5fb39afd0599215dcdf37c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-02-12 18:11:33.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-zuul-jobs-linters https://zuul.opendev.org/t/openstack/build/6bd318a212c54595b43759cbc6dcdf6f : FAILURE in 6m 11s\n- project-config-dib https://zuul.opendev.org/t/openstack/build/755fecc4c80048b88e8dc461f28f3333 : FAILURE in 6m 17s","accounts_in_message":[],"_revision_number":1},{"id":"d9a357bbc8a78738c407fdf179ad14bbd9102cbf","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 18:19:12.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"795cbbf9d68c0dafdffdc08f83c27db8025fa62b","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 18:25:09.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"74d50f2f91e70b263323b7fae95cc1e343895484","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 18:41:43.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"a613caec3f40450a2472535f518f11282a30edc3","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 18:46:42.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"d41bc295dbe08c9b49147a44371bbe02a06092d8","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 18:55:33.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"ca2247d05015eb4ed7331c258e5797cb06ee15d1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-02-12 19:08:39.000000000","message":"Patch Set 6: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-zuul-jobs-linters https://zuul.opendev.org/t/openstack/build/6af71ea5f24b474faa1b07831e65e1d1 : FAILURE in 7m 09s\n- project-config-dib https://zuul.opendev.org/t/openstack/build/b88aeb7f9c2742a4bb7424cef02677e3 : FAILURE in 6m 55s","accounts_in_message":[],"_revision_number":6},{"id":"40789547d88d2aec643f07f52ae91492765277d2","author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"date":"2020-02-12 22:24:48.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"0cdc126a8fc696a9e94ad5738f4ab4aa5b27e90e","author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"date":"2020-02-12 22:35:22.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"abc75a4f26f4ca6a2d38e0df4d35c841ae959fab","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-02-12 22:38:16.000000000","message":"Patch Set 7: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-zuul-jobs-linters https://zuul.opendev.org/t/openstack/build/85a28bafbfc14fa88fd8176c2c42671c : SUCCESS in 8m 18s\n- project-config-dib https://zuul.opendev.org/t/openstack/build/11f7c32b816c4b68ba93855eed11f813 : FAILURE in 4m 32s","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"4c1c8ac4e16b5470e956f5dc69c3583b3e805546","revisions":{"a9b86103a91cc63f332a571bf25a69c8d076446c":{"kind":"REWORK","_number":1,"created":"2020-02-12 17:59:16.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/1"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:59:03.000000000","tz":-360},"subject":"WIP Install pip and virtualenv only from get-pip","message":"WIP Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. But - also leave a cleanup script. Since\npip installs are pretty well self-contained, it\u0027s easy to remove\nthem with a simple \"rm\".  This cleanup script can be run by folks\nlike OSA in their first pre-playbook in zuul, and then their jobs\ncan subsequently apt-get or dnf install python3-virtualenv or\nwhatever they want to do that is appropriate.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/a9b86103a91cc63f332a571bf25a69c8d076446c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/a9b86103a91cc63f332a571bf25a69c8d076446c"}]},"branch":"refs/heads/master"},"4a139969e17088ee09106aedf4f478fc7ee7e515":{"kind":"REWORK","_number":2,"created":"2020-02-12 18:19:12.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/2"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 18:19:08.000000000","tz":-360},"subject":"WIP Install pip and virtualenv only from get-pip","message":"WIP Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. But - also leave a cleanup script. Since\npip installs are pretty well self-contained, it\u0027s easy to remove\nthem with a simple \"rm\".  This cleanup script can be run by folks\nlike OSA in their first pre-playbook in zuul, and then their jobs\ncan subsequently apt-get or dnf install python3-virtualenv or\nwhatever they want to do that is appropriate.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/4a139969e17088ee09106aedf4f478fc7ee7e515"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/4a139969e17088ee09106aedf4f478fc7ee7e515"}]},"branch":"refs/heads/master"},"da605bd6a4325cc267db4010070bd9721d6032ca":{"kind":"REWORK","_number":3,"created":"2020-02-12 18:25:09.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/3"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 18:25:06.000000000","tz":-360},"subject":"WIP Install pip and virtualenv only from get-pip","message":"WIP Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. But - also leave a cleanup script. Since\npip installs are pretty well self-contained, it\u0027s easy to remove\nthem with a simple \"rm\".  This cleanup script can be run by folks\nlike OSA in their first pre-playbook in zuul, and then their jobs\ncan subsequently apt-get or dnf install python3-virtualenv or\nwhatever they want to do that is appropriate.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/da605bd6a4325cc267db4010070bd9721d6032ca"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/da605bd6a4325cc267db4010070bd9721d6032ca"}]},"branch":"refs/heads/master"},"d0468dc72d45f049e9f5cc12aaa9ed7d2459b1db":{"kind":"REWORK","_number":4,"created":"2020-02-12 18:41:43.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/4"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 18:41:39.000000000","tz":-360},"subject":"WIP Install pip and virtualenv only from get-pip","message":"WIP Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. But - also leave a cleanup script. Since\npip installs are pretty well self-contained, it\u0027s easy to remove\nthem with a simple \"rm\".  This cleanup script can be run by folks\nlike OSA in their first pre-playbook in zuul, and then their jobs\ncan subsequently apt-get or dnf install python3-virtualenv or\nwhatever they want to do that is appropriate.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/d0468dc72d45f049e9f5cc12aaa9ed7d2459b1db"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/d0468dc72d45f049e9f5cc12aaa9ed7d2459b1db"}]},"branch":"refs/heads/master"},"e88166f4b903e2ac89185be4a62b7cc7f3b25015":{"kind":"REWORK","_number":5,"created":"2020-02-12 18:46:42.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/5"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 18:46:39.000000000","tz":-360},"subject":"WIP Install pip and virtualenv only from get-pip","message":"WIP Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. But - also leave a cleanup script. Since\npip installs are pretty well self-contained, it\u0027s easy to remove\nthem with a simple \"rm\".  This cleanup script can be run by folks\nlike OSA in their first pre-playbook in zuul, and then their jobs\ncan subsequently apt-get or dnf install python3-virtualenv or\nwhatever they want to do that is appropriate.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/e88166f4b903e2ac89185be4a62b7cc7f3b25015"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/e88166f4b903e2ac89185be4a62b7cc7f3b25015"}]},"branch":"refs/heads/master"},"f2f9e0c97332ee4c589bbb0b03de1b8c451ffc9b":{"kind":"REWORK","_number":6,"created":"2020-02-12 18:55:33.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/6"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 18:55:29.000000000","tz":-360},"subject":"WIP Install pip and virtualenv only from get-pip","message":"WIP Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. But - also leave a cleanup script. Since\npip installs are pretty well self-contained, it\u0027s easy to remove\nthem with a simple \"rm\".  This cleanup script can be run by folks\nlike OSA in their first pre-playbook in zuul, and then their jobs\ncan subsequently apt-get or dnf install python3-virtualenv or\nwhatever they want to do that is appropriate.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/f2f9e0c97332ee4c589bbb0b03de1b8c451ffc9b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/f2f9e0c97332ee4c589bbb0b03de1b8c451ffc9b"}]},"branch":"refs/heads/master"},"4c1c8ac4e16b5470e956f5dc69c3583b3e805546":{"kind":"REWORK","_number":7,"created":"2020-02-12 22:24:48.000000000","uploader":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"ref":"refs/changes/42/707442/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/project-config","ref":"refs/changes/42/707442/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/project-config refs/changes/42/707442/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/project-config refs/changes/42/707442/7"}}},"commit":{"parents":[{"commit":"9ce6de3dfc384de6a78cf02f1aa917379f14109e","subject":"Merge \"Add a job to promote docs.airshipit.org content\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/9ce6de3dfc384de6a78cf02f1aa917379f14109e"}]}],"author":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 17:05:27.000000000","tz":-360},"committer":{"name":"Monty Taylor","email":"mordred@inaugust.com","date":"2020-02-12 22:24:12.000000000","tz":-360},"subject":"Install pip and virtualenv only from get-pip","message":"Install pip and virtualenv only from get-pip\n\nWe have two diametrically opposed use cases amongst our user base.\n\nThe first are the folks who just need tox/virtualenv to pre-exist,\nso that they can do things like run tests. Neither tox nor virtualenv\nthemselves are fundamental to the thing under test, but are tools\nthat need to exist.\n\nThe second are folks for whom tools like pip or virtualenv are\nessential to the software (such as OSA). For these users, it is\nimportant that the version of those match what they expect their\nusers get from the distro.\n\nUp until now, we\u0027ve been using the pip-and-virtualenv element from\nDIB which installs distro versions of pip and virtualenv, then\noverwrites them with pip installed versions of the same, doing what\nit can to prevent subsequent distro installs of the packages from\nbreaking things. This produces a really strange environment for\nour friends in teh second camp, but honestly is a weird scenarios\nto wrap the head around.\n\nInstead, remove ALL distro packages of pip and virtualenv. Then\ninstall both via get-pip. We can\u0027t do that on Centos7 for python3,\nbut that\u0027s ok, because get-pip installs into /usr/local in that\ncase.\n\nLeave a cleanup script. Modern pip can uninstall stuff, including\nitself. So uninstall the things that we install.  This cleanup\nscript can be run by folks like OSA in their first pre-playbook\nin zuul, and then their jobs can subsequently apt-get or dnf\ninstall python3-virtualenv or whatever they want to do that is\nappropriate.\n\nFinally, install tox into a virtualenv and symlink it into\n/usr/local so that we won\u0027t be installing tox\u0027s depends globally.\n\nChange-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/4c1c8ac4e16b5470e956f5dc69c3583b3e805546"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/project-config/commit/4c1c8ac4e16b5470e956f5dc69c3583b3e805546"}]},"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"}]}],"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":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
