)]}'
{"id":"openstack%2Fopenstack-ansible-openstack_hosts~789546","triplet_id":"openstack%2Fopenstack-ansible-openstack_hosts~stable%2Ftrain~I4f82bb1a08d01f30c45444f52db357e47245fe31","project":"openstack/openstack-ansible-openstack_hosts","branch":"stable/train","hashtags":[],"change_id":"I4f82bb1a08d01f30c45444f52db357e47245fe31","subject":"Add custom user-agent for git clones from opendev.org","status":"MERGED","created":"2021-05-04 10:24:21.000000000","updated":"2021-05-13 11:01:37.000000000","submitted":"2021-05-13 11:00:13.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":"789546","meta_rev_id":"544da94491f81a38ef6cd47a66d975441476669e","_number":789546,"virtual_id_number":789546,"owner":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-05-13 11:00:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}],"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":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2021-05-11 13:37:53.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":2,"date":"2021-05-13 09:15:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}],"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":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":1,"date":"2021-05-13 09:15:08.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}],"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"},{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-05-04 11:57:14.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"},{"updated":"2021-05-11 13:37:53.000000000","updated_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"REVIEWER"},{"updated":"2021-05-13 09:15:08.000000000","updated_by":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"reviewer":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"state":"REVIEWER"}],"messages":[{"id":"9830141e84615242b600149c3ef2c1397126d880","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"date":"2021-05-04 10:24:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"17a0849f1c348c8d1ba2b430d767ec93b652e1c8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-04 11:57:14.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\n\n\n- openstack-ansible-linters https://zuul.opendev.org/t/openstack/build/35b7eb6a6a7b46f79f3aecb66e260fc5 : SUCCESS in 10m 56s\n- openstack-ansible-functional-debian-stable https://zuul.opendev.org/t/openstack/build/04f46efd62dd400f9e4f17926f5d2536 : SUCCESS in 10m 01s\n- openstack-ansible-functional-centos-7 https://zuul.opendev.org/t/openstack/build/81e6ac837eb8493d84e843e65242787c : FAILURE in 10m 43s (non-voting)\n- openstack-ansible-functional-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/5a50fcbac0a441638215a9e21a3655a3 : SUCCESS in 13m 14s\n- openstack-ansible-deploy-aio_metal-debian-buster https://zuul.opendev.org/t/openstack/build/b94b69d93c374a9a9f2ae4d5e912838f : SUCCESS in 51m 44s\n- openstack-ansible-deploy-aio_metal-debian-stable https://zuul.opendev.org/t/openstack/build/d968c418dbdc4027bc630a99e5cfdfb7 : SUCCESS in 1h 00m 21s\n- openstack-ansible-deploy-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/d84ba815b94e4a878ce3697e23c9552f : FAILURE in 18m 03s\n- openstack-ansible-deploy-aio_metal-opensuse-15 https://zuul.opendev.org/t/openstack/build/bd80f817cb024c4fa5749a08da1e7e85 : RETRY_LIMIT in 16m 24s (non-voting)\n- openstack-ansible-deploy-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/837306015ab6450bb48f7481b16c9b5f : SUCCESS in 56m 17s\n- openstack-ansible-upgrade-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/2d27b68d507d41ba9be4c93fbf1e6381 : FAILURE in 53m 20s (non-voting)\n- openstack-ansible-upgrade-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/574043109f6f4dbf96c60543617706d5 : SUCCESS in 1h 30m 18s\n- openstack-ansible-deploy-aio_distro_metal-centos-7 https://zuul.opendev.org/t/openstack/build/d65ed2f3896b4ffd848f135a6ac1ce3d : FAILURE in 18m 07s\n- openstack-ansible-deploy-aio_distro_metal-opensuse-15 https://zuul.opendev.org/t/openstack/build/c81877691829487b9be5c47c0a7eefcf : RETRY_LIMIT in 15m 31s (non-voting)\n- openstack-ansible-deploy-aio_distro_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/b28c9b7c2a8e41a7b86802123ba402f5 : SUCCESS in 59m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/826dd1559e7c44c4815e606de2be8be4 : SUCCESS in 5m 29s","accounts_in_message":[],"_revision_number":1},{"id":"5ee001342474a037d8f3545cba4673a08b3e79d1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"date":"2021-05-07 14:28:15.000000000","message":"Patch Set 2: Published edit on patch set 1.","accounts_in_message":[],"_revision_number":2},{"id":"e21bec08b98bebe150549296f37f89cf4342c462","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-07 17:02:33.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-ansible-linters https://zuul.opendev.org/t/openstack/build/857f224113914492bfa45f5b3f40e7c8 : SUCCESS in 16m 05s\n- openstack-ansible-functional-debian-stable https://zuul.opendev.org/t/openstack/build/2a0ee4c999fb424d99223a39e5ac9f61 : SUCCESS in 11m 48s\n- openstack-ansible-functional-centos-7 https://zuul.opendev.org/t/openstack/build/50536a37fd094a8ea2ca6e3d95e0e6f2 : SUCCESS in 18m 08s (non-voting)\n- openstack-ansible-functional-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/d41896cdff674ba198f174a4fc7eb121 : SUCCESS in 14m 49s\n- openstack-ansible-deploy-aio_metal-debian-buster https://zuul.opendev.org/t/openstack/build/4868a3c5803a4f2c8f8613746633706c : SUCCESS in 1h 11m 02s\n- openstack-ansible-deploy-aio_metal-debian-stable https://zuul.opendev.org/t/openstack/build/939a9d9a7a7b426ca2542042e957c068 : SUCCESS in 1h 27m 50s\n- openstack-ansible-deploy-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/8c7b68e70fb94603869a136a7ddec726 : SUCCESS in 1h 23m 46s\n- openstack-ansible-deploy-aio_metal-opensuse-15 https://zuul.opendev.org/t/openstack/build/d1bf16407b6d4edd88a9a0c255424590 : RETRY_LIMIT in 16m 49s (non-voting)\n- openstack-ansible-deploy-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/4fca329617c04d7bb1b02efce375dbd4 : SUCCESS in 1h 12m 26s\n- openstack-ansible-upgrade-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/3fbbd39854654cb6817ce7503907eb2e : SUCCESS in 2h 25m 19s (non-voting)\n- openstack-ansible-upgrade-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/8f304be846414032a51bdd3b91e77cfd : SUCCESS in 1h 40m 20s\n- openstack-ansible-deploy-aio_distro_metal-centos-7 https://zuul.opendev.org/t/openstack/build/ea821c6fdc854e1ebfdb21db04c9aedf : SUCCESS in 1h 05m 47s\n- openstack-ansible-deploy-aio_distro_metal-opensuse-15 https://zuul.opendev.org/t/openstack/build/9d90adab6a834c66b3a409ba00fdcc4a : RETRY_LIMIT in 18m 29s (non-voting)\n- openstack-ansible-deploy-aio_distro_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/f3969971db724a53a710fe06c6997906 : SUCCESS in 1h 08m 43s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4958e94457724e00ac770a946dbc9610 : SUCCESS in 9m 30s","accounts_in_message":[],"_revision_number":2},{"id":"14b90511094870188fc5d444499b0bc3c586e16d","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2021-05-11 13:37:53.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"79f5f20a020624487be4c1058af9cf5c124be360","author":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"date":"2021-05-13 09:15:08.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"a5d51f5487eff712fd73d62ad94343c771f57caa","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 09:15:50.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"3414496c4e4ea77b809c6156fa4ba6a14b26bff1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 11:00:12.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-ansible-linters https://zuul.opendev.org/t/openstack/build/0a773f8cad16438baf6ee3daa9febe6d : SUCCESS in 14m 06s\n- openstack-ansible-functional-debian-stable https://zuul.opendev.org/t/openstack/build/6480f547f0614235bdde2374f50b930d : SUCCESS in 16m 47s\n- openstack-ansible-functional-centos-7 https://zuul.opendev.org/t/openstack/build/f37c9205bb5d4ce78ca4f849715acf7d : SUCCESS in 16m 43s (non-voting)\n- openstack-ansible-functional-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/7ecae7e96556418fb47ced36b6a48e8e : SUCCESS in 12m 05s\n- openstack-ansible-deploy-aio_metal-debian-buster https://zuul.opendev.org/t/openstack/build/b488efae345049a1b24b42ccffc2618b : SUCCESS in 59m 06s\n- openstack-ansible-deploy-aio_metal-debian-stable https://zuul.opendev.org/t/openstack/build/adb46f24cb724c85beb0397d5edea471 : SUCCESS in 1h 09m 31s\n- openstack-ansible-deploy-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/15b900e6a8a44e09afc0a9aec69786d0 : SUCCESS in 1h 40m 18s\n- openstack-ansible-deploy-aio_metal-opensuse-15 https://zuul.opendev.org/t/openstack/build/130c01d4215042ca82fe623366c01d74 : RETRY_LIMIT in 17m 21s (non-voting)\n- openstack-ansible-deploy-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/d11ed78adbeb4b13a7d7bcccae0b6f6b : SUCCESS in 1h 17m 32s\n- openstack-ansible-upgrade-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/6c4067dad8ba4d3b931a72c933786791 : SUCCESS in 1h 44m 06s\n- openstack-ansible-deploy-aio_distro_metal-centos-7 https://zuul.opendev.org/t/openstack/build/b19086c531604064b5a2bdffea3b7160 : SUCCESS in 1h 06m 08s\n- openstack-ansible-deploy-aio_distro_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/34b36edbe4b1475ca8e4c209173d9728 : SUCCESS in 59m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/80a2f8a2c34f4c44b06345ebf48b6883 : SUCCESS in 7m 04s","accounts_in_message":[],"_revision_number":2},{"id":"b173211519decd9a854719cfc7baca9b7ec09e6a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 11:00:13.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"544da94491f81a38ef6cd47a66d975441476669e","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 11:01:37.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f4728b957a644817b643dfdf074de825 : SUCCESS in 57s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"eb342077b1265f1f310d3ea5162bc1fade27d908","revisions":{"ad81748725063c68435521d783c312436fefa048":{"kind":"REWORK","_number":1,"created":"2021-05-04 10:24:21.000000000","uploader":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"ref":"refs/changes/46/789546/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-ansible-openstack_hosts","ref":"refs/changes/46/789546/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/1"}}},"commit":{"parents":[{"commit":"efbcbc65a3dac5e48fd9c9e6e0a2001383d06394","subject":"Use Train RDO packages on stable/train branch","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/efbcbc65a3dac5e48fd9c9e6e0a2001383d06394"}]}],"author":{"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","date":"2021-04-19 10:38:59.000000000","tz":60},"committer":{"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","date":"2021-05-04 10:23:54.000000000","tz":60},"subject":"Add custom user-agent for git clones from opendev.org","message":"Add custom user-agent for git clones from opendev.org\n\nThere has been one confirmed denial-of-service against the opendev\ngit servers due to an openstack-ansible deployment failing to\ncorrectly use cached wheels from the repo server and instead clone\nand build the source code for each openstack service on each target\nhost.\n\nWhilst we wait for further information to understand the root cause\nof that DOS, it is possible to adjust the user-agent that git uses\non a per-domain basis.\n\nA previous patch [1] creates a user-agent string very early during\nthe setup of a deployment host, or all-in-one environment, but not\nany other nodes in a multinode environment. This patch addresses\ncreating /etc/gitconfig for all hosts in a multinode environment.\n\nIf git is not installed on a host (which would be the default state\nfor hosts other than the deploy host and repo server) a placeholder\n/etc/gitconfig is written in case later in the deployment the\npython_venv_build role installs git and clones openstack services\nfrom source code to install into a venv without use of the repo\nserver container. The repo server should normally clone once for\neach service deployed for the whole environment.\n\nThe user-agent, where possible, contains the git version string,\nthe openstack-ansible version string and the OSA \u0027component\u0027 to\naid understanding traffic patterns seen at the opendev.org git servers.\n\n[1] https://review.opendev.org/c/openstack/openstack-ansible/+/786596\n\nChange-Id: I4f82bb1a08d01f30c45444f52db357e47245fe31\n(cherry picked from commit f2220c4fe05ac41c512280b9be2c586acdb9ddd3)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/ad81748725063c68435521d783c312436fefa048"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/ad81748725063c68435521d783c312436fefa048"}]},"branch":"refs/heads/stable/train"},"eb342077b1265f1f310d3ea5162bc1fade27d908":{"kind":"REWORK","_number":2,"created":"2021-05-07 14:28:15.000000000","uploader":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"ref":"refs/changes/46/789546/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-ansible-openstack_hosts","ref":"refs/changes/46/789546/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-ansible-openstack_hosts refs/changes/46/789546/2"}}},"commit":{"parents":[{"commit":"efbcbc65a3dac5e48fd9c9e6e0a2001383d06394","subject":"Use Train RDO packages on stable/train branch","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/efbcbc65a3dac5e48fd9c9e6e0a2001383d06394"}]}],"author":{"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","date":"2021-04-19 10:38:59.000000000","tz":60},"committer":{"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","date":"2021-05-07 14:28:11.000000000","tz":0},"subject":"Add custom user-agent for git clones from opendev.org","message":"Add custom user-agent for git clones from opendev.org\n\nThere has been one confirmed denial-of-service against the opendev\ngit servers due to an openstack-ansible deployment failing to\ncorrectly use cached wheels from the repo server and instead clone\nand build the source code for each openstack service on each target\nhost.\n\nWhilst we wait for further information to understand the root cause\nof that DOS, it is possible to adjust the user-agent that git uses\non a per-domain basis.\n\nA previous patch [1] creates a user-agent string very early during\nthe setup of a deployment host, or all-in-one environment, but not\nany other nodes in a multinode environment. This patch addresses\ncreating /etc/gitconfig for all hosts in a multinode environment.\n\nIf git is not installed on a host (which would be the default state\nfor hosts other than the deploy host and repo server) a placeholder\n/etc/gitconfig is written in case later in the deployment the\npython_venv_build role installs git and clones openstack services\nfrom source code to install into a venv without use of the repo\nserver container. The repo server should normally clone once for\neach service deployed for the whole environment.\n\nThe user-agent, where possible, contains the git version string,\nthe openstack-ansible version string and the OSA \u0027component\u0027 to\naid understanding traffic patterns seen at the opendev.org git servers.\n\n[1] https://review.opendev.org/c/openstack/openstack-ansible/+/786596\n\nChange-Id: I4f82bb1a08d01f30c45444f52db357e47245fe31\n(cherry picked from commit f2220c4fe05ac41c512280b9be2c586acdb9ddd3)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/eb342077b1265f1f310d3ea5162bc1fade27d908"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible-openstack_hosts/commit/eb342077b1265f1f310d3ea5162bc1fade27d908"}]},"branch":"refs/heads/stable/train"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
