)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"39e479ebffecdc3a0e8aa2faca4fde0b14d2f602","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove \u0027v3\u0027 from extension code"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"THis is part of the v3 cleanup effort. Both the \u0027osapi_v3\u0027 config"},{"line_number":10,"context_line":"option namespace and the \u0027API_V3_CORE_EXTENSIONS\u0027 attribute have been"},{"line_number":11,"context_line":"re-named to \u0027osapi_v21\u0027 and \u0027API_V21_CORE_EXTENSIONS\u0027, respectively."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da20952f_a291699c","line":9,"updated":"2015-09-03 04:18:12.000000000","message":"Needs to update commit msg as \u0027osapi_v3\u0027 part is already done.","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"532f4d00d59925a4333cd51b114560b270114303","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove \u0027v3\u0027 from extension code"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"THis is part of the v3 cleanup effort. Both the \u0027osapi_v3\u0027 config"},{"line_number":10,"context_line":"option namespace and the \u0027API_V3_CORE_EXTENSIONS\u0027 attribute have been"},{"line_number":11,"context_line":"re-named to \u0027osapi_v21\u0027 and \u0027API_V21_CORE_EXTENSIONS\u0027, respectively."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da20952f_17a76250","line":9,"updated":"2015-09-02 11:08:33.000000000","message":"nit: This","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"bc4b9edcd2193130c990191cd551946778d78206","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove \u0027v3\u0027 from extension code"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"THis is part of the v3 cleanup effort. Both the \u0027osapi_v3\u0027 config"},{"line_number":10,"context_line":"option namespace and the \u0027API_V3_CORE_EXTENSIONS\u0027 attribute have been"},{"line_number":11,"context_line":"re-named to \u0027osapi_v21\u0027 and \u0027API_V21_CORE_EXTENSIONS\u0027, respectively."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da20952f_87bfe4a9","line":9,"in_reply_to":"da20952f_17a76250","updated":"2015-09-08 14:58:19.000000000","message":"Done","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"bc4b9edcd2193130c990191cd551946778d78206","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove \u0027v3\u0027 from extension code"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"THis is part of the v3 cleanup effort. Both the \u0027osapi_v3\u0027 config"},{"line_number":10,"context_line":"option namespace and the \u0027API_V3_CORE_EXTENSIONS\u0027 attribute have been"},{"line_number":11,"context_line":"re-named to \u0027osapi_v21\u0027 and \u0027API_V21_CORE_EXTENSIONS\u0027, respectively."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da20952f_a7cf8856","line":9,"in_reply_to":"da20952f_a291699c","updated":"2015-09-08 14:58:19.000000000","message":"Good catch - done.","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"}],"nova/api/openstack/__init__.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"2132eb73be539422a9fcad007be3313393566002","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    @staticmethod"},{"line_number":308,"context_line":"    def api_extension_namespace():"},{"line_number":309,"context_line":"        # TODO(oomichi): This namespaces will be changed after moving all v21"},{"line_number":310,"context_line":"        # APIs to v2.1."},{"line_number":311,"context_line":"        return \u0027nova.api.v21.extensions\u0027"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_d90fc186","line":310,"updated":"2015-08-18 19:53:42.000000000","message":"guess this is incorrect ...","commit_id":"1f8413da195b40a13f88dd4041264d3b1bad9793"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"4756b4f28c316e4d92b9e49ffae94d3ded192a05","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    @staticmethod"},{"line_number":308,"context_line":"    def api_extension_namespace():"},{"line_number":309,"context_line":"        # TODO(oomichi): This namespaces will be changed after moving all v21"},{"line_number":310,"context_line":"        # APIs to v2.1."},{"line_number":311,"context_line":"        return \u0027nova.api.v21.extensions\u0027"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_ea2c214c","line":310,"in_reply_to":"fa1b9901_d90fc186","updated":"2015-08-18 21:05:04.000000000","message":"It was search/replace. I decided to change it to remove the \u0027v3\u0027 from my grep results, since it\u0027s a comment. I would like to know if we could follow the comment and just delete this method.","commit_id":"1f8413da195b40a13f88dd4041264d3b1bad9793"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6c322823cadbebfc5ac5c9dda85b20235f9235fe","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    @staticmethod"},{"line_number":308,"context_line":"    def api_extension_namespace():"},{"line_number":309,"context_line":"        # TODO(oomichi): This namespaces will be changed after moving all v21"},{"line_number":310,"context_line":"        # APIs to v2.1."},{"line_number":311,"context_line":"        return \u0027nova.api.v21.extensions\u0027"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_4d7addf2","line":310,"in_reply_to":"fa1b9901_db9b1571","updated":"2015-08-25 14:07:00.000000000","message":"Done","commit_id":"1f8413da195b40a13f88dd4041264d3b1bad9793"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0f97b721500d40515b3df1465a7dadc81644b001","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    @staticmethod"},{"line_number":308,"context_line":"    def api_extension_namespace():"},{"line_number":309,"context_line":"        # TODO(oomichi): This namespaces will be changed after moving all v21"},{"line_number":310,"context_line":"        # APIs to v2.1."},{"line_number":311,"context_line":"        return \u0027nova.api.v21.extensions\u0027"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_db9b1571","line":310,"in_reply_to":"fa1b9901_ea2c214c","updated":"2015-08-19 11:42:00.000000000","message":"I guess we can remove it directly , or you can irc Ken\u0027ichi since he made the comments","commit_id":"1f8413da195b40a13f88dd4041264d3b1bad9793"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4fc3e57535b61d6a83243003d24018e297d43dbe","unresolved":false,"context_lines":[{"line_number":332,"context_line":"                        return self._register_extension(ext)"},{"line_number":333,"context_line":"            return False"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":336,"context_line":"            LOG.info(_LI(\"V21 API has been disabled by configuration\"))"},{"line_number":337,"context_line":"            return"},{"line_number":338,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_a685fdad","line":335,"updated":"2015-08-19 00:43:59.000000000","message":"I think we can remove this option now as v2.1 should be enabled always.","commit_id":"1f8413da195b40a13f88dd4041264d3b1bad9793"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b8717d31063741acf2569bffcaba2f90957ed570","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                    \u0027will only be loaded if it exists in this list. Specify \u0027"},{"line_number":57,"context_line":"                    \u0027the extension aliases here.\u0027)"},{"line_number":58,"context_line":"]"},{"line_number":59,"context_line":"api_opts_group \u003d cfg.OptGroup(name\u003d\u0027osapi_v21\u0027, title\u003d\u0027API v21 Options\u0027)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":62,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_f3a0dd92","line":59,"updated":"2015-08-27 01:42:08.000000000","message":"looks like John already work on this part https://review.openstack.org/#/c/214592/","commit_id":"3eddfc00872d033579587fca54fe2be6317146bf"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"397be7636369980dcc0dbd002852f65f1c19c656","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                    \u0027will only be loaded if it exists in this list. Specify \u0027"},{"line_number":57,"context_line":"                    \u0027the extension aliases here.\u0027)"},{"line_number":58,"context_line":"]"},{"line_number":59,"context_line":"api_opts_group \u003d cfg.OptGroup(name\u003d\u0027osapi_v21\u0027, title\u003d\u0027API v21 Options\u0027)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":62,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_8a8c6036","line":59,"in_reply_to":"da20952f_f3a0dd92","updated":"2015-08-28 15:02:04.000000000","message":"Yes, I put a note on his patch when I saw that. When one of these patches merges, the other will simply need to rebase.","commit_id":"3eddfc00872d033579587fca54fe2be6317146bf"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"39e479ebffecdc3a0e8aa2faca4fde0b14d2f602","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        return \u0027nova.api.v21.extensions\u0027"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"},{"line_number":318,"context_line":"        # TODO(cyeoh): bp v21-api-extension-framework. Currently load"},{"line_number":319,"context_line":"        # all extensions but eventually should be able to exclude"},{"line_number":320,"context_line":"        # based on a config file"},{"line_number":321,"context_line":"        # TODO(oomichi): We can remove v3mode argument after moving all v3 APIs"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a2aac9d0","line":318,"updated":"2015-09-03 04:18:12.000000000","message":"this should not be changed as it is BP name","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"bc4b9edcd2193130c990191cd551946778d78206","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        return \u0027nova.api.v21.extensions\u0027"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def __init__(self, init_only\u003dNone, v3mode\u003dFalse):"},{"line_number":318,"context_line":"        # TODO(cyeoh): bp v21-api-extension-framework. Currently load"},{"line_number":319,"context_line":"        # all extensions but eventually should be able to exclude"},{"line_number":320,"context_line":"        # based on a config file"},{"line_number":321,"context_line":"        # TODO(oomichi): We can remove v3mode argument after moving all v3 APIs"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a7a1c897","line":318,"in_reply_to":"da20952f_a2aac9d0","updated":"2015-09-08 14:58:19.000000000","message":"Done","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a3a1c7bf019593da91c49ddcbff132381da6e2f8","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                        return self._register_extension(ext)"},{"line_number":337,"context_line":"            return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":340,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":341,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":342,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_2261d9a8","line":339,"updated":"2015-09-03 04:25:54.000000000","message":"Should change here too.","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b29bf5ed593fc599a94281081c7a5db792f61b21","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":340,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":341,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":342,"context_line":"            return"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_47c22d36","line":340,"updated":"2015-09-08 14:43:12.000000000","message":"I\u0027m not sure you can change this one right now given it\u0027s a translated string and we\u0027re in string freeze:\n\nhttps://wiki.openstack.org/wiki/StringFreeze","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ee5c741e628e598e04a9f5167b1a2887cb46ffb5","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":340,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":341,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":342,"context_line":"            return"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_6772d113","line":340,"in_reply_to":"da20952f_47c22d36","updated":"2015-09-08 14:46:40.000000000","message":"Reading the wiki, I think it would actually be OK to change this since it doesn\u0027t change the context of the message and it\u0027s not adding a new translatable message.","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"bc4b9edcd2193130c990191cd551946778d78206","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":340,"context_line":"            LOG.info(_LI(\"V3 API has been disabled by configuration\"))"},{"line_number":341,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":342,"context_line":"            return"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_a7c8e857","line":340,"in_reply_to":"da20952f_6772d113","updated":"2015-09-08 14:58:19.000000000","message":"Thanks for checking - done.","commit_id":"a1de1627af38d939db137d41f0b7fe3ca1811aca"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"338655a2d59acc51715cc63062de3b232e953f5f","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":340,"context_line":"            LOG.info(_LI(\"V2.1 API has been disabled by configuration\"))"},{"line_number":341,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":342,"context_line":"            return"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_6fd58819","line":340,"updated":"2015-09-09 19:51:56.000000000","message":"I agree with mriedem\u0027s comment on PS6, that doesn\u0027t really change the meaning so we\u0027re safe","commit_id":"7d3f90cd9ea51f646f26ce6187364b53d9867d84"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d920ad8b0d8d40c908fae49d9656ec9b9a83c0b2","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            return False"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if not CONF.osapi_v21.enabled:"},{"line_number":340,"context_line":"            LOG.info(_LI(\"V2.1 API has been disabled by configuration\"))"},{"line_number":341,"context_line":"            LOG.warning(_LW(\"In the M release you must run the v2.1 API.\"))"},{"line_number":342,"context_line":"            return"},{"line_number":343,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_a7909b97","line":340,"in_reply_to":"da20952f_6fd58819","updated":"2015-09-10 05:34:09.000000000","message":"Emm....OMG....we are in string freeze.","commit_id":"7d3f90cd9ea51f646f26ce6187364b53d9867d84"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d920ad8b0d8d40c908fae49d9656ec9b9a83c0b2","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                \u0027the codebase to ensure there is a single Compute API.\u0027))"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        self.init_only \u003d init_only"},{"line_number":352,"context_line":"        LOG.debug(\"v21 API Extension Blacklist: %s\","},{"line_number":353,"context_line":"                  CONF.osapi_v21.extensions_blacklist)"},{"line_number":354,"context_line":"        LOG.debug(\"v21 API Extension Whitelist: %s\","},{"line_number":355,"context_line":"                  CONF.osapi_v21.extensions_whitelist)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_c7a34fff","line":352,"updated":"2015-09-10 05:34:09.000000000","message":"we should use \u0027v2.1\u0027 instead of \u0027v21\u0027 for user visitable string.","commit_id":"7d3f90cd9ea51f646f26ce6187364b53d9867d84"}],"nova/api/openstack/compute/versions.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"2132eb73be539422a9fcad007be3313393566002","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"},{"line_number":24,"context_line":"CONF.import_opt(\u0027enabled\u0027, \u0027nova.api.openstack\u0027, group\u003d\u0027osapi_v3\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LINKS \u003d {"},{"line_number":27,"context_line":"   \u0027v2.0\u0027: {"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_f9c72510","side":"PARENT","line":24,"updated":"2015-08-18 19:53:42.000000000","message":"only a question on this, will this makes old configuration not usable now?","commit_id":"0acf9a7dc4dda7176e42f44ca36efb66205e0703"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"4756b4f28c316e4d92b9e49ffae94d3ded192a05","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"},{"line_number":24,"context_line":"CONF.import_opt(\u0027enabled\u0027, \u0027nova.api.openstack\u0027, group\u003d\u0027osapi_v3\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LINKS \u003d {"},{"line_number":27,"context_line":"   \u0027v2.0\u0027: {"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_2a6d3998","side":"PARENT","line":24,"in_reply_to":"fa1b9901_f9c72510","updated":"2015-08-18 21:05:04.000000000","message":"Configurations will have to be updated, yes.","commit_id":"0acf9a7dc4dda7176e42f44ca36efb66205e0703"}]}
