)]}'
{"specs/backlog/stable-driver-abi.rst":[{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"d4a4bea32b9b26cda7e3ca8cfe27c3b185740c58","unresolved":false,"context_lines":[{"line_number":16,"context_line":"replaced by a developer or deployer with their own implementation (e.g."},{"line_number":17,"context_line":"utilizing mongodb as a store for Identity information). In the Liberty"},{"line_number":18,"context_line":"cycle each driver will move to using stevedore as the loader, however these"},{"line_number":19,"context_line":"drivers have had significant interface changes each cycle."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem Description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_bfc5023d","line":19,"updated":"2015-04-25 01:48:39.000000000","message":"This summary ends a little weird. It feels from reading the last sentence that there should be one more sentence following it.","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"d4a4bea32b9b26cda7e3ca8cfe27c3b185740c58","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem Description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To really support developers who are implementing drivers for Keystone out"},{"line_number":25,"context_line":"of tree, the Keystone driver interfaces (ABIs) need to be stable like the"},{"line_number":26,"context_line":"REST API is. This specification is to commit to the ABI for each driver"},{"line_number":27,"context_line":"and ensure that drivers that are written against Liberty will work with"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_3fe8d2b3","line":24,"updated":"2015-04-25 01:48:39.000000000","message":"I would change \"really\" to \"properly\"","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2340cba2d14d992c973bafd2eb7b4df7972fec4c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem Description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To really support developers who are implementing drivers for Keystone out"},{"line_number":25,"context_line":"of tree, the Keystone driver interfaces (ABIs) need to be stable like the"},{"line_number":26,"context_line":"REST API is. This specification is to commit to the ABI for each driver"},{"line_number":27,"context_line":"and ensure that drivers that are written against Liberty will work with"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_c3fe95ad","line":24,"in_reply_to":"bab921fb_3fe8d2b3","updated":"2015-04-25 02:05:54.000000000","message":"done in next","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"d4a4bea32b9b26cda7e3ca8cfe27c3b185740c58","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To really support developers who are implementing drivers for Keystone out"},{"line_number":25,"context_line":"of tree, the Keystone driver interfaces (ABIs) need to be stable like the"},{"line_number":26,"context_line":"REST API is. This specification is to commit to the ABI for each driver"},{"line_number":27,"context_line":"and ensure that drivers that are written against Liberty will work with"},{"line_number":28,"context_line":"the M-Release of Keystone as well (a minimum of 2-cycle Interface commitment)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_da6e8495","line":25,"updated":"2015-04-25 01:48:39.000000000","message":"ABIs should be spelled out (e.g. Application Binary Interfaces)  before using it in acronym form in the rest of the document. This extra clarification is necessary to reinforce because I don\u0027t think the drivers provide a true binary interface as it is strictly defined (although it is close)","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2340cba2d14d992c973bafd2eb7b4df7972fec4c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To really support developers who are implementing drivers for Keystone out"},{"line_number":25,"context_line":"of tree, the Keystone driver interfaces (ABIs) need to be stable like the"},{"line_number":26,"context_line":"REST API is. This specification is to commit to the ABI for each driver"},{"line_number":27,"context_line":"and ensure that drivers that are written against Liberty will work with"},{"line_number":28,"context_line":"the M-Release of Keystone as well (a minimum of 2-cycle Interface commitment)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_43b3a5e9","line":25,"in_reply_to":"bab921fb_da6e8495","updated":"2015-04-25 02:05:54.000000000","message":"It\u0027s somewhere between ABI and API to be honest. Python is a bit weird in how it works in this regard.","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"d4a4bea32b9b26cda7e3ca8cfe27c3b185740c58","unresolved":false,"context_lines":[{"line_number":27,"context_line":"and ensure that drivers that are written against Liberty will work with"},{"line_number":28,"context_line":"the M-Release of Keystone as well (a minimum of 2-cycle Interface commitment)."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Changes to a given ABI will require compatibility code (to be provided by the"},{"line_number":31,"context_line":"developer that is proposing the change) to ensure that the +2 cycle stability"},{"line_number":32,"context_line":"is maintained."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_68bc53dc","line":30,"updated":"2015-04-25 01:48:39.000000000","message":"Need more detail on what compatibility code is  and what it encompasses","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"d4a4bea32b9b26cda7e3ca8cfe27c3b185740c58","unresolved":false,"context_lines":[{"line_number":37,"context_line":"Each subsystem will have it\u0027s driver ABC Base class looked at for a redesign."},{"line_number":38,"context_line":"Once the ABI is defined, the driver will be converted over to using the"},{"line_number":39,"context_line":"StrictABC implementation (will not work unless method signatures also match,"},{"line_number":40,"context_line":"not just existence of methods)."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab921fb_68a333b3","line":40,"updated":"2015-04-25 01:48:39.000000000","message":"Very cool","commit_id":"7b813909301b56e3c520dd5d2342031f92f101c7"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"d0817aec51bfe9eab1b4c17811ba0cf87cedde85","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Keystone has a number of backend drivers that are purportedly able to be"},{"line_number":16,"context_line":"replaced by a developer or deployer with their own implementation (e.g."},{"line_number":17,"context_line":"utilizing mongodb as a store for Identity information). In the Liberty"},{"line_number":18,"context_line":"cycle each driver will move to using stevedore as the loader, however these"},{"line_number":19,"context_line":"drivers have had significant interface changes each cycle."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab921fb_df9f964e","line":17,"updated":"2015-04-24 20:35:34.000000000","message":"I\u0027ve heard of deployments using Cassandra, or perhaps even Swift,  backend as well.  With ABIs, we\u0027ll make it easier for others to contribute their drivers upstream via out of tree.","commit_id":"32e785480220da833bdd07dbbbe3bb7ef2b67d6a"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"7a6d1761879dbc917f104da87f10182a70479394","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Keystone has a number of backend drivers that are purportedly able to be"},{"line_number":16,"context_line":"replaced by a developer or deployer with their own implementation (e.g."},{"line_number":17,"context_line":"utilizing mongodb as a store for Identity information). In the Liberty"},{"line_number":18,"context_line":"cycle each driver will move to using stevedore as the loader, however these"},{"line_number":19,"context_line":"drivers have had significant interface changes each cycle."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab921fb_fab02845","line":17,"in_reply_to":"bab921fb_df9f964e","updated":"2015-04-24 20:52:40.000000000","message":"That is the idea.","commit_id":"32e785480220da833bdd07dbbbe3bb7ef2b67d6a"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"d0817aec51bfe9eab1b4c17811ba0cf87cedde85","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Changes to a given ABI will require compatibility code (to be provided by the"},{"line_number":31,"context_line":"developer that is proposing the change) to ensure that the +2 cycle stability"},{"line_number":32,"context_line":"is maintained."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed Change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab921fb_9f459eb4","line":32,"updated":"2015-04-24 20:35:34.000000000","message":"Means we are going to version the ABIs as well right?","commit_id":"32e785480220da833bdd07dbbbe3bb7ef2b67d6a"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"7a6d1761879dbc917f104da87f10182a70479394","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Changes to a given ABI will require compatibility code (to be provided by the"},{"line_number":31,"context_line":"developer that is proposing the change) to ensure that the +2 cycle stability"},{"line_number":32,"context_line":"is maintained."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed Change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab921fb_7a4e5870","line":32,"in_reply_to":"bab921fb_9f459eb4","updated":"2015-04-24 20:52:40.000000000","message":"Correct.","commit_id":"32e785480220da833bdd07dbbbe3bb7ef2b67d6a"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"8215bdcc4372b61c3635017c9f9568f23137e4b2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Dependencies"},{"line_number":135,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* StrictABC library needs to be finished / used for the driver base-classes."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab921fb_5f64a647","line":137,"updated":"2015-04-24 20:35:13.000000000","message":"I would be happy to get this set up as a new oslo library. We should also look at the zope.interface package for prior art, although I think doing something simple based on the abc module is probably a better fit.","commit_id":"32e785480220da833bdd07dbbbe3bb7ef2b67d6a"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"7a6d1761879dbc917f104da87f10182a70479394","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Dependencies"},{"line_number":135,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* StrictABC library needs to be finished / used for the driver base-classes."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bab921fb_3a58e031","line":137,"in_reply_to":"bab921fb_5f64a647","updated":"2015-04-24 20:52:40.000000000","message":"That is the goal. Direct to Library instead of where it exists now.","commit_id":"32e785480220da833bdd07dbbbe3bb7ef2b67d6a"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"32cf918ad8315a3efefbb0b8c1d26a15f4165cce","unresolved":false,"context_lines":[{"line_number":30,"context_line":"the M-Release of Keystone as well (a minimum of 2-cycle Interface commitment)."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Changes to a given KSDI will require compatibility code (to be provided by the"},{"line_number":33,"context_line":"developer that is proposing the change) to ensure that the supported window of"},{"line_number":34,"context_line":"stability is maintained. This means that when a KSDI change is proposed (via"},{"line_number":35,"context_line":"a new KSDI version for the specific subsystem), Keystone will need appropriate"},{"line_number":36,"context_line":"logic to work with both the new version and any currently supported version."}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab921fb_7967784d","line":33,"updated":"2015-04-25 02:59:44.000000000","message":"Great clarification!  Thanks!","commit_id":"3aa3b5417ecb6f3d43be5a46c6a0df5f2fe0a214"}]}
