)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"68eef346a18fbb40bb3a048605de35ee4278c621","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Also deprecating the osapi_v3 group, and moving to osapi_v21."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Part of blueprint nova-api-deprecate-extensions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I084444b11dceda7cf8f88c157aa67d36490fce49"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fa1b9901_11efe987","line":15,"updated":"2015-08-26 13:17:10.000000000","message":"should we add UpgradeImpact flag? Although we will remove them in the future, but we rename it, if there is any operator use those options, they need update their config manually.","commit_id":"c724f880801b8c7d4c253d35b1aa859f0e7310b7"}],"nova/api/openstack/__init__.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"30432f8f2c091b987fe60b27262424ab17d9254c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        cfg.BoolOpt(\u0027enabled\u0027,"},{"line_number":45,"context_line":"                    default\u003dTrue,"},{"line_number":46,"context_line":"                    help\u003d\u0027DEPRECATED: Whether the V3 API is enabled or not. \u0027"},{"line_number":47,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release.\u0027,"},{"line_number":48,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":49,"context_line":"        cfg.ListOpt(\u0027extensions_blacklist\u0027,"},{"line_number":50,"context_line":"                    default\u003d[],"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_2e0f4638","line":47,"updated":"2015-08-20 02:46:43.000000000","message":"actually when Gman\u0027s works done https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bp/test-collapse-v2-and-v21,n,z\n\n\nWe will go to remove the v3 endpoint in the api-paste, and all the V3 wsgi stack code. Then this option will be come useless. So the \u0027deprecated\u0027 means still need keep this option working? But after v3 code removed, there isn\u0027t v3 anymore...","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2475a77f03695b3ecdb6ad11315b377ec1fafeb6","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        cfg.BoolOpt(\u0027enabled\u0027,"},{"line_number":45,"context_line":"                    default\u003dTrue,"},{"line_number":46,"context_line":"                    help\u003d\u0027DEPRECATED: Whether the V3 API is enabled or not. \u0027"},{"line_number":47,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release.\u0027,"},{"line_number":48,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":49,"context_line":"        cfg.ListOpt(\u0027extensions_blacklist\u0027,"},{"line_number":50,"context_line":"                    default\u003d[],"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_a1e4b9df","line":47,"in_reply_to":"fa1b9901_2e0f4638","updated":"2015-08-20 09:54:40.000000000","message":"We still need to deprecate this, so people don\u0027t have their config break.\n\nBut this is used in the APIRouterV21 class below, so I think it still works, sadly.","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"dc728e6d18f3926db650d14c3f210056da223020","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        cfg.BoolOpt(\u0027enabled\u0027,"},{"line_number":45,"context_line":"                    default\u003dTrue,"},{"line_number":46,"context_line":"                    help\u003d\u0027DEPRECATED: Whether the V3 API is enabled or not. \u0027"},{"line_number":47,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release.\u0027,"},{"line_number":48,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":49,"context_line":"        cfg.ListOpt(\u0027extensions_blacklist\u0027,"},{"line_number":50,"context_line":"                    default\u003d[],"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_217f49ac","line":47,"in_reply_to":"fa1b9901_a1e4b9df","updated":"2015-08-20 10:00:25.000000000","message":"yea, I missed that. so let\u0027s go the deprecate process","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"30432f8f2c091b987fe60b27262424ab17d9254c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                    \u0027Specify the extension aliases here. \u0027"},{"line_number":53,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release. \u0027"},{"line_number":54,"context_line":"                    \u0027After that release you have to run all of the API.\u0027,"},{"line_number":55,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":56,"context_line":"        cfg.ListOpt(\u0027extensions_whitelist\u0027,"},{"line_number":57,"context_line":"                    default\u003d[],"},{"line_number":58,"context_line":"                    help\u003d\u0027If the list is not empty then a v3 API extension \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_4913945b","line":55,"updated":"2015-08-20 02:46:43.000000000","message":"Before we remove this option, we probably need a lot of work, like tune the api sample test which depend on this option. And we didn\u0027t have time to finish that in L. So this is right way to go now.","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2475a77f03695b3ecdb6ad11315b377ec1fafeb6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                    \u0027Specify the extension aliases here. \u0027"},{"line_number":53,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release. \u0027"},{"line_number":54,"context_line":"                    \u0027After that release you have to run all of the API.\u0027,"},{"line_number":55,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":56,"context_line":"        cfg.ListOpt(\u0027extensions_whitelist\u0027,"},{"line_number":57,"context_line":"                    default\u003d[],"},{"line_number":58,"context_line":"                    help\u003d\u0027If the list is not empty then a v3 API extension \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_61d30105","line":55,"in_reply_to":"fa1b9901_4913945b","updated":"2015-08-20 09:54:40.000000000","message":"we are not allowed to remove this in L, as its not been deprecated yet.","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"1d2d7a5fed476b3c7d5bdbc3167807040595c5a9","unresolved":false,"context_lines":[{"line_number":343,"context_line":"            return"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        if CONF.osapi_v3.extensions_blacklist or \\"},{"line_number":346,"context_line":"            CONF.osapi_v3.extensions_whitelist:"},{"line_number":347,"context_line":"            LOG.warning(_LW(\"In the M release you must run all of the API.\"))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self.init_only \u003d init_only"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_6571eda7","line":346,"updated":"2015-08-19 18:23:14.000000000","message":"femtonit: could we use parentheses here to eliminate the backslash?  For that matter, the second line of the condition could stand to be indented differently to visually distinguish it from the code.  Something like:\n\n    if (CONF.osapi_v3.extensions_blacklist or\n            CONF.osapi_v3.extensions_whitelist):\n        LOG.warning(_LW(…))","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"1c814bca6a3f039c07f80f7adffd499c98f6f795","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        if CONF.osapi_v3.extensions_blacklist or \\"},{"line_number":346,"context_line":"            CONF.osapi_v3.extensions_whitelist:"},{"line_number":347,"context_line":"            LOG.warning(_LW(\"In the M release you must run all of the API.\"))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self.init_only \u003d init_only"},{"line_number":350,"context_line":"        LOG.debug(\"v3 API Extension Blacklist: %s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_dc4e766e","line":347,"updated":"2015-08-20 10:02:32.000000000","message":"maybe add more explain about the extension will be deprecated. or we can link http://docs.openstack.org/developer/nova/stable_api.html","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2f092025798fdbb0b913d405d8000bc0f9e0fb42","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        if CONF.osapi_v3.extensions_blacklist or \\"},{"line_number":346,"context_line":"            CONF.osapi_v3.extensions_whitelist:"},{"line_number":347,"context_line":"            LOG.warning(_LW(\"In the M release you must run all of the API.\"))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self.init_only \u003d init_only"},{"line_number":350,"context_line":"        LOG.debug(\"v3 API Extension Blacklist: %s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_5cc6e69a","line":347,"in_reply_to":"fa1b9901_dc4e766e","updated":"2015-08-20 10:05:36.000000000","message":"+1 I was hoping I could get someone else to write some better log messages for me :)","commit_id":"7e72f6b7e9305a3ea43cc4d73cf0614d44c1386c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fba5b80708bf32071fb53e27571b784ab432bb9c","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        if not CONF.osapi_v3.enabled:"},{"line_number":341,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":342,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":343,"context_line":"            return"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        if (CONF.osapi_v3.extensions_blacklist or"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_17e367a5","line":342,"updated":"2015-08-20 10:38:06.000000000","message":"In the M release you must run the v2.1 API. -\u003e In the M release v2.1 API will be enabled by default without depending on CONF.osapi_v3.enabled configuration option.\n?","commit_id":"d618fd9831f141e87f5f5a85b6acebbf0cb93de2"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0e88eb4a773cfcccdcd9dab5c593286d17001dea","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":49,"context_line":"        cfg.ListOpt(\u0027extensions_blacklist\u0027,"},{"line_number":50,"context_line":"                    default\u003d[],"},{"line_number":51,"context_line":"                    help\u003d\u0027A list of v3 API extensions to never load. \u0027"},{"line_number":52,"context_line":"                    \u0027Specify the extension aliases here. \u0027"},{"line_number":53,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release. \u0027"},{"line_number":54,"context_line":"                    \u0027After that release you have to run all of the API.\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_ed4fb48f","line":51,"updated":"2015-08-21 15:29:18.000000000","message":"maybe add DEPRECATED: key  word here","commit_id":"ca7085a07271f442cdc28c91baa011fb34b1541f"},{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"4dcc5f9a3a7b897644cb04b82e6784ae5b8b6ec5","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    deprecated_for_removal\u003dTrue),"},{"line_number":49,"context_line":"        cfg.ListOpt(\u0027extensions_blacklist\u0027,"},{"line_number":50,"context_line":"                    default\u003d[],"},{"line_number":51,"context_line":"                    help\u003d\u0027A list of v3 API extensions to never load. \u0027"},{"line_number":52,"context_line":"                    \u0027Specify the extension aliases here. \u0027"},{"line_number":53,"context_line":"                    \u0027This option will be removed in the 13.0.0 \"M\" release. \u0027"},{"line_number":54,"context_line":"                    \u0027After that release you have to run all of the API.\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_b3b9a530","line":51,"in_reply_to":"fa1b9901_ed4fb48f","updated":"2015-08-25 11:13:28.000000000","message":"+1","commit_id":"ca7085a07271f442cdc28c91baa011fb34b1541f"},{"author":{"_account_id":14358,"name":"Marian Horban","email":"m.horban@gmail.com","username":"mhorban"},"change_message_id":"ae3d51cb2080263ec0fdb889eb8d47cf947d6ecc","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            return False"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_d550f460","line":342,"updated":"2015-08-27 17:21:53.000000000","message":"Do we want to save this message\n\"V3 API has been disabled by configuration\" ?","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c1b88db5824d742b7b385e432e3dc7e853f50104","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            return False"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_e9309c03","line":342,"in_reply_to":"da20952f_23731a4f","updated":"2015-08-28 09:45:40.000000000","message":"yeah, I am wanting this one in over the other patch thats dealing with this, so I left this message alone for now.","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"24e350c46ef5b617d2947f304b97335bec23cc7a","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            return False"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_23731a4f","line":342,"in_reply_to":"da20952f_49ee7bb5","updated":"2015-08-28 06:54:34.000000000","message":"a little conflict with this patch https://review.openstack.org/#/c/214311/4/nova/api/openstack/__init__.py","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"bdf81d1dbd5d9170e5a5bf6978fccbcb21425bab","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            return False"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_49ee7bb5","line":342,"in_reply_to":"da20952f_d550f460","updated":"2015-08-28 00:30:15.000000000","message":"Nice catch, the removal of this message will avoid confusion.","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c33cacad1777f9aef7e83b12d5236ad80c613c4e","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            return False"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_b8adcc9c","line":342,"in_reply_to":"da20952f_e9309c03","updated":"2015-08-31 02:10:29.000000000","message":"I see, thanks.\nI am fine for current patch, now.","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"bdf81d1dbd5d9170e5a5bf6978fccbcb21425bab","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        if (CONF.osapi_v21.extensions_blacklist or"}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_097de3e6","line":343,"updated":"2015-08-28 00:30:15.000000000","message":"How about jost\n\n After the Mitaka release, you cannot disable the v2.1 API and the API will run always.","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c1b88db5824d742b7b385e432e3dc7e853f50104","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":342,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":343,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":344,"context_line":"            return"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        if (CONF.osapi_v21.extensions_blacklist or"}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_e9597c5b","line":343,"in_reply_to":"da20952f_097de3e6","updated":"2015-08-28 09:45:40.000000000","message":"I left the release name out on purpose, as we haven\u0027t decided when yet.","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"24e350c46ef5b617d2947f304b97335bec23cc7a","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                \u0027the codebase to ensure there is a single Compute API.\u0027))"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"        self.init_only \u003d init_only"},{"line_number":354,"context_line":"        LOG.debug(\"v3 API Extension Blacklist: %s\","},{"line_number":355,"context_line":"                  CONF.osapi_v21.extensions_blacklist)"},{"line_number":356,"context_line":"        LOG.debug(\"v3 API Extension Whitelist: %s\","},{"line_number":357,"context_line":"                  CONF.osapi_v21.extensions_whitelist)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_23aa3a71","line":354,"updated":"2015-08-28 06:54:34.000000000","message":"there also, fixed in this patch or https://review.openstack.org/#/c/214311/4/nova/api/openstack/__init__.py both ok for me","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"24e350c46ef5b617d2947f304b97335bec23cc7a","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        self.init_only \u003d init_only"},{"line_number":354,"context_line":"        LOG.debug(\"v3 API Extension Blacklist: %s\","},{"line_number":355,"context_line":"                  CONF.osapi_v21.extensions_blacklist)"},{"line_number":356,"context_line":"        LOG.debug(\"v3 API Extension Whitelist: %s\","},{"line_number":357,"context_line":"                  CONF.osapi_v21.extensions_whitelist)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        in_blacklist_and_whitelist \u003d set("}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_c3b7bed6","line":356,"updated":"2015-08-28 06:54:34.000000000","message":"ditto","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c1b88db5824d742b7b385e432e3dc7e853f50104","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        self.init_only \u003d init_only"},{"line_number":354,"context_line":"        LOG.debug(\"v3 API Extension Blacklist: %s\","},{"line_number":355,"context_line":"                  CONF.osapi_v21.extensions_blacklist)"},{"line_number":356,"context_line":"        LOG.debug(\"v3 API Extension Whitelist: %s\","},{"line_number":357,"context_line":"                  CONF.osapi_v21.extensions_whitelist)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        in_blacklist_and_whitelist \u003d set("}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_49098830","line":356,"in_reply_to":"da20952f_c3b7bed6","updated":"2015-08-28 09:45:40.000000000","message":"agreed, this is the minimal patch on purpose.","commit_id":"11507eeceb2c56e50e9fe030a70470a02f577f2a"}]}
