)]}'
{"id":"openstack%2Fmonasca-agent~585067","triplet_id":"openstack%2Fmonasca-agent~master~Ie91add9af39f2ab0e5b575390c0c6355563c0bfc","project":"openstack/monasca-agent","branch":"master","topic":"swift_handoffs","hashtags":[],"change_id":"Ie91add9af39f2ab0e5b575390c0c6355563c0bfc","subject":"Add swift_handoffs check plugin to monasca","status":"MERGED","created":"2018-07-24 02:07:36.000000000","updated":"2019-10-22 11:41:16.000000000","submitted":"2019-10-22 11:41:16.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":15,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"585067-1571744476934-9e4bfd77","meta_rev_id":"3c8063c1cda2fc8711a1e1f2529c26f24f05553b","_number":585067,"virtual_id_number":585067,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2019-10-22 11:41:16.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},{"value":0,"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"}],"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":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},{"value":2,"date":"2019-10-21 11:18:43.000000000","_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"}],"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":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},{"value":1,"date":"2019-10-22 11:29:44.000000000","_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-07-30 12:04:32.000000000","updated_by":{"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},"reviewer":{"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},"state":"REVIEWER"},{"updated":"2019-10-22 11:29:44.000000000","updated_by":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"reviewer":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"state":"REVIEWER"},{"updated":"2019-10-22 11:41: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":"e28caf2760a30160dd1fe0c0b816629200d414ed","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2018-07-24 02:07:36.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b9df1781308122ab434de9b3aafbabecb0bae07c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-07-24 03:05:14.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/67/585067/1/check/openstack-tox-pep8/432dfab/ : SUCCESS in 5m 36s\n- openstack-tox-py27 http://logs.openstack.org/67/585067/1/check/openstack-tox-py27/5beea38/ : SUCCESS in 6m 01s\n- openstack-tox-py35 http://logs.openstack.org/67/585067/1/check/openstack-tox-py35/dab4b52/ : SUCCESS in 4m 30s (non-voting)\n- monasca-tempest-python-influxdb http://logs.openstack.org/67/585067/1/check/monasca-tempest-python-influxdb/408648f/ : SUCCESS in 52m 10s (non-voting)\n- monasca-tempest-java-influxdb http://logs.openstack.org/67/585067/1/check/monasca-tempest-java-influxdb/14f0cd6/ : SUCCESS in 49m 35s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"676254b357d6ac2fa920efd354797d279ca8e3c9","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2018-07-24 06:48:49.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"be07e7be84bbd3a699f4ac529961f95547d74a89","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-07-24 07:56:55.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/67/585067/2/check/openstack-tox-pep8/e9bade6/ : SUCCESS in 6m 13s\n- openstack-tox-py27 http://logs.openstack.org/67/585067/2/check/openstack-tox-py27/63b5f27/ : SUCCESS in 7m 37s\n- openstack-tox-py35 http://logs.openstack.org/67/585067/2/check/openstack-tox-py35/60ba55f/ : SUCCESS in 6m 02s (non-voting)\n- monasca-tempest-python-influxdb http://logs.openstack.org/67/585067/2/check/monasca-tempest-python-influxdb/2c5ffb7/ : SUCCESS in 50m 21s (non-voting)\n- monasca-tempest-java-influxdb http://logs.openstack.org/67/585067/2/check/monasca-tempest-java-influxdb/9970683/ : SUCCESS in 57m 31s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"2f5d5a067fc5b45f57a8e6a4264a3191fa411c35","author":{"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},"date":"2018-07-30 12:04:32.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)\n\nVery, nice, thank you!\n\nI\u0027ve got two comments on it though:\n\n1) Can you please paste the information from the commit message to the documentation?\n2) The way I understood the setup information in the commit message, one could set up this check based solely on information available on the machine where it is supposed to run. Is that correct? If so, could you implement a monasca_setup plugin to set this up automatically? This is not really a hard -1 though - can happen in a followup review as far as I\u0027m concerned.","accounts_in_message":[],"_revision_number":2},{"id":"2b89daa00fba169cb096597ffc4400a4a7a7690a","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2018-08-02 04:51:16.000000000","message":"Patch Set 2:\n\nYeah, that is true, by looking at the Swift configuration and the rings available you could auto configure it. Good idea!\n\nCool, now I\u0027ll get to learn about the monasca _setup side!\n\nI\u0027ll go add the info to the documentation, thanks Johannes. Concise commit messages isn\u0027t something that comes easy to me.. in other words I\u0027m long winded :P \n\nA new patchset will be up soon-ish","accounts_in_message":[],"_revision_number":2},{"id":"21c67f3f59b1e1002cbb41a90afe44adafb998e4","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2018-08-06 13:57:55.000000000","message":"Patch Set 2:\n\n(6 comments)\n\nThanks for your contribution. Great work. Comments below.","accounts_in_message":[],"_revision_number":2},{"id":"83c940cf66595d89dd1fe7a12a89442ee98ad5be","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2018-08-21 00:43:57.000000000","message":"Patch Set 2:\n\n(6 comments)\n\nthanks both of you, new patch incoming.","accounts_in_message":[],"_revision_number":2},{"id":"2710fc1fc7c0fa91fd6452bc7e7c9be4b36f66bf","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2018-08-21 03:27:30.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"1268b1a9328029404edab0a8bd477b3a817141e4","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-08-21 04:25:27.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/67/585067/3/check/openstack-tox-pep8/cb7057a/ : SUCCESS in 4m 46s\n- openstack-tox-py27 http://logs.openstack.org/67/585067/3/check/openstack-tox-py27/75ee3db/ : SUCCESS in 5m 25s\n- openstack-tox-py35 http://logs.openstack.org/67/585067/3/check/openstack-tox-py35/c281420/ : SUCCESS in 5m 15s\n- build-openstack-sphinx-docs http://logs.openstack.org/67/585067/3/check/build-openstack-sphinx-docs/4508145/ : POST_FAILURE in 5m 14s (non-voting)\n- monasca-tempest-python-influxdb http://logs.openstack.org/67/585067/3/check/monasca-tempest-python-influxdb/e2d096c/ : SUCCESS in 52m 15s (non-voting)\n- monasca-tempest-java-influxdb http://logs.openstack.org/67/585067/3/check/monasca-tempest-java-influxdb/2e6e54a/ : SUCCESS in 49m 40s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"6c0f4c0900c85768b18763c8227a891f4c2180a7","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-04-03 09:40:44.000000000","message":"Patch Set 4: Patch Set 3 was rebased","accounts_in_message":[],"_revision_number":4},{"id":"3dcc25169180aaa818bfc156412efb6200210099","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-04-03 10:39:36.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack http://logs.openstack.org/67/585067/4/check/test-release-openstack/b1694f7/ : SUCCESS in 4m 02s\n- build-openstack-sphinx-docs http://logs.openstack.org/67/585067/4/check/build-openstack-sphinx-docs/31d9e9f/ : POST_FAILURE in 5m 36s (non-voting)\n- openstack-tox-pep8 http://logs.openstack.org/67/585067/4/check/openstack-tox-pep8/6165e41/ : SUCCESS in 5m 16s\n- openstack-tox-py27 http://logs.openstack.org/67/585067/4/check/openstack-tox-py27/93e1b9e/ : SUCCESS in 5m 29s\n- openstack-tox-py35 http://logs.openstack.org/67/585067/4/check/openstack-tox-py35/309c3fc/ : SUCCESS in 5m 13s\n- openstack-tox-py36 http://logs.openstack.org/67/585067/4/check/openstack-tox-py36/7ec3253/ : SUCCESS in 5m 49s\n- openstack-tox-py37 http://logs.openstack.org/67/585067/4/check/openstack-tox-py37/480f00f/ : SUCCESS in 7m 25s\n- monasca-tempest-python2-influxdb http://logs.openstack.org/67/585067/4/check/monasca-tempest-python2-influxdb/b45636a/ : FAILURE in 36m 34s (non-voting)\n- monasca-tempest-python3-influxdb http://logs.openstack.org/67/585067/4/check/monasca-tempest-python3-influxdb/48f9c10/ : SUCCESS in 34m 05s (non-voting)\n- monasca-tempest-java-influxdb http://logs.openstack.org/67/585067/4/check/monasca-tempest-java-influxdb/5b70a2e/ : FAILURE in 49m 32s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"c9c6cd9240acb97a3ae5c9850d86da7b8da1e565","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-04-03 11:45:04.000000000","message":"Patch Set 4:\n\n(2 comments)\n\nMinor comment in docs. Other than that looks good to me.","accounts_in_message":[],"_revision_number":4},{"id":"3b4652fce98c1ddf4e333d980be38d9614121a58","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-10-09 04:25:03.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"2ee40d88a72f79e74d9674dbd0c3f282d136363f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-09 05:10:15.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/abd2771ea18a4734a7f19dd3cd74aee7 : SUCCESS in 3m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/39989883f2194d7698c163acbaee141f : SUCCESS in 4m 34s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/d56a56dd0b7942d68a154c9119516377 : SUCCESS in 4m 47s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/173ea034a26e4a3ca8df9e11ee1effd6 : SUCCESS in 4m 39s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/33c03f57bc8c4fa281aa2dd073b42c33 : SUCCESS in 5m 02s\n- build-monasca-docker-image https://zuul.opendev.org/t/openstack/build/4992502451c948d79426ca15615b3b1b : SUCCESS in 25m 05s\n- monasca-tempest-python2-influxdb https://zuul.opendev.org/t/openstack/build/9589294cd49f4fba8ac2710f1c88c3cd : SUCCESS in 36m 55s (non-voting)\n- monasca-tempest-python3-influxdb https://zuul.opendev.org/t/openstack/build/9f14955a2f9f4c1ea629fcfd1277bf00 : SUCCESS in 35m 22s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"81ae4d6bb9de9d053f54d69311e5792a620c3c4c","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-10-09 17:11:01.000000000","message":"Patch Set 5: Code-Review+2\n\nThanks Matthew!","accounts_in_message":[],"_revision_number":5},{"id":"8b19b70058df4559a2cd385c61ac53e9c51a22ec","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-10-18 12:04:44.000000000","message":"Patch Set 5: Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"74a17c22834f2c03456ff7249cd0a266d14b1a86","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-18 12:10:42.000000000","message":"Patch Set 5: Verified-2\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.","accounts_in_message":[],"_revision_number":5},{"id":"21659ad7d67e6eb891efc0105ca7b1c70b5454c8","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-10-18 15:16:38.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"0ae054629fe1342e8fc2db1133314077405729cd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-18 16:08:27.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/b6278b062d204de8a239ed0aac061dd7 : SUCCESS in 4m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a437868e188d41998db75a66a63552bf : SUCCESS in 5m 39s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/2151a0d7b5484691a4be57ab5126dc76 : SUCCESS in 4m 25s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/dbcc1abb08b843bd8ab45ff84917dcc2 : SUCCESS in 5m 14s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/5bece787ae76410fb1828f95681060e0 : SUCCESS in 5m 00s\n- build-monasca-docker-image https://zuul.opendev.org/t/openstack/build/790acdd407304d958e547d49c3ad2d4b : SUCCESS in 29m 39s\n- monasca-tempest-python2-influxdb https://zuul.opendev.org/t/openstack/build/795f256d52174c3289078a552b5c6d45 : SUCCESS in 48m 42s (non-voting)\n- monasca-tempest-python3-influxdb https://zuul.opendev.org/t/openstack/build/366aec0cdb194678b28a59389ba09f46 : SUCCESS in 48m 33s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"dc7473408dec5aba1011d9f47806f6c8fe5ced8a","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-10-21 11:18:43.000000000","message":"Patch Set 6: Code-Review+2","accounts_in_message":[],"_revision_number":6},{"id":"81057a0636d8a558b5e3cb23f9aebca76a4e94c1","author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"date":"2019-10-22 11:29:44.000000000","message":"Patch Set 6: Workflow+1","accounts_in_message":[],"_revision_number":6},{"id":"aec4dea75d27ec58a1c3a5e923b375f8244b5201","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-22 11:29:56.000000000","message":"Patch Set 6: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":6},{"id":"6ec032347dab2638fa0cd3b151bdce70b45a424c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-22 11:41:16.000000000","message":"Patch Set 6: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/bef89d112aea47ecbec64f607125a5f5 : SUCCESS in 6m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b13e7332f55e4c88b08e56282cd39871 : SUCCESS in 9m 32s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/d0f11f2fb3f1472890bbbaada7469397 : SUCCESS in 6m 15s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e9216dbfd1344684b5256f76573bf5ab : SUCCESS in 5m 00s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/9188a615d8c24fa6a71f00c451371dc2 : SUCCESS in 5m 29s","accounts_in_message":[],"_revision_number":6},{"id":"cce064e870658a6a4e0f2d96d4d715208216e35d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-22 11:41:16.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"833e5946fe3ceb221414c96fbd7bb743c202d720","revisions":{"8356db74c29289da75c48489f0cc6eff9b50a6a0":{"kind":"REWORK","_number":1,"created":"2018-07-24 02:07:36.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/67/585067/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/monasca-agent","ref":"refs/changes/67/585067/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/1"}}},"commit":{"parents":[{"commit":"3712e124a6bbde0b01046b32277f06921df2d012","subject":"Trivial fix typo of description","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/3712e124a6bbde0b01046b32277f06921df2d012"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 00:09:56.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 02:07:07.000000000","tz":600},"subject":"Add swift_handoffs check plugin to monasca","message":"Add swift_handoffs check plugin to monasca\n\nA powerful metric to watch for a swift cluster is the\nnumber of handoff partitions on a drive on a storage node.\n\nA build up of handoff nodes on a particular server could\nindicate a disk problem somewhere in the cluster. A bottleneck\nsomewhere. Or better, when would be a good time to rebalance\nthe ring (as you\u0027d want to do it when existing backend data\nmovement is at a minimum.\n\nSo it turns out to be a great visualisation of the health of\na cluster.\n\nThat\u0027s what this check plugin does. Each instance check takes\nthe following values:\n\n  ring: \u003cpath to a Swift ring file\u003e\n  devices: \u003cpath to the directory of mountpoints\u003e\n  granularity: \u003ceither server or device\u003e\n\nTo be able to determine primary vs handoff partitions on a drive\nthe swift ring needs to be consulted. If a storage node stores\nmore then 1 ring, and an instance would be defined for each.\n\nYou give swift a bunch of disks. These disks are placed in what\nswift calls the \u0027devices\u0027 location. That is a directory where a\nmount point for each mounted swift drive is located.\n\nFinally, you can decide on the granularity, which defaults to\n`server` if not defined. Only 2 metrics are created from this\ncheck:\n\n  swift_handoffs.handoffs\n  swift_handoffs.primary\n\nBut with the hostname dimension a ring dimension will also be set.\nAllowing the graphing of the handoff vs partitions of each ring.\nWhen the granularity is set to device, then an additional\ndimension to the metric is added, the device name (the name of\nthe devices mount point). This allows the graphing and monitoring\nof each device in a server if a finer granularity is required.\n\nBecause we need to consult the Swift ring there is a runtime\nrequirement on the Python Swift module being installed. But\nthis isn\u0027t required for the unit tests. Making it a runtime\ndependency means when the check is loaded it\u0027ll log an error\nand then exit if it can\u0027t import the swift module.\n\nThis is the second of two Swift check plugins I\u0027ve been working on.\nFor more details see my blog post[1]\n\n[1] - https://oliver.net.au/?p\u003d358\n\nChange-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/8356db74c29289da75c48489f0cc6eff9b50a6a0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/8356db74c29289da75c48489f0cc6eff9b50a6a0"}]},"branch":"refs/heads/master"},"b2402056975a039f42aab4611fffc4709857d3cb":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2018-07-24 06:48:49.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/67/585067/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/monasca-agent","ref":"refs/changes/67/585067/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/2"}}},"commit":{"parents":[{"commit":"3712e124a6bbde0b01046b32277f06921df2d012","subject":"Trivial fix typo of description","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/3712e124a6bbde0b01046b32277f06921df2d012"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 00:09:56.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 06:48:41.000000000","tz":0},"subject":"Add swift_handoffs check plugin to monasca","message":"Add swift_handoffs check plugin to monasca\n\nA powerful metric to watch for a swift cluster is the\nnumber of handoff partitions on a drive on a storage node.\n\nA build up of handoff nodes on a particular server could\nindicate a disk problem somewhere in the cluster. A bottleneck\nsomewhere. Or better, when would be a good time to rebalance\nthe ring (as you\u0027d want to do it when existing backend data\nmovement is at a minimum.\n\nSo it turns out to be a great visualisation of the health of\na cluster.\n\nThat\u0027s what this check plugin does. Each instance check takes\nthe following values:\n\n  ring: \u003cpath to a Swift ring file\u003e\n  devices: \u003cpath to the directory of mountpoints\u003e\n  granularity: \u003ceither server or device\u003e\n\nTo be able to determine primary vs handoff partitions on a drive\nthe swift ring needs to be consulted. If a storage node stores\nmore then 1 ring, and an instance would be defined for each.\n\nYou give swift a bunch of disks. These disks are placed in what\nswift calls the \u0027devices\u0027 location. That is a directory where a\nmount point for each mounted swift drive is located.\n\nFinally, you can decide on the granularity, which defaults to\n`server` if not defined. Only 2 metrics are created from this\ncheck:\n\n  swift_handoffs.handoffs\n  swift_handoffs.primary\n\nBut with the hostname dimension a ring dimension will also be set.\nAllowing the graphing of the handoff vs partitions of each ring.\nWhen the granularity is set to device, then an additional\ndimension to the metric is added, the device name (the name of\nthe devices mount point). This allows the graphing and monitoring\nof each device in a server if a finer granularity is required.\n\nBecause we need to consult the Swift ring there is a runtime\nrequirement on the Python Swift module being installed. But\nthis isn\u0027t required for the unit tests. Making it a runtime\ndependency means when the check is loaded it\u0027ll log an error\nand then exit if it can\u0027t import the swift module.\n\nThis is the second of two Swift check plugins I\u0027ve been working on.\nFor more details see my blog post[1]\n\nThe handoff/primary scanning code and idea for these metrics is\ntaken from a gist provided by Clay Gerrard from SwiftStack. So thanks\nClay for sharing the code.\n\n[1] - https://oliver.net.au/?p\u003d358\n\nChange-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/b2402056975a039f42aab4611fffc4709857d3cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/b2402056975a039f42aab4611fffc4709857d3cb"}]},"branch":"refs/heads/master"},"8f9860c96ee208de02785cce1cc21f507dc24fc8":{"kind":"REWORK","_number":3,"created":"2018-08-21 03:27:30.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/67/585067/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/monasca-agent","ref":"refs/changes/67/585067/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/3"}}},"commit":{"parents":[{"commit":"3712e124a6bbde0b01046b32277f06921df2d012","subject":"Trivial fix typo of description","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/3712e124a6bbde0b01046b32277f06921df2d012"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 00:09:56.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-08-21 03:26:20.000000000","tz":600},"subject":"Add swift_handoffs check plugin to monasca","message":"Add swift_handoffs check plugin to monasca\n\nA powerful metric to watch for a swift cluster is the\nnumber of handoff partitions on a drive on a storage node.\n\nA build up of handoff nodes on a particular server could\nindicate a disk problem somewhere in the cluster. A bottleneck\nsomewhere. Or better, when would be a good time to rebalance\nthe ring (as you\u0027d want to do it when existing backend data\nmovement is at a minimum.\n\nSo it turns out to be a great visualisation of the health of\na cluster.\n\nThat\u0027s what this check plugin does. Each instance check takes\nthe following values:\n\n  ring: \u003cpath to a Swift ring file\u003e\n  devices: \u003cpath to the directory of mountpoints\u003e\n  granularity: \u003ceither server or device\u003e\n\nTo be able to determine primary vs handoff partitions on a drive\nthe swift ring needs to be consulted. If a storage node stores\nmore then 1 ring, and an instance would be defined for each.\n\nYou give swift a bunch of disks. These disks are placed in what\nswift calls the \u0027devices\u0027 location. That is a directory where a\nmount point for each mounted swift drive is located.\n\nFinally, you can decide on the granularity, which defaults to\n`server` if not defined. Only 2 metrics are created from this\ncheck:\n\n  swift.partitions.primary_count\n  swift.partitions.handoff_count\n\nBut with the hostname dimension a ring dimension will also be set.\nAllowing the graphing of the handoff vs partitions of each ring.\nWhen the granularity is set to device, then an additional\ndimension to the metric is added, the device name (the name of\nthe devices mount point). This allows the graphing and monitoring\nof each device in a server if a finer granularity is required.\n\nBecause we need to consult the Swift ring there is a runtime\nrequirement on the Python Swift module being installed. But\nthis isn\u0027t required for the unit tests. Making it a runtime\ndependency means when the check is loaded it\u0027ll log an error\nand then exit if it can\u0027t import the swift module.\n\nThis is the second of two Swift check plugins I\u0027ve been working on.\nFor more details see my blog post[1]\n\n[1] - https://oliver.net.au/?p\u003d358\n\nChange-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/8f9860c96ee208de02785cce1cc21f507dc24fc8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/8f9860c96ee208de02785cce1cc21f507dc24fc8"}]},"branch":"refs/heads/master"},"b58eaa9f83571e2379e906c7c40e7434a2242d72":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2019-04-03 09:40:44.000000000","uploader":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"ref":"refs/changes/67/585067/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/monasca-agent","ref":"refs/changes/67/585067/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/4"}}},"commit":{"parents":[{"commit":"4bec3d011080696e880727b9f41680333a057685","subject":"Merge \"Do not add dimensions to init_config\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/4bec3d011080696e880727b9f41680333a057685"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 00:09:56.000000000","tz":600},"committer":{"name":"Witold Bedyk","email":"witold.bedyk@suse.com","date":"2019-04-03 09:40:44.000000000","tz":0},"subject":"Add swift_handoffs check plugin to monasca","message":"Add swift_handoffs check plugin to monasca\n\nA powerful metric to watch for a swift cluster is the\nnumber of handoff partitions on a drive on a storage node.\n\nA build up of handoff nodes on a particular server could\nindicate a disk problem somewhere in the cluster. A bottleneck\nsomewhere. Or better, when would be a good time to rebalance\nthe ring (as you\u0027d want to do it when existing backend data\nmovement is at a minimum.\n\nSo it turns out to be a great visualisation of the health of\na cluster.\n\nThat\u0027s what this check plugin does. Each instance check takes\nthe following values:\n\n  ring: \u003cpath to a Swift ring file\u003e\n  devices: \u003cpath to the directory of mountpoints\u003e\n  granularity: \u003ceither server or device\u003e\n\nTo be able to determine primary vs handoff partitions on a drive\nthe swift ring needs to be consulted. If a storage node stores\nmore then 1 ring, and an instance would be defined for each.\n\nYou give swift a bunch of disks. These disks are placed in what\nswift calls the \u0027devices\u0027 location. That is a directory where a\nmount point for each mounted swift drive is located.\n\nFinally, you can decide on the granularity, which defaults to\n`server` if not defined. Only 2 metrics are created from this\ncheck:\n\n  swift.partitions.primary_count\n  swift.partitions.handoff_count\n\nBut with the hostname dimension a ring dimension will also be set.\nAllowing the graphing of the handoff vs partitions of each ring.\nWhen the granularity is set to device, then an additional\ndimension to the metric is added, the device name (the name of\nthe devices mount point). This allows the graphing and monitoring\nof each device in a server if a finer granularity is required.\n\nBecause we need to consult the Swift ring there is a runtime\nrequirement on the Python Swift module being installed. But\nthis isn\u0027t required for the unit tests. Making it a runtime\ndependency means when the check is loaded it\u0027ll log an error\nand then exit if it can\u0027t import the swift module.\n\nThis is the second of two Swift check plugins I\u0027ve been working on.\nFor more details see my blog post[1]\n\n[1] - https://oliver.net.au/?p\u003d358\n\nChange-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/b58eaa9f83571e2379e906c7c40e7434a2242d72"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/b58eaa9f83571e2379e906c7c40e7434a2242d72"}]},"branch":"refs/heads/master"},"8e723532170235f364d12126543ab2ba526c221e":{"kind":"REWORK","_number":5,"created":"2019-10-09 04:25:03.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/67/585067/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/monasca-agent","ref":"refs/changes/67/585067/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/5"}}},"commit":{"parents":[{"commit":"4bec3d011080696e880727b9f41680333a057685","subject":"Merge \"Do not add dimensions to init_config\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/4bec3d011080696e880727b9f41680333a057685"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 00:09:56.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-10-09 04:24:47.000000000","tz":660},"subject":"Add swift_handoffs check plugin to monasca","message":"Add swift_handoffs check plugin to monasca\n\nA powerful metric to watch for a swift cluster is the\nnumber of handoff partitions on a drive on a storage node.\n\nA build up of handoff nodes on a particular server could\nindicate a disk problem somewhere in the cluster. A bottleneck\nsomewhere. Or better, when would be a good time to rebalance\nthe ring (as you\u0027d want to do it when existing backend data\nmovement is at a minimum.\n\nSo it turns out to be a great visualisation of the health of\na cluster.\n\nThat\u0027s what this check plugin does. Each instance check takes\nthe following values:\n\n  ring: \u003cpath to a Swift ring file\u003e\n  devices: \u003cpath to the directory of mountpoints\u003e\n  granularity: \u003ceither server or device\u003e\n\nTo be able to determine primary vs handoff partitions on a drive\nthe swift ring needs to be consulted. If a storage node stores\nmore then 1 ring, and an instance would be defined for each.\n\nYou give swift a bunch of disks. These disks are placed in what\nswift calls the \u0027devices\u0027 location. That is a directory where a\nmount point for each mounted swift drive is located.\n\nFinally, you can decide on the granularity, which defaults to\n`server` if not defined. Only 2 metrics are created from this\ncheck:\n\n  swift.partitions.primary_count\n  swift.partitions.handoff_count\n\nBut with the hostname dimension a ring dimension will also be set.\nAllowing the graphing of the handoff vs partitions of each ring.\nWhen the granularity is set to device, then an additional\ndimension to the metric is added, the device name (the name of\nthe devices mount point). This allows the graphing and monitoring\nof each device in a server if a finer granularity is required.\n\nBecause we need to consult the Swift ring there is a runtime\nrequirement on the Python Swift module being installed. But\nthis isn\u0027t required for the unit tests. Making it a runtime\ndependency means when the check is loaded it\u0027ll log an error\nand then exit if it can\u0027t import the swift module.\n\nThis is the second of two Swift check plugins I\u0027ve been working on.\nFor more details see my blog post[1]\n\n[1] - https://oliver.net.au/?p\u003d358\n\nChange-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/8e723532170235f364d12126543ab2ba526c221e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/8e723532170235f364d12126543ab2ba526c221e"}]},"branch":"refs/heads/master"},"833e5946fe3ceb221414c96fbd7bb743c202d720":{"kind":"REWORK","_number":6,"created":"2019-10-18 15:16:38.000000000","uploader":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"ref":"refs/changes/67/585067/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/monasca-agent","ref":"refs/changes/67/585067/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/monasca-agent refs/changes/67/585067/6"}}},"commit":{"parents":[{"commit":"0d929d01a864b45b10ed80baef9d4f5b0086dcf8","subject":"Add swift_recon check plugin to monasca","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/0d929d01a864b45b10ed80baef9d4f5b0086dcf8"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2018-07-24 00:09:56.000000000","tz":600},"committer":{"name":"Witek Bedyk","email":"witold.bedyk@suse.com","date":"2019-10-18 15:16:14.000000000","tz":120},"subject":"Add swift_handoffs check plugin to monasca","message":"Add swift_handoffs check plugin to monasca\n\nA powerful metric to watch for a swift cluster is the\nnumber of handoff partitions on a drive on a storage node.\n\nA build up of handoff nodes on a particular server could\nindicate a disk problem somewhere in the cluster. A bottleneck\nsomewhere. Or better, when would be a good time to rebalance\nthe ring (as you\u0027d want to do it when existing backend data\nmovement is at a minimum.\n\nSo it turns out to be a great visualisation of the health of\na cluster.\n\nThat\u0027s what this check plugin does. Each instance check takes\nthe following values:\n\n  ring: \u003cpath to a Swift ring file\u003e\n  devices: \u003cpath to the directory of mountpoints\u003e\n  granularity: \u003ceither server or device\u003e\n\nTo be able to determine primary vs handoff partitions on a drive\nthe swift ring needs to be consulted. If a storage node stores\nmore then 1 ring, and an instance would be defined for each.\n\nYou give swift a bunch of disks. These disks are placed in what\nswift calls the \u0027devices\u0027 location. That is a directory where a\nmount point for each mounted swift drive is located.\n\nFinally, you can decide on the granularity, which defaults to\n`server` if not defined. Only 2 metrics are created from this\ncheck:\n\n  swift.partitions.primary_count\n  swift.partitions.handoff_count\n\nBut with the hostname dimension a ring dimension will also be set.\nAllowing the graphing of the handoff vs partitions of each ring.\nWhen the granularity is set to device, then an additional\ndimension to the metric is added, the device name (the name of\nthe devices mount point). This allows the graphing and monitoring\nof each device in a server if a finer granularity is required.\n\nBecause we need to consult the Swift ring there is a runtime\nrequirement on the Python Swift module being installed. But\nthis isn\u0027t required for the unit tests. Making it a runtime\ndependency means when the check is loaded it\u0027ll log an error\nand then exit if it can\u0027t import the swift module.\n\nThis is the second of two Swift check plugins I\u0027ve been working on.\nFor more details see my blog post[1]\n\n[1] - https://oliver.net.au/?p\u003d358\n\nChange-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/833e5946fe3ceb221414c96fbd7bb743c202d720"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/monasca-agent/commit/833e5946fe3ceb221414c96fbd7bb743c202d720"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
