)]}'
{"id":"openstack%2Fswift~391605","triplet_id":"openstack%2Fswift~master~I3aa578d053a0397207fe0911a084bd47a34dd1f8","project":"openstack/swift","branch":"master","topic":"391605","hashtags":[],"change_id":"I3aa578d053a0397207fe0911a084bd47a34dd1f8","subject":"Added rsync_no_change metrics to recon","status":"NEW","created":"2016-10-29 12:55:48.000000000","updated":"2019-08-28 00:49:32.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ece783531ae362c7242198c8968552ad2f8856c3","_number":391605,"virtual_id_number":391605,"owner":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},{"_account_id":22440,"name":"Petr Kuběna","email":"petr.kubena@firma.seznam.cz","username":"petr.kubena"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":1,"date":"2019-08-28 00:49:32.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":18015,"name":"Peter Lisák","email":"peter.lisak@gmail.com","username":"peter.lisak"}],"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":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22440,"name":"Petr Kuběna","email":"petr.kubena@firma.seznam.cz","username":"petr.kubena"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"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":-1,"max":1},"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":18015,"name":"Peter Lisák","email":"peter.lisak@gmail.com","username":"peter.lisak"}],"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":[{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},{"_account_id":22440,"name":"Petr Kuběna","email":"petr.kubena@firma.seznam.cz","username":"petr.kubena"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":18015,"name":"Peter Lisák","email":"peter.lisak@gmail.com","username":"peter.lisak"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},{"_account_id":18015,"name":"Peter Lisák","email":"peter.lisak@gmail.com","username":"peter.lisak"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":22440,"name":"Petr Kuběna","email":"petr.kubena@firma.seznam.cz","username":"petr.kubena"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-10-29 13:02:09.000000000","updated_by":{"_account_id":18015,"name":"Peter Lisák","email":"peter.lisak@gmail.com","username":"peter.lisak"},"reviewer":{"_account_id":18015,"name":"Peter Lisák","email":"peter.lisak@gmail.com","username":"peter.lisak"},"state":"REVIEWER"},{"updated":"2016-10-29 13:02:12.000000000","updated_by":{"_account_id":22440,"name":"Petr Kuběna","email":"petr.kubena@firma.seznam.cz","username":"petr.kubena"},"reviewer":{"_account_id":22440,"name":"Petr Kuběna","email":"petr.kubena@firma.seznam.cz","username":"petr.kubena"},"state":"REVIEWER"},{"updated":"2016-10-29 13:59:47.000000000","updated_by":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2016-12-01 10:28:48.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2019-08-27 16:45:33.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"},{"updated":"2019-08-28 00:49:32.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":"652f24b1b5da58cbe847cd9d800c2fca18fa52b0","author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"date":"2016-10-29 12:55:48.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3fd5582656c4e48cb7931495efb390e5ca0f7b40","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-10-29 13:39:26.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-docs-ubuntu-xenial http://docs-draft.openstack.org/05/391605/1/check/gate-swift-docs-ubuntu-xenial/a77fe69//doc/build/html/ : SUCCESS in 3m 32s\n- gate-swift-pep8-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-pep8-ubuntu-xenial/0e96cec/ : SUCCESS in 2m 10s\n- gate-swift-python27-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-python27-ubuntu-xenial/44be76a/ : SUCCESS in 3m 12s\n- gate-swift-python34 http://logs.openstack.org/05/391605/1/check/gate-swift-python34/5693f74/ : SUCCESS in 1m 00s\n- gate-swift-python35-nv http://logs.openstack.org/05/391605/1/check/gate-swift-python35-nv/d34fcaf/ : SUCCESS in 1m 10s (non-voting)\n- gate-swift-tox-func-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-tox-func-ubuntu-xenial/734c46c/ : SUCCESS in 3m 36s\n- gate-swift-tox-func-in-process-fast-post-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-tox-func-in-process-fast-post-ubuntu-xenial/cbfb5fe/ : SUCCESS in 3m 36s\n- gate-swift-tox-func-in-process-encryption-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-tox-func-in-process-encryption-ubuntu-xenial/237e434/ : SUCCESS in 3m 12s\n- gate-tempest-dsvm-full-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-tempest-dsvm-full-ubuntu-xenial/bfce2d4/ : SUCCESS in 39m 12s\n- gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv http://logs.openstack.org/05/391605/1/check/gate-tempest-dsvm-neutron-identity-v3-only-full-ubuntu-xenial-nv/4c1a130/ : SUCCESS in 43m 23s (non-voting)\n- gate-grenade-dsvm-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-grenade-dsvm-ubuntu-xenial/a90a70d/ : SUCCESS in 25m 02s\n- gate-swift-dsvm-functional-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-dsvm-functional-ubuntu-xenial/d63b7ae/ : SUCCESS in 16m 44s\n- gate-swift-tox-bandit-ubuntu-xenial http://logs.openstack.org/05/391605/1/check/gate-swift-tox-bandit-ubuntu-xenial/3186e6b/ : SUCCESS in 1m 14s (non-voting)\n- gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv http://logs.openstack.org/05/391605/1/check/gate-swift-dsvm-functional-identity-v3-only-ubuntu-xenial-nv/fbdeb7e/ : SUCCESS in 16m 09s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"9b0496413fe6fd46405b3acb738176252733c5a4","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2016-10-29 13:59:47.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/391605/4645/ : FAILURE\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/391605/6606/ : SUCCESS\n\n* vm-saio-probe https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/391605/4952/probetests/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"473d7759e12df9e7de283faeb34f1ab656df690b","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2016-10-31 22:15:00.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nI can see what you\u0027re going for, but i\u0027m not sure a recon stat at the end of the cycle is the best place to be adding new stuff like this\n\nmainly - it\u0027s super niche - it\u0027s a fairly specific thing to track/monitor\n\nplus a similar metric/value/ey could be applied to ssync if we gave it a better name\n\nplus we already know that sometimes we\u0027re going to rsync suffixes even tho their contents are the same if there\u0027s a race from when we calculate local and remote hashes\n\n... and even if we thought it was higher than we like (let\u0027s assume it is!) it\u0027s not any more clear what\u0027d we do to change it - or especially what you might do in a running system if you noticed it trending upwards (is that even a big problem compared to other things we might monitor/optimize?)\n\nand then lastly you can probably pull this information ad-hoc from the logs by using the fact that the successful rsync log message goes to debug log level if there is no data transferred (existing code uses the same \"if not results\" logic)\n\nAnother option would perhaps be that in addition to logging to DEBUG we change the message slightly to indicate the useless work.","accounts_in_message":[],"_revision_number":1},{"id":"9dfde693c5b5e197a9234d576f934052245928bc","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2016-11-01 17:32:07.000000000","message":"Patch Set 1:\n\nI also wanted to say I was functionally testing this by forcing the REPLICATE verbs to always return mis-matched hashes from the object-server\n\n    diff --git a/swift/obj/server.py b/swift/obj/server.py\n    index 408b641..5cc6cc3 100644\n    --- a/swift/obj/server.py\n    +++ b/swift/obj/server.py\n    @@ -1076,6 +1076,7 @@ class ObjectController(BaseStorageServer):\n             except DiskFileDeviceUnavailable:\n                 resp \u003d HTTPInsufficientStorage(drive\u003ddevice, request\u003drequest)\n             else:\n    +            hashes \u003d {k: \u0027monkies\u0027 for k in hashes}\n                 resp \u003d Response(body\u003dpickle.dumps(hashes))\n             return resp","accounts_in_message":[],"_revision_number":1},{"id":"35504ae0baa5a5c237a38a0e934068799048d8e7","author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"date":"2016-11-24 11:43:57.000000000","message":"Patch Set 1:\n\n(1 comment)\n\n\u003eI can see what you\u0027re going for, but i\u0027m not sure a recon stat at the end of the cycle is the best place to be adding new stuff like this\n\nthis metrics is almost same as \"hashmash\", so same place is fine for me.\n\n\u003e plus a similar metric/value/ey could be applied to ssync if we gave it a better name\n\ni tried to figure out place to put this, and i\u0027m not sure if it\u0027s possible\n\n\u003e plus we already know that sometimes we\u0027re going to rsync suffixes even tho their contents are the same if there\u0027s a race from when we calculate local and remote hashes\n\nyep, but metrics can say if \"sometimes\" is not \"too often\" after any change/upgrade/fix/... Change of this metric can indicate something bad just happens (and it really happens, see next)\n\n\u003e ... and even if we thought it was higher than we like (let\u0027s assume it is!) it\u0027s not any more clear what\u0027d we do to change it - or especially what you might do in a running system if you noticed it trending upwards (is that even a big problem compared to other things we might monitor/optimize?)\n\nyep. But thanks to this patch, we found this bug: https://bugs.launchpad.net/swift/+bug/1634967\nThis metric can say where in Swift code is bug. But it can say: Hey, Ops, you done something, and something happens. Look into it. Same way is working all others metrics for us (hashmatch, failed, ...)\n\nSo it\u0027s really usefull.\n\n\u003e and then lastly you can probably pull this information ad-hoc from the logs by using the fact that the successful rsync log message goes to debug log level if there is no data transferred (existing code uses the same \"if not results\" logic)\n\nwhich is much more work. Just have \"number to read from recon\" is much more simple for production (for us)","accounts_in_message":[],"_revision_number":1},{"id":"b468bbe0157cda3b21134aedfba2ef4b8802e837","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2016-12-01 10:28:48.000000000","message":"Patch Set 1: Code-Review+1\n\nmaybe we could put this on the agenda to discuss at the next swift meeting\n\nas a developer - I\u0027m fine with this change - it\u0027s small and easy instrumentation that helped debug this particular issue this one time - great\n\nas a maintainer - I\u0027m frustrated by a lack of direction around cluster telemetry - if this showed up in our recon drops one day - how would people know to update their tooling - or what the value means or what to do with it?\n\nas an operator - I hate recon.  The drops are too slow and don\u0027t give me any insight into a cycle - or half of my nodes are showing stale data.  The cli is gross.  I already have a monitoring agent on my nodes - the loadavg/memory stuff seems like compleatly \"not our domain\" bullshit.  How do people monitor their distributed fleet - swift doesn\u0027t need to invent new stuff here; piggy back on what works.  We picked collectd for system metrics, because it has great plugin support for monitoring other applications we run (e.g. memcached [1]); so naturally for swift we have a collectd plugins to snarf the recon json directly - polling the recon stores via HTTP parsing the json to munge it into metrics and funnel it into time series data store seems wrose.  If we had good opensource collectd integration (or something else?) could we drop some of recon ecosystem - is there a more agnostic way to emit application specific stats like to write to /proc?  Half the stuff collected by recon are counters - they are only sensible to consume as #\u0027s per time unit (and cycle is a bad time unit!) - counters should get emitted as statsd metrics (they\u0027re better documented anyway [2])\n\nSo that\u0027s like 2 out of my 3 hats telling me this is good money at bad - but lacking a better plan maybe it\u0027s better to polish the turd than to live in the S^\u0026*?\n\n1. https://collectd.org/wiki/index.php/Table_of_Plugins\n2. http://docs.openstack.org/developer/swift/admin_guide.html?highlight\u003dtelemetry#reporting-metrics-to-statsd","accounts_in_message":[],"_revision_number":1},{"id":"2f782752462302e5b34b8044fa82465c597e65c0","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2017-05-25 00:50:01.000000000","message":"Patch Set 1:\n\nI\u0027m still +1 on this change - i haven\u0027t really looked that closely at the implementation - as long as it works and doesn\u0027t break anything I don\u0027t care.  If we had some infrastructure to document recon I\u0027d probably say that should be updated - but we don\u0027t - so i\u0027m not that inclined to say \"you must create a plan for documenting recon metrics before this can merge\" - rather i\u0027m just less excited about adding another undocumented thing I have to figure out how to maintain/support/not-ever-break.\n\nIf we could get (or you wanted to kickstart) an organized effort behind making recon drops better/useful/documented I could *definitely* support that (+2s and +As abound time permitting) - dumping more rando junk in there I\u0027m more meh +1, good luck!\n\n... maybe romain could review?  He uses recon and might have some opinions/vision/design ideas that might help me get some context.  I think braincline was also at the summit talking about dumping more periodic stats (more frequently that cycle) into recon drops?  \n\n... who else ... idk?  thiago is positive/helpful just *in general* - if you explain to him how this change being merged would directly contribute to an increase on your own personal overall happiness he might help you out!?\n\nIf you feel like the change is blocked there is always notmyname - the PTL will save us all!  Good luck!","accounts_in_message":[],"_revision_number":1},{"id":"644204442793966426be504f962e8faff0f31eec","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-09-15 01:11:22.000000000","message":"Patch Set 1: Verified-1\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":1},{"id":"caa85fb93c189a47e4b435a13e7b2e79679e696e","author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"date":"2017-12-18 02:18:42.000000000","message":"Removed reviewer Jenkins with the following votes:\n\n* Verified-1 by Jenkins (3)\n","accounts_in_message":[],"_revision_number":1},{"id":"d5f391cc06a44ce67f007f03cbb3a462c119a18f","author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"date":"2019-08-24 19:09:26.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7ee9f001acc7a74434468204609aef974aef10ee","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-24 20:16:17.000000000","message":"Patch Set 2: 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-tox-docs https://zuul.opendev.org/t/openstack/build/1513c202eedd489396d81d7a9f704345 : SUCCESS in 6m 40s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/e8803ea182e54553be42d46b403adc59 : SUCCESS in 1h 00m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/33c212895cb44ddb8bc5755d77124423 : SUCCESS in 48m 01s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1a05470fd4c646f18aefd13ec4d26824 : SUCCESS in 9m 07s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/37578aa74b0347e09009262557dbb3ec : FAILURE in 11m 15s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/3e20c1ed129f43dbaf793c9bf6d60809 : FAILURE in 12m 07s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/67a1f1878ac84182be639cfbc64b9c7b : FAILURE in 12m 15s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/ed4638445c0743949338d658c1545bdb : SUCCESS in 15m 05s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/b4e778a692c74372b536d8d3dc0c19b6 : SUCCESS in 9m 29s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/fc363dccc6984ebd91f794eb41eb260a : SUCCESS in 26m 03s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/8d78884ede764917ac8c74cbfbfbf83d : SUCCESS in 10m 21s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/d35087c97b8c4930b9b01475f14796c4 : SUCCESS in 13m 14s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/8ce9acc4b77f41b7b0e120d3392b54f4 : SUCCESS in 10m 26s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/039517e15c65461496d1bb28416549e7 : SUCCESS in 12m 16s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/aa7e2d6cdc764e8ea03563cdbfc13dfc : SUCCESS in 15m 46s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f6943ffe0cbb4f5592ba5d7484ffacdd : SUCCESS in 12m 12s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/da336035cf1546879ff37e452153a011 : SUCCESS in 14m 18s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9734df8871e244ae8d4574dfbb3c3206 : SUCCESS in 16m 13s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/16377125c3d84ffeb17858ba4020670a : FAILURE in 32m 10s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f8eee50fc699479a9806f97b01760d11 : SUCCESS in 27m 29s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/0e947b6885324e72aed718117d347577 : SUCCESS in 27m 50s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/dc508b811f5d4199928a5f6f243f42c3 : SUCCESS in 32m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9983884f16c94b4b91d72ab9e0a4dc9b : FAILURE in 12m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bbe225804d354be6b21148ad62035b02 : FAILURE in 5m 41s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ff113a13784c4cf8a1679692bf65b250 : SUCCESS in 20m 09s","accounts_in_message":[],"_revision_number":2},{"id":"b9df9929ad4e91f43a3738ad7bf61989842bf81c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-27 16:45:11.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"e1312af197fc20a4967b2b198829fa27d2c92dbf","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-27 16:45:33.000000000","message":"Patch Set 3:\n\nJust fixing up unit tests following https://review.opendev.org/#/c/555563/","accounts_in_message":[],"_revision_number":3},{"id":"668a59209a73c2cdaf85c74836ca40e6833c4305","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-27 20:26:16.000000000","message":"Patch Set 3: 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-tox-docs https://zuul.opendev.org/t/openstack/build/5f64d046efb64559a79456393629f30c : SUCCESS in 8m 07s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/a405817642f6439db364fa7cf91064ef : SUCCESS in 58m 28s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/99f5dc3b830c4e4480542377d0b4b011 : FAILURE in 45m 11s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/27ab3fe6b8174e66a742eb363fe3621b : SUCCESS in 10m 26s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/6812c3b1fd0c456f8faccf282e6c3c0b : SUCCESS in 12m 33s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/24d268b8915b41798da247a71272e7d4 : SUCCESS in 12m 04s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5fa7075ff3af48d6870b78540ec46f00 : SUCCESS in 12m 19s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/1c544b0377a14d05976b96c1dab00bbe : SUCCESS in 11m 28s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/b25c1c171606492e812b237dc02293a5 : SUCCESS in 15m 02s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/1548192b5d644e09804678088d68731a : SUCCESS in 11m 12s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/26cb52ee9c8c4d559a04d4189dd3a0a8 : SUCCESS in 14m 54s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/4d3c3a58c103481289b7189f8659e87d : SUCCESS in 19m 53s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/22984a795dae4ec790821242082c051f : SUCCESS in 11m 35s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/ec4c39163a124c9199bef32051046ab7 : SUCCESS in 10m 30s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/ad5d663cede74d0eba85efbc6fc0a224 : SUCCESS in 9m 56s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/be6bbc9a3ede45088afd5c913279ce25 : SUCCESS in 12m 26s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/916c766c439b4beba48543e06877f8a6 : SUCCESS in 13m 53s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d6101b1438494384ba38646de0e7ffd9 : SUCCESS in 16m 54s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/6f3299598c14462f846574e2c398d04a : SUCCESS in 33m 12s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/35d8e0309988485496ef74f9576f5ec7 : SUCCESS in 28m 20s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/7e57ff03186e4589881ca7239271bfdb : SUCCESS in 34m 21s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/acab4e205f3648a5a488c5819380d21f : SUCCESS in 30m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d27fcd51224b43cba7edb1f3e2e89d62 : SUCCESS in 12m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/49587d54376a46fa9efe583d8faaf290 : FAILURE in 5m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b55ae1fd79394e6081f126aa854d1489 : SUCCESS in 21m 42s","accounts_in_message":[],"_revision_number":3},{"id":"b04d7e216db95d4e049d870cf989821518b2df96","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-27 21:37:20.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"8350f8091875ca2dd2514085acba1fedd5637ae8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-28 00:49:32.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1e329ca8c25748b3bf4e0fd143f18024 : SUCCESS in 5m 57s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/fe1ddffc3025462cabdc3e9c71fb0c90 : SUCCESS in 1h 05m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/87ae08d3545740dc8510c5427ec64e0b : SUCCESS in 54m 46s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/471faab493be4c7caab68511ef44669c : SUCCESS in 10m 19s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/3cbe5a816ced4349ba8120d445476231 : SUCCESS in 17m 03s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/39cb1c92e6894be7a4662ececcb0aea8 : SUCCESS in 15m 11s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/842e88b2d10c46e580a4f1677df0d087 : SUCCESS in 14m 18s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/953c4033a48e44c7b315900f54a7c287 : SUCCESS in 9m 14s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/14c15863a77b470185ed61382b3743bd : SUCCESS in 10m 09s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/35b3f2805abf47c7a36fd6865138dd2f : SUCCESS in 10m 28s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/97d997aa6bb4484a860bb37d3fc63a47 : SUCCESS in 12m 00s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/084ad3057fc84ff4bb758a6c0689dbbe : SUCCESS in 14m 53s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/2a2c5585764f4341b9e48bda90312bed : SUCCESS in 11m 40s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/cfac6532260a49de8c3a8044adbf1b66 : SUCCESS in 12m 56s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/2a5991ad9a2f4449b7ea158ad6dd845e : SUCCESS in 13m 01s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/77b2554abef24e3fa79006d47cde7b00 : SUCCESS in 14m 17s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/b0127ba1f68c4e9ca664351425e04fb0 : SUCCESS in 18m 05s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8dcaf02b67304c3ab338d2ff70b83a76 : SUCCESS in 17m 49s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/dce12b84ee694cb3be6545018fb2edb6 : SUCCESS in 37m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fbf40d7c40594ceaa68f4e7479e0ffa2 : SUCCESS in 32m 23s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/50d69702b7414edfb2aca736c85a10e9 : SUCCESS in 31m 19s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a5ff011d63184ca9bb59b9e675dfb76b : SUCCESS in 31m 21s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1e55e74bc90046188f6cecde37293fbb : SUCCESS in 12m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f082902997b245899610dae51f851955 : SUCCESS in 6m 32s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/927f4e6561f0461b8f2ac5ca822032bb : SUCCESS in 24m 20s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"dc6cba3c5a9682501b84d66fc346c404dbbb0b91","revisions":{"f106ab58e49798576b55171cd46d928196d5c727":{"kind":"REWORK","_number":1,"created":"2016-10-29 12:55:48.000000000","uploader":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"ref":"refs/changes/05/391605/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/05/391605/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/05/391605/1"}}},"commit":{"parents":[{"commit":"e55f3ad20369b77f4fbfbd9b820a260128035db3","subject":"Merge \"Refactor SLO If-Match / HEAD tests\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e55f3ad20369b77f4fbfbd9b820a260128035db3"}]}],"author":{"name":"Ondřej Nový","email":"ondrej.novy@firma.seznam.cz","date":"2016-10-29 12:53:27.000000000","tz":120},"committer":{"name":"Ondřej Nový","email":"ondrej.novy@firma.seznam.cz","date":"2016-10-29 12:53:27.000000000","tz":120},"subject":"Added rsync_no_change metrics to recon","message":"Added rsync_no_change metrics to recon\n\nThis counter is incremented if rsync don\u0027t returns any stdout. That means\nrsync run was \"useless\", because it didn\u0027t synced any data. This happens\nwhen there are suffix missmatched/desync but no data changes.\n\nChange-Id: I3aa578d053a0397207fe0911a084bd47a34dd1f8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f106ab58e49798576b55171cd46d928196d5c727"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f106ab58e49798576b55171cd46d928196d5c727"}]},"branch":"refs/heads/master"},"c0a2a500cb4f12a40fc0ce14bfac732f403a9e2f":{"kind":"REWORK","_number":2,"created":"2019-08-24 19:09:26.000000000","uploader":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"ref":"refs/changes/05/391605/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/05/391605/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/05/391605/2"}}},"commit":{"parents":[{"commit":"2545372055922abd681ef665f9040590d2f5806c","subject":"py3: Switch swift-dsvm-functional-py3 to run tests under py3","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2545372055922abd681ef665f9040590d2f5806c"}]}],"author":{"name":"Ondřej Nový","email":"ondrej.novy@firma.seznam.cz","date":"2016-10-29 12:53:27.000000000","tz":120},"committer":{"name":"Ondřej Nový","email":"ondrej.novy@firma.seznam.cz","date":"2019-08-24 19:08:54.000000000","tz":120},"subject":"Added rsync_no_change metrics to recon","message":"Added rsync_no_change metrics to recon\n\nThis counter is incremented if rsync don\u0027t returns any stdout. That means\nrsync run was \"useless\", because it didn\u0027t synced any data. This happens\nwhen there are suffix missmatched/desync but no data changes.\n\nChange-Id: I3aa578d053a0397207fe0911a084bd47a34dd1f8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c0a2a500cb4f12a40fc0ce14bfac732f403a9e2f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c0a2a500cb4f12a40fc0ce14bfac732f403a9e2f"}]},"branch":"refs/heads/master"},"8ebe1fbaca48e06a1fe4a0f761ab304a59385867":{"kind":"REWORK","_number":3,"created":"2019-08-27 16:45:11.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/05/391605/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/05/391605/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/05/391605/3"}}},"commit":{"parents":[{"commit":"2545372055922abd681ef665f9040590d2f5806c","subject":"py3: Switch swift-dsvm-functional-py3 to run tests under py3","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2545372055922abd681ef665f9040590d2f5806c"}]}],"author":{"name":"Ondřej Nový","email":"ondrej.novy@firma.seznam.cz","date":"2016-10-29 12:53:27.000000000","tz":120},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-08-27 16:44:16.000000000","tz":-420},"subject":"Added rsync_no_change metrics to recon","message":"Added rsync_no_change metrics to recon\n\nThis counter is incremented if rsync doesn\u0027t return any stdout. That means\nrsync run was \"useless\", because it didn\u0027t sync any data. This happens\nwhen there are suffix missmatched/desync but no data changes.\n\nChange-Id: I3aa578d053a0397207fe0911a084bd47a34dd1f8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8ebe1fbaca48e06a1fe4a0f761ab304a59385867"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8ebe1fbaca48e06a1fe4a0f761ab304a59385867"}]},"branch":"refs/heads/master"},"dc6cba3c5a9682501b84d66fc346c404dbbb0b91":{"kind":"REWORK","_number":4,"created":"2019-08-27 21:37:20.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/05/391605/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/05/391605/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/05/391605/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/05/391605/4"}}},"commit":{"parents":[{"commit":"2545372055922abd681ef665f9040590d2f5806c","subject":"py3: Switch swift-dsvm-functional-py3 to run tests under py3","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2545372055922abd681ef665f9040590d2f5806c"}]}],"author":{"name":"Ondřej Nový","email":"ondrej.novy@firma.seznam.cz","date":"2016-10-29 12:53:27.000000000","tz":120},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-08-27 21:37:16.000000000","tz":-420},"subject":"Added rsync_no_change metrics to recon","message":"Added rsync_no_change metrics to recon\n\nThis counter is incremented if rsync doesn\u0027t return any stdout. That means\nrsync run was \"useless\", because it didn\u0027t sync any data. This happens\nwhen there are suffix missmatched/desync but no data changes.\n\nChange-Id: I3aa578d053a0397207fe0911a084bd47a34dd1f8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dc6cba3c5a9682501b84d66fc346c404dbbb0b91"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dc6cba3c5a9682501b84d66fc346c404dbbb0b91"}]},"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":""}}}]}
