)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"81e2b067a0d13bc2896a4917bb76fbd94d986bba","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Idc2cff8e871b44e139710525eaf830ac0215b265"},{"line_number":14,"context_line":"Depends-On: I796a8b493d65290899721515ed30b5680a540ead"},{"line_number":15,"context_line":"implements: tooz-driver-policy"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_ddd0db21","line":15,"updated":"2015-10-31 12:21:57.000000000","message":"Implements: with a big I I think","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"}],"doc/source/supported-drivers.rst":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"704da93808d7d3ab8f4d4b31dddad48051791189","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  dependents, preferrably a devstack gate job."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* Must be considered safe by the backend\u0027s own community for leader"},{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_377420fc","line":33,"updated":"2015-11-06 22:15:04.000000000","message":"So leader election seems odd to mention here.\n\nHow about we just say must be \u0027CP\u0027 and refer to the CAP theroum for what that is (unless u want to explain what CP is here also).","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"dfe55ba414048b43e2c3e2d5f7c0c1dc613c3ffc","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  dependents, preferrably a devstack gate job."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* Must be considered safe by the backend\u0027s own community for leader"},{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_8a767aa2","line":33,"in_reply_to":"da85f559_377420fc","updated":"2015-11-10 20:51:29.000000000","message":"Decisions, including deprecation, should be based *only* on test results. Not on old articles or obsolete field experience shared.  \n\nHence, in this spec we should:\n1) define expected consistency and availability claims we want for DLM in OpenStack, in a face of network partitions as well. Examples, as I see it naively:\n\n- a driver should fail a lock request if cannot ensure consistent results of certain degree for a given timeout.\n\n- should not fail a lock request unless there is at least one instance of a driver may serve requests\n\n- should fail if cannot confirm (or ensure, see STONITH) the other instance failure in A/A mode\n\n2) pick tools for those \u0027CP\u0027 tests, like jepsen or blockade or anything else or self-made. It should not be hard to establish an artificial network partition.\n\n3) design a test to check the claims by the tool.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"90fa6e7c991f4f3f9390c08e8ef61b921b813724","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  dependents, preferrably a devstack gate job."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* Must be considered safe by the backend\u0027s own community for leader"},{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_ca4c82ca","line":33,"in_reply_to":"da85f559_8a767aa2","updated":"2015-11-10 21:08:42.000000000","message":"I agree, I\u0027d like this tool and such to exist, but I think its beyond the tooz team to do this, help would be appreciated if this is the way to go (so that the above turns into reality).","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"0e53f530ea4d57e55fd821083e23a1e42b61d384","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  dependents, preferrably a devstack gate job."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* Must be considered safe by the backend\u0027s own community for leader"},{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_6a70f6dc","line":33,"in_reply_to":"da85f559_ca4c82ca","updated":"2015-11-10 21:20:17.000000000","message":"Have to agree with Josh here. I wish we had the resources to do the type of stress testing that Aphyr does on these systems. I don\u0027t think we do, but I think we can reason about whether something has changed significantly to invalidate any known test results.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"126e1ba7fadf17341049a6b5600aa05a288d328f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_0cf946c7","line":36,"updated":"2015-10-31 21:42:05.000000000","message":"Soooo https://review.openstack.org/#/c/240681/ allows for both of the above to be programatically determined (as long as we come up with enums that describe the capabilities well enough); various backends have various safety under various situations (redis is safe under partitions if consistent hashing is used and keys are sharded onto that hashing scheme, availability is obviously sacrificed, for some part of the redis cluster)...\n\nSoooo do we want to say \u0027fully consistent\u0027 with paxos or raft or zab (paxos variant), because that type of consistent is slightly different than other types. How deep down this pit do we want to go?","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4f4402f7ac1c6c5e9cec256c97210e11f8959f99","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_cac24234","line":36,"in_reply_to":"1a26ad4f_0cf946c7","updated":"2015-11-10 21:03:10.000000000","message":"I\u0027d say we to go deep as well as this https://aphyr.com/posts/313-strong-consistency-models (see the picture somewhere below, with a \"known\" consistency models depicted on it)","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"38bba2ed11edfff7ef5cf3a1ee3e427e768a45a1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8a016a_37f2d79b","line":36,"in_reply_to":"da85f559_1d72247d","updated":"2015-11-16 11:53:06.000000000","message":"I only assumed a lock cannot be \"fair\" if the clustered DLM solution acts in a split brain. For example, when a write lock to a same object may be given by several requests done to different misbehaving partitions. Or when a history of requests and locks given is not linear anymore.\n\nSo my point there is a clear dependency between the \"fairness of locks acquisition\" and real consistency model of a given DLM solution, which is first of all based on the implementation of well known leader election / distributed consensus algorithms.\n\nPlease read this \"RabbitMQ as a lock service\" example as well https://aphyr.com/posts/315-call-me-maybe-rabbitmq .\nIt clearly shows how broken state of the clustered DLM solution affects the locks acquisition safety. Feel free to reach me directly if you have more questions.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"ed3b8ecddd24c5ca2ce06f3053287b3843b23892","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_61d72b24","line":36,"in_reply_to":"da85f559_2b759531","updated":"2015-11-13 09:22:52.000000000","message":"My point is: imagine a partitioned distributed system suddenly breaks its internal state consistency claims provided by its own implementation of raft, paxos etc. And it starts to process requests for locks in a non serializable manner, for example. Could we expect to achieve fail locking? I believe not. So, here is the direct correlation.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ada729ec74e0e3274ce668597243dbb14819496b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_1d72247d","line":36,"in_reply_to":"da85f559_61d72b24","updated":"2015-11-13 19:29:32.000000000","message":"Bogdan I\u0027m confused by the last comment, can u explain that one in more depth. I\u0027d like to understand that more, but am unable to.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"efd2fd124dc1fd1c3d86bc124aefbab5882770d7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_da8db92b","line":36,"in_reply_to":"da85f559_8d01b407","updated":"2015-11-12 20:32:20.000000000","message":"@Clint, I believe that \"fairness in lock acquisition\" is in direct dependency of the \"consistency models\" of a given DLM distributed consensus algorithm. How well would it behave in a face of partitions and after recovered - so fair locks acquisition would be.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"295c06bed121a507a6ca527ed7de7d9205febadc","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_1efbac7a","line":36,"in_reply_to":"da85f559_8d01b407","updated":"2015-11-10 22:43:32.000000000","message":"And more of the reason zookeeper can do it:\n\nhttp://zookeeper.apache.org/doc/r3.2.1/zookeeperProgrammers.html#Sequence+Nodes+--+Unique+Naming\n\nThat sequence number (and zookeeper enforcing the increase of it) basically allows for fair locking (by ensuring the lock is given to the next requestor, aka the next lowest sequence number).","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"0e53f530ea4d57e55fd821083e23a1e42b61d384","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_8d01b407","line":36,"in_reply_to":"da85f559_cac24234","updated":"2015-11-10 21:20:17.000000000","message":"The first bullet point is an appeal to the maintainers of the backend, so unless those communities review our programmatic determination of it, I don\u0027t think having it relieves us of checking in upstream. The second bullet doesn\u0027t have much to do with consistency models. It is about fairness in lock acquisition. We basically need to ask upstream if one can have many waiters on a single lock and expect that they will all be serviced in the order they tried to wait. AFAIK, etcd and consul have both refused to make that guarantee, but ZK ships with a recipe showing how to do it.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"694ed190659de9cf1db4853795a472ecf1bf57e1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  election in the face of partitions."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Must document clearly whether or not lock waiters face possible"},{"line_number":36,"context_line":"  starvation when attempting lock acquisition."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* All testing above must be voting in the gate of tooz."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_2b759531","line":36,"in_reply_to":"da85f559_da8db92b","updated":"2015-11-12 21:46:49.000000000","message":"I don\u0027t understand your point Bogdan. The consistency model actually does not have much to do with fair lock acquisition. ZK\u0027s consistency model doesn\u0027t enable the fair lock acquisition, sequence nodes and the ZK protocol are the main reasons it works. If Consul and etcd had similar constructs on top of their RAFT consistency models, they\u0027d also have fair lock acquisition. But they don\u0027t, and I\u0027ve been told that etcd even backed away from trying to implement it because it is very hard to get right and most of the time not having it can be worked around.\n\nI\u0027m suggesting we ask those knowledgeable with the backend to document, clearly, whether or not the backend supports fair locking. Documenting \"uses RAFT on backend\" does not satisfy this need. I\u0027m asking us to document this because, while we don\u0027t need fair locking now, we might in the future, and when the time comes, I want us to be able to reason about whether or not it\u0027s o-k to go forward based on how many backends _do_ promise to deliver it.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ad0135e7895c599b3623311d4d2c673fc1aeac54","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_7dc18753","line":44,"updated":"2015-10-31 12:21:41.000000000","message":"This seems far-fetched. Tooz can be consumed by project that are borderline to OpenStack, so having the proper documentation in tooz is mandatory, but I don\u0027t see a good reason to make an OpenStack problem a tooz one.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"06d210b8c30a205cbd7c02017e2efaf9146d9bcf","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_f3791a83","line":44,"in_reply_to":"1a26ad4f_3f5d1e15","updated":"2015-11-03 01:40:07.000000000","message":"ironic doesn\u0027t even have documentation in any OpenStack (let alone deployment) guide. Oh, except for the configuration guide cuz that is auto-generated from ironic\u0027s configs. So yes, ironic drivers aren\u0027t in the official deployment guide either.\n\nUntil you know how easy/much effort it may be to add documentation to the official guide (and provide instructions for how to get them added), I wouldn\u0027t mention it. I think it should be sufficient for tooz to have \u0027proper\u0027 documentation within tooz.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"56b9c4b311b480b5d897cace2395d16a70d94c70","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_3f5d1e15","line":44,"in_reply_to":"1a26ad4f_7dc18753","updated":"2015-11-02 19:23:05.000000000","message":"Read the spec that has been proposed. We\u0027re adding DLM bits to Ironic, Cinder, and Heat, and probably Keystone.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ce02a550d88818f2291aeafd9d939ecbf29b1216","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_e0a0f592","line":44,"in_reply_to":"1a26ad4f_f3791a83","updated":"2015-11-03 19:30:59.000000000","message":"Right, which hopefully is:\n\nhttp://docs.openstack.org/developer/tooz/\n\nI\u0027d prefer having ^ made better as needed vs more docs somewhere else that just get out of sync.\n\nOr if really need do something like what I did for taskflow:\n\nhttps://wiki.openstack.org/wiki/TaskFlow is for high-level stuff (more for intros, overviews, high-level stuff) and then http://docs.openstack.org/developer/taskflow/ is for lower-level stuff (more for developers)...","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"0e53f530ea4d57e55fd821083e23a1e42b61d384","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_0d44e447","line":44,"in_reply_to":"da85f559_4a8172c2","updated":"2015-11-10 21:20:17.000000000","message":"Since Tooz\u0027s point of existing is masking implementation details, all backend details must be hidden from API consumers. We need to document ALL failure modes _in the API_ no matter what happens on the backend. If a backend has a special one that needs to be handled by a consumer directly, we need to expand the API for that and give consumers time to adapt to the new possibilities.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"f54dc1acf26f836b8be4127c7a4bf4d3e202b73e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_b44b0c59","line":44,"in_reply_to":"fa80f949_b6955741","updated":"2015-11-03 22:48:15.000000000","message":"Link to:\n\nhttps://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html (or the many other guides...)","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"eff523905629c636bb3aad52e04e43712727e0a7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_b6955741","line":44,"in_reply_to":"fa80f949_e0a0f592","updated":"2015-11-03 20:22:50.000000000","message":"Great points, thanks! I think I could rewrite it to make it clear it\u0027s not so much that one needs \"how to configure XYZ to use zookeeper\" for every downstream of tooz. But we do have to have \"how to configure Zookeeper for use in OpenStack\" and at least one example of a service using it in its deployment guide. We can\u0027t leave our users with no way to actually deploy OpenStack in places where they could easily deploy it before.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"ee7e906b815ba0480b1c992676b9af45e0068565","unresolved":false,"context_lines":[{"line_number":41,"context_line":"~~~~~~~~~~~~~"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* Must have a reasonable amount of documentation including documentation"},{"line_number":44,"context_line":"  in the official OpenStack deployment guide."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_4a8172c2","line":44,"in_reply_to":"fa80f949_e0a0f592","updated":"2015-11-10 21:08:00.000000000","message":"I think we mess dev docs vs user faced ones? A dev would likely want to know all failure modes exposed in API calls (what I suggest to declare here a must have item btw) than how-to install \u0026 configure","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"06d210b8c30a205cbd7c02017e2efaf9146d9bcf","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Support"},{"line_number":47,"context_line":"~~~~~~~"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_f3f03aff","line":49,"updated":"2015-11-03 01:40:07.000000000","message":"s/commited/committed/","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ad0135e7895c599b3623311d4d2c673fc1aeac54","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_1db2d306","line":51,"updated":"2015-10-31 12:21:41.000000000","message":"This is a good idea but considering the history of tooz, it\u0027s likely not reaaally going to happen. The current backend have barely 2 maintainers I\u0027d say. :)","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"126e1ba7fadf17341049a6b5600aa05a288d328f","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_ac0132b1","line":51,"in_reply_to":"1a26ad4f_1db2d306","updated":"2015-10-31 21:42:05.000000000","message":"I count as 4 people right? ;)","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"56b9c4b311b480b5d897cace2395d16a70d94c70","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_3fb43e33","line":51,"in_reply_to":"1a26ad4f_1db2d306","updated":"2015-11-02 19:23:05.000000000","message":"Perhaps you missed the discussion at the summit? The past is the past, and we\u0027re moving forward with a lot more tooz consumption. This should produce more maintainers for backends that matter. Also, if we can\u0027t get two people to step up for a _driver_, it is not viable and _must_ be removed from tree. We don\u0027t want people deploying Cinder and then being unable to get bugs fixed in their selected backend.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"305a3b4576f2b59b1637c723dc9a8d039a3d5088","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_31a225fe","line":51,"in_reply_to":"1a26ad4f_22a8a2da","updated":"2015-11-03 07:43:33.000000000","message":"Clint, how can you say that when I\u0027m sure you\u0027re aware of the situation of e.g. something as essential as oslo.messaging?","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"eff523905629c636bb3aad52e04e43712727e0a7","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_b6af97e2","line":51,"in_reply_to":"1a26ad4f_31a225fe","updated":"2015-11-03 20:22:50.000000000","message":"The history of oslo.messaging is what convinced me this will work. When we asked for this level of commitment, people showed up to help support zmq, and nobody did for qpid, so qpid was deprecated, and zmq is doing alright. I expect something similar in this case. As tooz becomes essential, one driver will likely be the default (I predict zookeeper because it is written already and will be able to document that it has a positive story for all of the upcoming use cases). That default driver will be familiar to most, and hold a similar level of inertia as RabbitMQ has in oslo.messaging, and for those who cannot use it for whatever reason, they\u0027ll need to make sure there\u0027s enough developers around to support the alternative (likely consul), or they\u0027ll have to run an out of tree driver.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"a01fefd4509217393e6c7edaaf8bfdae33be734f","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_e2670ae7","line":51,"in_reply_to":"1a26ad4f_3fb43e33","updated":"2015-11-02 23:21:11.000000000","message":"Ok whose going to step up?? ;)","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"a9379a203328f07740a9bdf29b46996a2bace054","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_6c2eba44","line":51,"in_reply_to":"1a26ad4f_ac0132b1","updated":"2015-10-31 21:43:25.000000000","message":"For info:\n\nhttp://tempsend.com/9BFB649978/C092/tooz.html\n\n^^ created using https://github.com/ejwa/gitinspector on tooz repo.","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"93a599ce1bca6d635c04008fdf01f311f9c9f800","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Must have at least two individuals from the community commited to"},{"line_number":50,"context_line":"  triaging and fixing bugs, and responding to test failures in a timely"},{"line_number":51,"context_line":"  manner."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Prospective Drivers"},{"line_number":54,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_22a8a2da","line":51,"in_reply_to":"1a26ad4f_e2670ae7","updated":"2015-11-02 23:22:15.000000000","message":"*who is","commit_id":"f0eac6ca4576439bfbf367b4cf7c1c26c4b6b26d"}]}
