)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2afd3b7aed2f7d238c4e2e846e49d2e54d543a8f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"shown to cause complexity and confusion for clients of a service"},{"line_number":11,"context_line":"that supports such extensions."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes we remove this concept in favour of code"},{"line_number":14,"context_line":"either being in-tree (and classed as stable or experimental) or"},{"line_number":15,"context_line":"out-of-tree, in which case we provide no gurantees or support."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a961159_81ec6891","line":13,"updated":"2014-12-15 20:44:44.000000000","message":"(nit) change \"favour\" to \"favor\"","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"8a73642c3e9aeda0719fde1221099bdac07d995c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes we remove this concept in favour of code"},{"line_number":14,"context_line":"either being in-tree (and classed as stable or experimental) or"},{"line_number":15,"context_line":"out-of-tree, in which case we provide no gurantees or support."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I06b0ecc3d02a2a1b7ad5cf803009574ed2376783"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a961159_fb225f50","line":15,"updated":"2014-12-14 02:37:11.000000000","message":"s/gurantees/guarantees","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"}],"specs/kilo/replace_extensions.rst":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e8c4bdbc952fca42657e2cac1624b3c31fb95ced","unresolved":false,"context_lines":[{"line_number":52,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":53,"context_line":"posible also mark some as deprecated). [HN - the implication of this is that"},{"line_number":54,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":55,"context_line":"the wsgi pipeline settings. Is this OK?]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"By default, major new functionality that is proposed to be in-tree will start"},{"line_number":58,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_81cb5371","line":55,"updated":"2014-11-11 20:33:13.000000000","message":"I think that it is largely \"OK\" to do so. It can still be blocked via Policy.","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"319a43fdbc2ecdc21a48b6212287815707e39a7f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":53,"context_line":"posible also mark some as deprecated). [HN - the implication of this is that"},{"line_number":54,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":55,"context_line":"the wsgi pipeline settings. Is this OK?]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"By default, major new functionality that is proposed to be in-tree will start"},{"line_number":58,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_b7ba1f08","line":55,"in_reply_to":"5a890539_81cb5371","updated":"2014-11-13 14:13:31.000000000","message":"Done","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e8c4bdbc952fca42657e2cac1624b3c31fb95ced","unresolved":false,"context_lines":[{"line_number":58,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"},{"line_number":59,"context_line":"transition from experimental to stable, although in special cases this might"},{"line_number":60,"context_line":"happened within a cycle. Experimental status indicates that the API is subject"},{"line_number":61,"context_line":"to change before it is considered stable."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":64,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_6195873f","line":61,"updated":"2014-11-11 20:33:13.000000000","message":"Suggest adding some extra verbiage saying that even Experimental APIs should be as stable as possible. That is to say we should do everything to get the API right the first time and only update it if there are serious issues. Experimental APIs are still not the wild west.","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"319a43fdbc2ecdc21a48b6212287815707e39a7f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"},{"line_number":59,"context_line":"transition from experimental to stable, although in special cases this might"},{"line_number":60,"context_line":"happened within a cycle. Experimental status indicates that the API is subject"},{"line_number":61,"context_line":"to change before it is considered stable."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":64,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_f73bc799","line":61,"in_reply_to":"5a890539_6195873f","updated":"2014-11-13 14:13:31.000000000","message":"Done","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e8c4bdbc952fca42657e2cac1624b3c31fb95ced","unresolved":false,"context_lines":[{"line_number":68,"context_line":"with ALL major new functionality requiring a config switch?]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"[HN - What happens about the extension sql repos?  Do we merge these back into"},{"line_number":71,"context_line":"the main one?]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"},{"line_number":74,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_a1adaf8a","line":71,"updated":"2014-11-11 20:33:13.000000000","message":"These can stay as is. Where it makes sense to keep the SQL schemas isolated, we probably should. We can evaluate collapsing the schema into the main repo if/when it become stable or when we do a schema collapse (read: 2 cycle upgrade stuff)","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"319a43fdbc2ecdc21a48b6212287815707e39a7f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"with ALL major new functionality requiring a config switch?]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"[HN - What happens about the extension sql repos?  Do we merge these back into"},{"line_number":71,"context_line":"the main one?]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"},{"line_number":74,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_37462f24","line":71,"in_reply_to":"5a890539_a1adaf8a","updated":"2014-11-13 14:13:31.000000000","message":"Done","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e8c4bdbc952fca42657e2cac1624b3c31fb95ced","unresolved":false,"context_lines":[{"line_number":85,"context_line":"REST API Impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None, except for the mandating of JSON-Home status attribute."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Security Impact"},{"line_number":91,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_c1aabb6f","line":88,"updated":"2014-11-11 20:33:13.000000000","message":"We should do this anyway.","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"319a43fdbc2ecdc21a48b6212287815707e39a7f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"REST API Impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None, except for the mandating of JSON-Home status attribute."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Security Impact"},{"line_number":91,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_975603d1","line":88,"in_reply_to":"5a890539_c1aabb6f","updated":"2014-11-13 14:13:31.000000000","message":"removed.","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e8c4bdbc952fca42657e2cac1624b3c31fb95ced","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"It would no longer be possible to disable experimental functionality by"},{"line_number":115,"context_line":"removing it from the wsgi pipeline. Rather for those items that are judged"},{"line_number":116,"context_line":"to have a security impact, a config switch would be used."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Developer Impact"},{"line_number":119,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_41b6cbda","line":116,"updated":"2014-11-11 20:33:13.000000000","message":"This spec should not have (any?) impact on disabling things from the pipeline if someone *really* wanted to. As it stands a deployer could remove the identity routers.  Lets not change that in this spec.","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"319a43fdbc2ecdc21a48b6212287815707e39a7f","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"It would no longer be possible to disable experimental functionality by"},{"line_number":115,"context_line":"removing it from the wsgi pipeline. Rather for those items that are judged"},{"line_number":116,"context_line":"to have a security impact, a config switch would be used."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Developer Impact"},{"line_number":119,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_d186d264","line":116,"in_reply_to":"5a890539_41b6cbda","updated":"2014-11-13 14:13:31.000000000","message":"...but I think this is a change....individual \"extensions\" cannot be disabled by simply omitting them from the wsgi pipeline, no?","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e8c4bdbc952fca42657e2cac1624b3c31fb95ced","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":122,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":123,"context_line":"mechanism."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Implementation"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_81c7d344","line":123,"updated":"2014-11-11 20:33:13.000000000","message":"Suggest adding a \"Stackforge is a common place to supply this code\" or similar.","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"319a43fdbc2ecdc21a48b6212287815707e39a7f","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":122,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":123,"context_line":"mechanism."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Implementation"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_b7513fda","line":123,"in_reply_to":"5a890539_81c7d344","updated":"2014-11-13 14:13:31.000000000","message":"Done","commit_id":"b6e1dc58741e135b94e316fb9bc4efc9b3d22cb6"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"88ce9334e7114ea94e9e0aade8e788f6ea594480","unresolved":false,"context_lines":[{"line_number":66,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":67,"context_line":"spec for this new functionality. [HN - might it be hard to have a common view"},{"line_number":68,"context_line":"over which bits of functionality might be a security concern?  Might we end up"},{"line_number":69,"context_line":"with ALL major new functionality requiring a config switch?]"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_cf5b8285","line":69,"updated":"2014-11-13 17:00:41.000000000","message":"This might be a design pattern we want to go with. I know a lot of applications that do this.\n\nPerhaps the best way to \"disable\" new functionality with the switch is to disable adding the routes if we go down the config path?","commit_id":"78ee4cf3c7ef63ae3ec8bee12458afd1e220e143"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"88ce9334e7114ea94e9e0aade8e788f6ea594480","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":85,"context_line":"to minimize the steps required for administrators given that functionality"},{"line_number":86,"context_line":"is all \"part of core\"."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"REST API Impact"},{"line_number":89,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_cfa0e245","line":86,"updated":"2014-11-13 17:00:41.000000000","message":"++. Nicely worded.","commit_id":"78ee4cf3c7ef63ae3ec8bee12458afd1e220e143"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"fd33b9d52f98142b2fe53d938ca19b64e0c0a010","unresolved":false,"context_lines":[{"line_number":27,"context_line":"many such extensions to its API. It is also not clear from our current"},{"line_number":28,"context_line":"extensions model, whether a given extension is stable, experimental, an"},{"line_number":29,"context_line":"optional replacement for some core API etc."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"What is required is a more strict definition of the state of new functionality,"},{"line_number":32,"context_line":"while minimizing the confusion this creates in terms of what functionality is"},{"line_number":33,"context_line":"actually available."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_1671c7a7","line":30,"updated":"2014-11-17 21:01:15.000000000","message":"Great problem statement","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"fd33b9d52f98142b2fe53d938ca19b64e0c0a010","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* functionality that is stable and part of the Keystone tree"},{"line_number":42,"context_line":"* functionality that is experimental, but still part of the Keystone tree"},{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":47,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_b685535b","line":44,"updated":"2014-11-17 21:01:15.000000000","message":"Perhaps mention that while though no formal support is provided, the interface that Keystone provides to the out-of-tree function will clearly be denoted as a standard public interface that Keystone plans to keep stable.  Also basically saying when I attempt to create out-of-tree function its very clear to me I\u0027m doing this with a well known /easily identified plug point provided by Keystone.","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"428be88bb810e671006878e4165bba82f398da6f","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* functionality that is stable and part of the Keystone tree"},{"line_number":42,"context_line":"* functionality that is experimental, but still part of the Keystone tree"},{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":47,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_6d151a48","line":44,"in_reply_to":"5a890539_b685535b","updated":"2014-11-24 01:47:18.000000000","message":"++","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"dc48db24b0bb6340c280dc53fbb2d1696b36d02c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* functionality that is stable and part of the Keystone tree"},{"line_number":42,"context_line":"* functionality that is experimental, but still part of the Keystone tree"},{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":47,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_37b4a1d0","line":44,"in_reply_to":"5a890539_b685535b","updated":"2014-11-28 17:37:46.000000000","message":"Done","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":6534,"name":"David Chadwick","email":"d.w.chadwick@truetrust.co.uk","username":"d-w-chadwick"},"change_message_id":"b2e7d2dce75f13c0a353fc002a575301e82fc4c7","unresolved":false,"context_lines":[{"line_number":42,"context_line":"* functionality that is experimental, but still part of the Keystone tree"},{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":47,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":48,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_1c654fae","line":45,"updated":"2014-11-26 11:14:21.000000000","message":"I think it would be better to provide a minimal of formal support for out of tree extensions, such as\n\na)a client can find out what out of tree extensions the current Keystone implementation supports\n\nb)define a standard way of specifying how information about extensions can be obtained (e.g. parameters supported etc.)","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"dc48db24b0bb6340c280dc53fbb2d1696b36d02c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"* functionality that is experimental, but still part of the Keystone tree"},{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":47,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":48,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_17340549","line":45,"in_reply_to":"5a890539_1c654fae","updated":"2014-11-28 17:37:46.000000000","message":"As is stated below, if an out-of-tree component implements JSON-Home, then they will be discoverable id loaded.  If not loaded, then nothing will be know about them. In-tree functionality is ALWAYS loaded, but may be disabled (and still respond to JSON-Home).","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17d0573e478bf701891f2cc4670b73d1d8ca1b8e","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":52,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":53,"context_line":"possible also mark some as deprecated). The implication of this is that"},{"line_number":54,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":55,"context_line":"the wsgi pipeline settings."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_6767f24d","line":53,"updated":"2014-11-14 15:09:17.000000000","message":"possibly mark*","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"dc48db24b0bb6340c280dc53fbb2d1696b36d02c","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":52,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":53,"context_line":"possible also mark some as deprecated). The implication of this is that"},{"line_number":54,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":55,"context_line":"the wsgi pipeline settings."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_57c84d56","line":53,"in_reply_to":"5a890539_6767f24d","updated":"2014-11-28 17:37:46.000000000","message":"Done","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17d0573e478bf701891f2cc4670b73d1d8ca1b8e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"transition from experimental to stable, although in special cases this might"},{"line_number":60,"context_line":"happened within a cycle. Experimental status indicates that although the"},{"line_number":61,"context_line":"intention is to keep the API unchanged, we reserve the right to change it up"},{"line_number":62,"context_line":"until the point we mark it as stable."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_27f7aa5a","line":62,"updated":"2014-11-14 15:09:17.000000000","message":"Once it is marked as stable, we enforce regular API compatibility standards, correct?","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"083a7453aabbb8286ad313af31441b8f6db331e9","unresolved":false,"context_lines":[{"line_number":59,"context_line":"transition from experimental to stable, although in special cases this might"},{"line_number":60,"context_line":"happened within a cycle. Experimental status indicates that although the"},{"line_number":61,"context_line":"intention is to keep the API unchanged, we reserve the right to change it up"},{"line_number":62,"context_line":"until the point we mark it as stable."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_59c1f252","line":62,"in_reply_to":"5a890539_27f7aa5a","updated":"2014-11-14 20:26:11.000000000","message":"Yes.","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17d0573e478bf701891f2cc4670b73d1d8ca1b8e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":66,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":67,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":68,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_a770fadc","line":68,"updated":"2014-11-14 15:09:17.000000000","message":"++","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"083a7453aabbb8286ad313af31441b8f6db331e9","unresolved":false,"context_lines":[{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":66,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":67,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":68,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_f99c5e6c","line":68,"updated":"2014-11-14 20:26:11.000000000","message":"Another point is Experimental could be removed instead of graduating to stable. It would also need a clear process.","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"cf94e81a1a4596009a5e425b76e0547bf3b874ca","unresolved":false,"context_lines":[{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":66,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":67,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":68,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_5e1173ae","line":68,"in_reply_to":"5a890539_3675e363","updated":"2014-11-19 01:24:40.000000000","message":"@Brad, exactly why a clear path needs to be outlined for removal. If these folks use it extensively either we should ask them to maintain it out-of-tree or push them to help us fix it to push towards stable.\n\nI don\u0027t want to see things linger in experimental forever, but it might be more than 1 cycle to see them graduate.","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"09a3dff9718519e36c0bb947545a1459f1e1f007","unresolved":false,"context_lines":[{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":66,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":67,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":68,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_80f156cf","line":68,"in_reply_to":"5a890539_5e1173ae","updated":"2014-11-21 10:17:24.000000000","message":"++","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"fd33b9d52f98142b2fe53d938ca19b64e0c0a010","unresolved":false,"context_lines":[{"line_number":65,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":66,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":67,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":68,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_3675e363","line":68,"in_reply_to":"5a890539_f99c5e6c","updated":"2014-11-17 21:01:15.000000000","message":"Could something be stuck in experimental stage for a long time because 1) not good enough to be stable and 2) but needed by a few that hardship occurs if removed?  Cause once its there and a few folks use it it can be hard to remove completely","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"428be88bb810e671006878e4165bba82f398da6f","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":84,"context_line":"to minimize the steps required for administrators given that functionality"},{"line_number":85,"context_line":"is all \"part of core\"."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"REST API Impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_687188a7","line":85,"updated":"2014-11-24 01:47:18.000000000","message":"So we\u0027d also be carrying migration scripts to remove tables/columns for \"extensions\" that have been removed, right?","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"c769ab5004c03a86ff31748cf40cdd49d93535e6","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":84,"context_line":"to minimize the steps required for administrators given that functionality"},{"line_number":85,"context_line":"is all \"part of core\"."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"REST API Impact"},{"line_number":88,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_250e8b8c","line":85,"in_reply_to":"5a890539_687188a7","updated":"2014-11-25 17:38:38.000000000","message":"Until collapse if the migrations were in the main repo.\n\nIt is not required that the migrations are placed in the main repo, but generally recommended.\n\nLikely a experimental feature that has been removed will have only an removal script carried for an extra cycle or so (n-2 collapse).","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"fd33b9d52f98142b2fe53d938ca19b64e0c0a010","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":124,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":125,"context_line":"mechanism. Stackforge is a common place to supply such code."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Implementation"},{"line_number":128,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_1612a708","line":125,"updated":"2014-11-17 21:01:15.000000000","message":"I would say Stackforge is recommended as opposed to just common. It makes it easy to graduate stuff should we decide later to pull it in-tree","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"cf94e81a1a4596009a5e425b76e0547bf3b874ca","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":124,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":125,"context_line":"mechanism. Stackforge is a common place to supply such code."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Implementation"},{"line_number":128,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_fe213ffd","line":125,"in_reply_to":"5a890539_1612a708","updated":"2014-11-19 01:24:40.000000000","message":"++ I like that.","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"dc48db24b0bb6340c280dc53fbb2d1696b36d02c","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":124,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":125,"context_line":"mechanism. Stackforge is a common place to supply such code."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Implementation"},{"line_number":128,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_d7ec3d95","line":125,"in_reply_to":"5a890539_1612a708","updated":"2014-11-28 17:37:46.000000000","message":"Done","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17d0573e478bf701891f2cc4670b73d1d8ca1b8e","unresolved":false,"context_lines":[{"line_number":123,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":124,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":125,"context_line":"mechanism. Stackforge is a common place to supply such code."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Implementation"},{"line_number":128,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_671ff26c","line":126,"updated":"2014-11-14 15:09:17.000000000","message":"What about running CI against out-of-tree code bases? Is this something that people can do if they choose to, and if so, should we be providing a guide?","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"083a7453aabbb8286ad313af31441b8f6db331e9","unresolved":false,"context_lines":[{"line_number":123,"context_line":"For developers building functionality that is classed as out-of-tree, then they"},{"line_number":124,"context_line":"must provide their own hosted environment for the code as well as a delivery"},{"line_number":125,"context_line":"mechanism. Stackforge is a common place to supply such code."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Implementation"},{"line_number":128,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_f9c53e5c","line":126,"in_reply_to":"5a890539_671ff26c","updated":"2014-11-14 20:26:11.000000000","message":"There is the 3rd party CI stuff. If it is on stack forge, in theory they could hook directly in to the infrastructure already available. Not sure what the guide would look like.","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17d0573e478bf701891f2cc4670b73d1d8ca1b8e","unresolved":false,"context_lines":[{"line_number":145,"context_line":"Testing"},{"line_number":146,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"None"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Documentation Impact"},{"line_number":151,"context_line":"\u003d\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":5,"id":"5a890539_ea11e752","line":148,"updated":"2014-11-14 15:09:17.000000000","message":"I would assume stable and experimental features will require all testing necessary to merge into Keystone. The out-of-tree testing is something we can\u0027t really enforce but should we have guidelines if a third party wishes to develop a feature, host it in stackforge, and leverage the OpenStack CI to test it with Keystone?","commit_id":"16fc022c15db8689c2e4a3c6a087484843ea0cfc"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"8a73642c3e9aeda0719fde1221099bdac07d995c","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"What is required is a more strict definition of the state of new functionality,"},{"line_number":32,"context_line":"while minimizing the confusion this creates in terms of what functionality is"},{"line_number":33,"context_line":"actually available."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed Change"},{"line_number":36,"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":6,"id":"3a961159_7b610fa8","line":33,"updated":"2014-12-14 02:37:11.000000000","message":"Great description!","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"3ec98194b50200d1b525a76a537c73ab49ffecf5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed Change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"It is proposed that we abandon the current mechanism of extensions in favour"},{"line_number":39,"context_line":"of three classes of functionality:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* functionality that is stable and part of the Keystone tree"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_ef1f0b59","line":38,"updated":"2014-12-12 21:07:43.000000000","message":"Who exactly are \"we\" in this sentence?\n\n we \u003d Keystone community\n we \u003d OpenStack community\n\nIf this is proposed by the OpenStack community (presumably by the TC) and to be consistently adopted by all the projects, it would be awesomer. Otherwise, clients would still have to deal with the same type of chaos, which is inconsistency.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"09d06bf67cd185580017592447c7c7fa4e09ebbe","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed Change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"It is proposed that we abandon the current mechanism of extensions in favour"},{"line_number":39,"context_line":"of three classes of functionality:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* functionality that is stable and part of the Keystone tree"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_20612005","line":38,"in_reply_to":"3a961159_ef1f0b59","updated":"2014-12-12 23:03:00.000000000","message":"we \u003d Keystone","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2afd3b7aed2f7d238c4e2e846e49d2e54d543a8f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":50,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"},{"line_number":51,"context_line":"category."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_81baa86c","line":51,"updated":"2014-12-15 20:44:44.000000000","message":"How is JSON Home going to be used here? is it in the hints for the resource? I\u0027d prefer it if there was a parameter on the request to get experimental or unstable resources so they don\u0027t show up unless explicitly requested -- e.g., get /v3?experimental","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"3ec98194b50200d1b525a76a537c73ab49ffecf5","unresolved":false,"context_lines":[{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":50,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"},{"line_number":51,"context_line":"category."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_4f949f8a","line":51,"updated":"2014-12-12 21:07:43.000000000","message":"Huh? You mean to say out-of-tree \"must not\" implement JSON-Home. Not sure if that\u0027s a safe assumption. Also, does this mean the out-of-tree features are not discoverable? If so, that would be a major drawback.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"14258bbd53ff77bce4f6a932c58a4dbda64fa381","unresolved":false,"context_lines":[{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":50,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"},{"line_number":51,"context_line":"category."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_d02f473d","line":51,"in_reply_to":"3a961159_200f6038","updated":"2014-12-13 01:43:27.000000000","message":"JSON-Home should still be highly encouraged. But - I agree it could be optional.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"09d06bf67cd185580017592447c7c7fa4e09ebbe","unresolved":false,"context_lines":[{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":50,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"},{"line_number":51,"context_line":"category."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_200f6038","line":51,"in_reply_to":"3a961159_4f949f8a","updated":"2014-12-12 23:03:00.000000000","message":"no, it doesn\u0027t say that!  It says \"JSON-Home would be optional for out-of-tree\"...but that \"the lack of JSON-Home would be taken as indication that it was (out-of-tree)\"","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2316bcf49c76abe47c4331ff1aae3d757c297eb9","unresolved":false,"context_lines":[{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in, and since JSON-Home would be optional for out-of-tree"},{"line_number":50,"context_line":"code, the lack of JSON-Home would be taken as indication that it was in that"},{"line_number":51,"context_line":"category."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"},{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_a6b2bee2","line":51,"in_reply_to":"3a961159_81baa86c","updated":"2014-12-19 20:07:25.000000000","message":"@Brant,  I\u0027d be ok with that.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2afd3b7aed2f7d238c4e2e846e49d2e54d543a8f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":55,"context_line":"possibly also mark some as deprecated). The implication of this is that"},{"line_number":56,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":57,"context_line":"the wsgi pipeline settings."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"By default, major new functionality that is proposed to be in-tree will start"},{"line_number":60,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_a12324bd","line":57,"updated":"2014-12-15 20:44:44.000000000","message":"This is going to mean that all dependencies, including lxml, are in requirements.txt and not in test-requirements.txt.\n\nAlso, does this mean all the extensions get moved into v3 core API?","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2316bcf49c76abe47c4331ff1aae3d757c297eb9","unresolved":false,"context_lines":[{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":55,"context_line":"possibly also mark some as deprecated). The implication of this is that"},{"line_number":56,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":57,"context_line":"the wsgi pipeline settings."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"By default, major new functionality that is proposed to be in-tree will start"},{"line_number":60,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_a6371e4c","line":57,"in_reply_to":"3a961159_a12324bd","updated":"2014-12-19 20:07:25.000000000","message":"Ideally yes. Extensions \"go away\". If something is stable it\u0027s there. There is still the deployer decision to configure/enable things such as federation (deployer configuration is needed to make it work).","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"3ec98194b50200d1b525a76a537c73ab49ffecf5","unresolved":false,"context_lines":[{"line_number":65,"context_line":"should stay in experimental for a long period. It should either graduate to"},{"line_number":66,"context_line":"stable or be removed (or perhaps moved to out-of-tree). Functionality that"},{"line_number":67,"context_line":"stays experimental for more than 2 releases, would be expected to make a"},{"line_number":68,"context_line":"transition to one of the other states."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_8f4f6733","line":68,"updated":"2014-12-12 21:07:43.000000000","message":"It would be nice to explicitly spell out the graduation requirements. Again, I hope this is consistent across all services.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"14258bbd53ff77bce4f6a932c58a4dbda64fa381","unresolved":false,"context_lines":[{"line_number":65,"context_line":"should stay in experimental for a long period. It should either graduate to"},{"line_number":66,"context_line":"stable or be removed (or perhaps moved to out-of-tree). Functionality that"},{"line_number":67,"context_line":"stays experimental for more than 2 releases, would be expected to make a"},{"line_number":68,"context_line":"transition to one of the other states."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_50fc37b8","line":68,"in_reply_to":"3a961159_400aac26","updated":"2014-12-13 01:43:27.000000000","message":"I think no one but Keystone is doing this. Nova is micro versioning only, and other groups are using extensions. I think we\u0027re leading the charge on this one.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"09d06bf67cd185580017592447c7c7fa4e09ebbe","unresolved":false,"context_lines":[{"line_number":65,"context_line":"should stay in experimental for a long period. It should either graduate to"},{"line_number":66,"context_line":"stable or be removed (or perhaps moved to out-of-tree). Functionality that"},{"line_number":67,"context_line":"stays experimental for more than 2 releases, would be expected to make a"},{"line_number":68,"context_line":"transition to one of the other states."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_400aac26","line":68,"in_reply_to":"3a961159_8f4f6733","updated":"2014-12-12 23:03:00.000000000","message":"this is for keystone","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2afd3b7aed2f7d238c4e2e846e49d2e54d543a8f","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_73082f29","line":72,"updated":"2014-12-15 20:44:44.000000000","message":"Realize that this doesn\u0027t do anything for our products.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dcd9daf6d0a9aeb059441b50580693b60b82e5d8","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_c9dd1d72","line":72,"in_reply_to":"3a961159_6618d6d3","updated":"2014-12-19 20:16:41.000000000","message":"Since we ship the code we have to provide fixes for it. Even if it\u0027s disabled by default. So we\u0027ll have a mitigation that we can tell customers, but we have to provide fixes.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2316bcf49c76abe47c4331ff1aae3d757c297eb9","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_6618d6d3","line":72,"in_reply_to":"3a961159_73082f29","updated":"2014-12-19 20:07:25.000000000","message":"Please elaborate? I think this paragraph is a bit too specific at this point, - perhaps any expirimental feature needs a toggle not just a security concern?\n\nBits of an API that may result in a 404, or requires mucking with the paste-ini to enable (and/or running special sql migrations) all are very poor deployment/user experiences. I\u0027d like to see something more akin to a 403 if soemthing is made unavailable and so we know what the surface of the Keystone API looks like for a given release (even if a deployer doesn\u0027t configure/enable specific apis). \n\nAnything that we don\u0027t want in the core really should be moved out of tree. This will force us to continue to improve our out-of-tree development support story as well.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2bf89e4e50abfbbe69c1b0bc31d13e1e2ba5468c","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Any new functionality that is proposed as experimental that raises concerns"},{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_3471940c","line":72,"in_reply_to":"3a961159_c9dd1d72","updated":"2014-12-19 21:24:18.000000000","message":"Makes sense.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"3ec98194b50200d1b525a76a537c73ab49ffecf5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_af08a3da","line":74,"updated":"2014-12-12 21:07:43.000000000","message":"So all experimental features are \u0027enabled\u0027 by default? I am fine with it. Just need to be clear.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2afd3b7aed2f7d238c4e2e846e49d2e54d543a8f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_13b52b31","line":74,"updated":"2014-12-15 20:44:44.000000000","message":"change \"still be respond\" to \"still respond\".\n\nHow is JSON Home going to be used here? I don\u0027t see the point of having JSON-Home respond with resources that are just going to 404. This is the whole point of JSON Home.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"09d06bf67cd185580017592447c7c7fa4e09ebbe","unresolved":false,"context_lines":[{"line_number":71,"context_line":"over security would have to have a config switch to disable it (with disabled"},{"line_number":72,"context_line":"being the default setting). This requirement would be specified as part of the"},{"line_number":73,"context_line":"spec for this new functionality.  A disabled set of functionality should still"},{"line_number":74,"context_line":"be respond to a JSON-Home request, but with status of disabled."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_fb0b4921","line":74,"in_reply_to":"3a961159_af08a3da","updated":"2014-12-12 23:03:00.000000000","message":"Experimental features will only be enabled by default if there is no security concerns (and as it says, this will be determined by their spec).","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"56f4e38d14c69dc6897af731a44b2374f8894eda","unresolved":false,"context_lines":[{"line_number":77,"context_line":"------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"We keep the current extension mechanism, live with the complexity in the"},{"line_number":80,"context_line":"clients, but perhaps enhance the support JSON-Home to allow better detection."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data Model Impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_0c5aa529","line":80,"updated":"2014-12-12 20:30:27.000000000","message":"Nit: typo: \"the support JSON-Home\" should be \"JSON-Home support\"","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"3ec98194b50200d1b525a76a537c73ab49ffecf5","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Currently extensions have their own SQL repos - and this wouldn\u0027t be"},{"line_number":86,"context_line":"implicitly changed by this proposal. We would likely collapse some these"},{"line_number":87,"context_line":"into the main repo as prune the upgrade support for the N-2 release."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":90,"context_line":"to minimize the steps required for administrators given that functionality"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_2f23d356","line":87,"updated":"2014-12-12 21:07:43.000000000","message":"It will be if the experimental features are \"enabled\" by default.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"09d06bf67cd185580017592447c7c7fa4e09ebbe","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Currently extensions have their own SQL repos - and this wouldn\u0027t be"},{"line_number":86,"context_line":"implicitly changed by this proposal. We would likely collapse some these"},{"line_number":87,"context_line":"into the main repo as prune the upgrade support for the N-2 release."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":90,"context_line":"to minimize the steps required for administrators given that functionality"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_3badd1e9","line":87,"in_reply_to":"3a961159_2f23d356","updated":"2014-12-12 23:03:00.000000000","message":"this comment applies to existing extensions...and all it is saying is that we will leave their sql in their separate repos.","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2afd3b7aed2f7d238c4e2e846e49d2e54d543a8f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"REST API Impact"},{"line_number":94,"context_line":"---------------"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"None, except for the mandating of JSON-Home status attribute."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Security Impact"},{"line_number":99,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_b3e5370c","line":96,"updated":"2014-12-15 20:44:44.000000000","message":"what is the JSON Home status attribute?","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"56f4e38d14c69dc6897af731a44b2374f8894eda","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Other Deployer Impact"},{"line_number":120,"context_line":"---------------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"It would no longer be possible to disable inidvidual experimental functionality"},{"line_number":123,"context_line":"by simply removing it from the wsgi pipeline. Rather for those items that are"},{"line_number":124,"context_line":"judged to have a security impact, a config switch would be used."},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_ac29918b","line":122,"updated":"2014-12-12 20:30:27.000000000","message":"nit: \"inidvidual\" should be \"individual\"","commit_id":"f880c64e5aa53cd40812c9c5b69229b384051550"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"27ded91a3b43ba3f916e7404ab364d6cfb2c2e04","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in. A query parameter will be available to get"},{"line_number":50,"context_line":"a specific classification (such as expirimental, e.g."},{"line_number":51,"context_line":"`GET /v3/?expirimental\u003dTrue`)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_3d0a3b20","line":50,"updated":"2015-01-07 15:37:02.000000000","message":"I don\u0027t believe expirimental is a word.  It should be experimental.  Given you use it in an example this typo needs to be fixed.  So replace expirimental with experimental and replace \n`GET /v3/?expirimental\u003dTrue`\nwith\n`GET /v3/?experimental\u003dTrue`","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"a57af501afe1f1d12267cb104a8011a20844ef7a","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in. A query parameter will be available to get"},{"line_number":50,"context_line":"a specific classification (such as expirimental, e.g."},{"line_number":51,"context_line":"`GET /v3/?expirimental\u003dTrue`)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"All existing contrib contents would be re-classified into one of the first two"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_ae8d137e","line":50,"in_reply_to":"3a961159_3d0a3b20","updated":"2015-01-07 17:13:02.000000000","message":"Done","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"27ded91a3b43ba3f916e7404ab364d6cfb2c2e04","unresolved":false,"context_lines":[{"line_number":74,"context_line":"respond to a JSON-Home request, but with status of disabled. If the"},{"line_number":75,"context_line":"functionality is disabled, the response should be an HTTP 403 (FORBIDDEN). A"},{"line_number":76,"context_line":"HTTP 404 (NOT FOUND) should not occur from any resource listed in the JSON-Home"},{"line_number":77,"context_line":"document even if it is classified as expirimental and disabled."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Alternatives"},{"line_number":80,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_9aa7b54f","line":77,"updated":"2015-01-07 15:37:02.000000000","message":"nit:typo expirimental","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"a57af501afe1f1d12267cb104a8011a20844ef7a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"respond to a JSON-Home request, but with status of disabled. If the"},{"line_number":75,"context_line":"functionality is disabled, the response should be an HTTP 403 (FORBIDDEN). A"},{"line_number":76,"context_line":"HTTP 404 (NOT FOUND) should not occur from any resource listed in the JSON-Home"},{"line_number":77,"context_line":"document even if it is classified as expirimental and disabled."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Alternatives"},{"line_number":80,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_0e870762","line":77,"in_reply_to":"3a961159_9aa7b54f","updated":"2015-01-07 17:13:02.000000000","message":"Done","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"27ded91a3b43ba3f916e7404ab364d6cfb2c2e04","unresolved":false,"context_lines":[{"line_number":80,"context_line":"------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"We keep the current extension mechanism, live with the complexity in the"},{"line_number":83,"context_line":"clients, but perhaps enhance the support JSON-Home support to allow better"},{"line_number":84,"context_line":"detection."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data Model Impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_3ad241d1","line":83,"updated":"2015-01-07 15:37:02.000000000","message":"Nit:  The \"support\" that is right before JSON-Home should be removed","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"a57af501afe1f1d12267cb104a8011a20844ef7a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"We keep the current extension mechanism, live with the complexity in the"},{"line_number":83,"context_line":"clients, but perhaps enhance the support JSON-Home support to allow better"},{"line_number":84,"context_line":"detection."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data Model Impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_2e7a0377","line":83,"in_reply_to":"3a961159_3ad241d1","updated":"2015-01-07 17:13:02.000000000","message":"Done","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"27ded91a3b43ba3f916e7404ab364d6cfb2c2e04","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Currently extensions have their own SQL repos - and this wouldn\u0027t be"},{"line_number":90,"context_line":"implicitly changed by this proposal. We would likely collapse some these"},{"line_number":91,"context_line":"into the main repo as prune the upgrade support for the N-2 release."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":94,"context_line":"to minimize the steps required for administrators given that functionality"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_7d3da3ba","line":91,"updated":"2015-01-07 15:37:02.000000000","message":"typo: \"repo as prune\" sounds funny. Perhaps \"repo and prune\"","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"a57af501afe1f1d12267cb104a8011a20844ef7a","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Currently extensions have their own SQL repos - and this wouldn\u0027t be"},{"line_number":90,"context_line":"implicitly changed by this proposal. We would likely collapse some these"},{"line_number":91,"context_line":"into the main repo as prune the upgrade support for the N-2 release."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"For new functionality, it would be recommended to use the main repo, in order"},{"line_number":94,"context_line":"to minimize the steps required for administrators given that functionality"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_6e97ab90","line":91,"in_reply_to":"3a961159_7d3da3ba","updated":"2015-01-07 17:13:02.000000000","message":"Done","commit_id":"a897c93bc5500cad54236281314df0d59754eb96"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"9ae461946f8969b465714a0a0c80f04026c444b0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided. Such out-of-tree functionality will typically"},{"line_number":45,"context_line":"  be using the same standard plug points to Keystone as in-tree functionality,"},{"line_number":46,"context_line":"  it is just that this functionality is not part of what we consider core."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in. A query parameter will be available to get"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_9e0fa22d","line":46,"updated":"2015-01-07 18:59:49.000000000","message":"I am fine with the overall direction. There\u0027s still more details need to hash out though. So there a few types of extensions that I am aware of.\n\n 1. new API extensions. i.e. (POST /v3/OS-FOO/dosomething)\n 2. extending an existing API. i.e.\n\n    GET /v3/users\n\n    {\"users\": {\"OS-FOO-someattribute\": \"stuff\" ...}}\n\n 3. new auth plugin\n\n    POST /v3/auth/tokens\n\n    {\"auth\": {\"methods\": [\"foo\"] ...}\n\n 4. ad hoc ones like trust, project role inheritance, etc\n\nSo the questions are\n\n  1. Are we doing away with the \u0027OS-\u003cextension name\u003e\u0027 nomenclature? If so, how do we prevent name clashes?\n  2. Does JSON home support scenario #2 - #4 above?","commit_id":"f9d3d23d82f1010b685ef43f0b47655274a71934"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"45bf78d58ac60a49f3b50154b98d9ebd40316d7d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"* functionality that is out-of-tree, can be loaded as required but no"},{"line_number":44,"context_line":"  formal support is provided. Such out-of-tree functionality will typically"},{"line_number":45,"context_line":"  be using the same standard plug points to Keystone as in-tree functionality,"},{"line_number":46,"context_line":"  it is just that this functionality is not part of what we consider core."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The JSON-Home capability would indicate which category any given bit of"},{"line_number":49,"context_line":"functionality was in. A query parameter will be available to get"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_71730780","line":46,"in_reply_to":"3a961159_9e0fa22d","updated":"2015-01-07 19:44:01.000000000","message":"OS-\u003cname\u003e can be kept, that is simply a choice in naming (and we aren\u0027t \"renaming\" things as is). We don\u0027t call it an extension though and we don\u0027t make it \"optional\". \"Optional\" API calls make things all around not good for deployers or users, \"what part of the api exists here? am I going to get a 404 or a 403 or something else?\"\n\nJSON-Home support doesn\u0027t change from today with the \"extension\" you\u0027re talking about in 2, 3, and 4. In the second case, those are not \"Extensions\" but additions made to the core API. I don\u0027t think we need to outline these items in the spec.","commit_id":"f9d3d23d82f1010b685ef43f0b47655274a71934"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"9ae461946f8969b465714a0a0c80f04026c444b0","unresolved":false,"context_lines":[{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":55,"context_line":"possibly also mark some as deprecated). The implication of this is that"},{"line_number":56,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":57,"context_line":"the wsgi pipeline settings."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"By default, major new functionality that is proposed to be in-tree will start"},{"line_number":60,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_de43ea3c","line":57,"updated":"2015-01-07 18:59:49.000000000","message":"So do we still need the OS-\u003cextension name\u003e nomenclature? And are we going to deprecate /contrib moving forward?","commit_id":"f9d3d23d82f1010b685ef43f0b47655274a71934"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"45bf78d58ac60a49f3b50154b98d9ebd40316d7d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"categories above, with the majority being marked as stable (although we might"},{"line_number":55,"context_line":"possibly also mark some as deprecated). The implication of this is that"},{"line_number":56,"context_line":"all such contrib items would now automatically be loaded and not dependent on"},{"line_number":57,"context_line":"the wsgi pipeline settings."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"By default, major new functionality that is proposed to be in-tree will start"},{"line_number":60,"context_line":"off in experimental status. Typically it would take at minimum of one cycle to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_f1ea970d","line":57,"in_reply_to":"3a961159_de43ea3c","updated":"2015-01-07 19:44:01.000000000","message":"contrib will go away long term, it isn\u0027t really relevant as \"contrib\" anymore, these items can mostly be moved into the proper locations they would have gone.\n\nHowever, this is something that is out of scope of this spec (moving a ton of code can be done as we move forward / update / change things).","commit_id":"f9d3d23d82f1010b685ef43f0b47655274a71934"}]}
