)]}'
{"id":"openstack%2Fopenstack-ansible~740355","triplet_id":"openstack%2Fopenstack-ansible~master~Ida93dd2fa5724f61f266fef8be2618cc43989499","project":"openstack/openstack-ansible","branch":"master","topic":"feature-change-haproxy-galera-backend","hashtags":[],"change_id":"Ida93dd2fa5724f61f266fef8be2618cc43989499","subject":"Change haproxy galera backend to balance between all galera nodes","status":"ABANDONED","created":"2020-07-09 20:08:05.000000000","updated":"2021-02-09 17:29:36.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ab33f582d46a1c44de1daba4245dc28778754317","_number":740355,"virtual_id_number":740355,"owner":{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2020-07-09 22:51:01.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"}],"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":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":-1,"date":"2020-07-10 07:33:25.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"}],"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},{"value":0,"date":"2020-07-12 18:44:10.000000000","permitted_voting_range":{"min":-1,"max":0},"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"}],"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":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-07-09 22:51:01.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":"2020-07-10 07:33:25.000000000","updated_by":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"reviewer":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"state":"REVIEWER"}],"messages":[{"id":"70135c3b8de084ba531e9e9a512f219c89748e6f","author":{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"},"date":"2020-07-09 20:08:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a6dce24104827e61384e2452b9579ee63b04808e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-09 22:51:01.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-ansible-linters https://zuul.opendev.org/t/openstack/build/bea1b73771f2439b8b4ac13a1c13be97 : SUCCESS in 13m 41s\n- openstack-ansible-varstest-aio https://zuul.opendev.org/t/openstack/build/350b277d3a2244ffbaf757840198b2fb : SUCCESS in 28m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/94b29bf798d942de8b293730ad7afa26 : SUCCESS in 12m 46s\n- openstack-ansible-deploy-aio_lxc-centos-7 https://zuul.opendev.org/t/openstack/build/d13e9f01d8714ce0b342b5e3a440705b : SUCCESS in 2h 15m 05s\n- openstack-ansible-deploy-aio_lxc-centos-8 https://zuul.opendev.org/t/openstack/build/8b1eec96740b489188f787e2ee6e424b : SUCCESS in 1h 59m 20s\n- openstack-ansible-deploy-aio_lxc-debian-buster https://zuul.opendev.org/t/openstack/build/1ed4ec6dde814626854adaa390c0c76f : SUCCESS in 1h 43m 34s\n- openstack-ansible-deploy-aio_lxc-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/d38d3af47c7f4371ba406ff08c8336fc : SUCCESS in 1h 55m 49s\n- openstack-ansible-deploy-aio_lxc-ubuntu-focal https://zuul.opendev.org/t/openstack/build/66696671c79e481c9b28b4d030599bea : SUCCESS in 1h 33m 34s\n- openstack-ansible-deploy-aio_metal-debian-buster https://zuul.opendev.org/t/openstack/build/c23f721c1857402b8181f619b880de88 : SUCCESS in 1h 01m 49s\n- openstack-ansible-deploy-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/b3dd9c8963eb40708c713a580fe41d6d : SUCCESS in 1h 20m 06s\n- openstack-ansible-deploy-aio_metal-centos-8 https://zuul.opendev.org/t/openstack/build/ca1272dd4f47466189e4e37d46112f99 : SUCCESS in 1h 36m 22s\n- openstack-ansible-deploy-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/f58d13b88b954dbcafc45cce7e26b044 : SUCCESS in 1h 13m 09s\n- openstack-ansible-deploy-aio_metal-ubuntu-focal https://zuul.opendev.org/t/openstack/build/63940ca7835f4531810932b06804fe2b : SUCCESS in 1h 02m 54s\n- openstack-ansible-upgrade-aio_metal-centos-7 https://zuul.opendev.org/t/openstack/build/3e5630f97168424eab85029fe58a2b7b : SUCCESS in 2h 35m 49s (non-voting)\n- openstack-ansible-upgrade-aio_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/d1da84f3bdcc45a7ba2d50fe82a9d782 : SUCCESS in 1h 47m 01s\n- openstack-ansible-deploy-aio_distro_metal-centos-7 https://zuul.opendev.org/t/openstack/build/d6ebbfffb1b542f8a49ff6aeb3b717f8 : SUCCESS in 1h 03m 03s\n- openstack-ansible-deploy-aio_distro_metal-centos-8 https://zuul.opendev.org/t/openstack/build/58f15cc4b2554812a9482a06b19dda75 : SUCCESS in 1h 13m 39s\n- openstack-ansible-deploy-aio_distro_metal-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/c27f8d9004034caa9f96e81569da65ac : SUCCESS in 1h 09m 59s\n- openstack-ansible-deploy-aio_ceph-ubuntu-bionic https://zuul.opendev.org/t/openstack/build/993f2c6a417949f99a265d1f9d37553c : SUCCESS in 2h 31m 14s\n- openstack-ansible-deploy-aio_ceph-ubuntu-focal https://zuul.opendev.org/t/openstack/build/dfa7da3febff41e79c6e1361126fb31a : FAILURE in 59m 42s (non-voting)\n- openstack-ansible-deploy-aio_proxy-ubuntu-focal https://zuul.opendev.org/t/openstack/build/e766f7af744542acb23bcf143ba79406 : SUCCESS in 1h 39m 45s","accounts_in_message":[],"_revision_number":1},{"id":"e31c7007f57f5b1ddcb7a7019a77083b8c091b12","author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"date":"2020-07-10 07:33:25.000000000","message":"Patch Set 1: Code-Review-1\n\nMulti writer in not used here because of the risk of deadlock (see https://ghostaldev.com/2016/05/22/galera-gotcha-mysql-users/ and others).\n\nI\u0027m wary of this change as the decision to do active/standby will have been very deliberate, based on the actual transactions issued by the openstack services, plus any other 3rd party tools the operator runs against the database.","accounts_in_message":[],"_revision_number":1},{"id":"51ee218efb47fd2cefc7186a544f4e8235f517f6","author":{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"},"date":"2020-07-12 18:44:10.000000000","message":"Patch Set 1: Workflow-1\n\nHey Jonathan, the blog post you referenced seems to show that it\u0027s possible to handle deadlocks within the code making each transaction. I could be misunderstanding, but I\u0027m getting that from the part where it says \"the problems my team experienced were as a result of not correctly handling all the possible deadlock responses from Galera\". \n\nAre you saying that it\u0027s not guaranteed that openstack services can actually handle deadlocks? If they can\u0027t, I think the performance and scalability enhancements from this change would be substantial enough to warrant the addition of deadlock handling.","accounts_in_message":[],"_revision_number":1},{"id":"2f9cc667bddf7e3062eb8e08b520d80814a02766","author":{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"},"date":"2020-07-12 18:44:34.000000000","message":"Removed Workflow-1 by Ryan Drew \u003clearnitall0@gmail.com\u003e\n","accounts_in_message":[],"_revision_number":1},{"id":"80068ec162890c3769d8a9f3d881d251e11ab58f","author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"date":"2020-07-13 07:46:30.000000000","message":"Patch Set 1:\n\n\u003e Are you saying that it\u0027s not guaranteed that openstack services can\n \u003e actually handle deadlocks? If they can\u0027t, I think the performance\n \u003e and scalability enhancements from this change would be substantial\n \u003e enough to warrant the addition of deadlock handling.\n\nI guess what i\u0027m saying is that \u0027from experience\u0027 openstack is generally\noperated with galera in active/standby. I have no specifics about the ability\nof the openstack services to handle db deadloack, but thats pretty much\noutside the scope of openstack-ansible anyway.\n\nRedhat also run active/standby for their commercial product, see https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html/understanding_red_hat_openstack_platform_high_availability/osphafeatures","accounts_in_message":[],"_revision_number":1},{"id":"ab33f582d46a1c44de1daba4245dc28778754317","tag":"autogenerated:gerrit:abandon","author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"date":"2021-02-09 17:29:36.000000000","message":"Abandoned\n\ncannot justify the risk of a change to active/active currently","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c5e9f87eba9de73d573ab674132decdda6e28d7b","revisions":{"c5e9f87eba9de73d573ab674132decdda6e28d7b":{"kind":"REWORK","_number":1,"created":"2020-07-09 20:08:05.000000000","uploader":{"_account_id":32176,"name":"Ryan Drew","email":"learnitall0@gmail.com","username":"learnitall"},"ref":"refs/changes/55/740355/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-ansible","ref":"refs/changes/55/740355/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-ansible refs/changes/55/740355/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-ansible refs/changes/55/740355/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-ansible refs/changes/55/740355/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-ansible refs/changes/55/740355/1"}}},"commit":{"parents":[{"commit":"8760541cedd7bda736449007accf235f2b5fea23","subject":"Merge \"Fix tmpfiles-setup wait handler\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible/commit/8760541cedd7bda736449007accf235f2b5fea23"}]}],"author":{"name":"Ryan Drew","email":"learnitall0@gmail.com","date":"2020-07-09 20:07:44.000000000","tz":-360},"committer":{"name":"Ryan Drew","email":"learnitall0@gmail.com","date":"2020-07-09 20:07:44.000000000","tz":-360},"subject":"Change haproxy galera backend to balance between all galera nodes","message":"Change haproxy galera backend to balance between all galera nodes\n\nIn the current HAProxy backend configuration for galera enables a backup\nmodel in which only the first galera node in the `galera_all` group is\nused and all other nodes in the group are enabled as backups in case the\nfirst one fails.\n\nI propose we change the HAProxy configuration to allow for load\nbalancing between all galera nodes by default, since galera allows for\nread/write operations on any node in the cluster anyhow. This will\nenhance performance of database operations and increase the number of\nsimultaneous connections to the galera cluster without having to modify\nmariadb\u0027s configuration.\n\nIf needed, we could instead add a snippet into the documentation\ndescribing potential ways to load balance across a galera cluster\ndepending on the use case, and use this change as an example.\n\nChange-Id: Ida93dd2fa5724f61f266fef8be2618cc43989499\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible/commit/c5e9f87eba9de73d573ab674132decdda6e28d7b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-ansible/commit/c5e9f87eba9de73d573ab674132decdda6e28d7b"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
