)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38ae80da23e5c5ba9dddff2cdc4254e33df2087","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"config options: Centralize upgrade_levels section"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The config options of the \"nova.conf\" section \"upgrade_levels\""},{"line_number":10,"context_line":"got moved to the new central location \"nova/conf/upgrade_levels.py\"."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I45651e8527dd98635f25e9586f68c288203d8cf5"},{"line_number":13,"context_line":"Implements: blueprint centralize-config-options-newton"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba0121b8_b5a4de4a","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":68},"updated":"2016-04-01 09:25:40.000000000","message":"nit (since this needs work anyway): \"Write the summary line and description of what you have done in the imperative mode, that is as if you were commanding someone.\n\n* https://github.com/erlang/otp/wiki/writing-good-commit-messages\n* https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"2be06a869a99c339e59c52d046d07aef1cd91a31"}],"nova/conf/cells.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38ae80da23e5c5ba9dddff2cdc4254e33df2087","unresolved":false,"context_lines":[{"line_number":763,"context_line":"Possible values:"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"* None: This is the default value."},{"line_number":766,"context_line":"* grizzly: message version 1.6."},{"line_number":767,"context_line":"* havana: message version 1.24."},{"line_number":768,"context_line":"* icehouse: message version 1.27."},{"line_number":769,"context_line":"* juno: message version 1.29."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_5559028d","side":"PARENT","line":766,"range":{"start_line":766,"start_character":2,"end_line":766,"end_character":9},"updated":"2016-04-01 09:25:40.000000000","message":"nit: ``grizzly``? It would be consistent, IMO","commit_id":"b63177470fb546d69fc84c4564e6fc065e7c527d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38ae80da23e5c5ba9dddff2cdc4254e33df2087","unresolved":false,"context_lines":[{"line_number":730,"context_line":"]"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"rpcapi_cap_intercell_opt \u003d cfg.StrOpt(\u0027intercell\u0027,"},{"line_number":734,"context_line":"        help\u003d\"\"\""},{"line_number":735,"context_line":"Intercell version"},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"Intercell RPC API is the client side of the Cell\u003c-\u003eCell RPC API."},{"line_number":738,"context_line":"Use this option to set a version cap for messages sent between"},{"line_number":739,"context_line":"cells services."},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"Possible values:"},{"line_number":742,"context_line":""},{"line_number":743,"context_line":"* None: This is the default value."},{"line_number":744,"context_line":"* grizzly: message version 1.0."},{"line_number":745,"context_line":""},{"line_number":746,"context_line":"Services which consume this:"},{"line_number":747,"context_line":""},{"line_number":748,"context_line":"* nova-cells"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":"Related options:"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"* None"},{"line_number":753,"context_line":"\"\"\")"},{"line_number":754,"context_line":""},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"rpcapi_cap_cells_opt \u003d cfg.StrOpt(\u0027cells\u0027,"},{"line_number":757,"context_line":"        help\u003d\"\"\""},{"line_number":758,"context_line":"Cells version"},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"Cells client-side RPC API version. Use this option to set a version"},{"line_number":761,"context_line":"cap for messages sent to local cells services."},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"Possible values:"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"* None: This is the default value."},{"line_number":766,"context_line":"* grizzly: message version 1.6."},{"line_number":767,"context_line":"* havana: message version 1.24."},{"line_number":768,"context_line":"* icehouse: message version 1.27."},{"line_number":769,"context_line":"* juno: message version 1.29."},{"line_number":770,"context_line":"* kilo: message version 1.34."},{"line_number":771,"context_line":"* liberty: message version 1.37."},{"line_number":772,"context_line":""},{"line_number":773,"context_line":"Services which consume this:"},{"line_number":774,"context_line":""},{"line_number":775,"context_line":"* nova-cells"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"Related options:"},{"line_number":778,"context_line":""},{"line_number":779,"context_line":"* None"},{"line_number":780,"context_line":"\"\"\")"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"ALL_CELLS_OPTS \u003d list(itertools.chain("}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_5582a2c8","side":"PARENT","line":780,"range":{"start_line":733,"start_character":0,"end_line":780,"end_character":4},"updated":"2016-04-01 09:25:40.000000000","message":"The commit message doesn\u0027t reflect why this is happening. I still need to check the comments on the review, but I shouldn\u0027t need to IMO","commit_id":"b63177470fb546d69fc84c4564e6fc065e7c527d"}],"nova/conf/cert.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38ae80da23e5c5ba9dddff2cdc4254e33df2087","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    None"},{"line_number":36,"context_line":"\"\"\")"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"rpcapi_cap_opt \u003d cfg.StrOpt(\"cert\","},{"line_number":39,"context_line":"        help\u003d\"\"\""},{"line_number":40,"context_line":"Specifies the maximum version for messages sent from cert services. This should"},{"line_number":41,"context_line":"be the minimum value that is supported by all of the deployed cert services."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Possible values:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Any valid OpenStack release name, in lower case, such as \u0027mitaka\u0027 or \u0027liberty\u0027."},{"line_number":46,"context_line":"Alternatively, it can be any string representing a version number in the format"},{"line_number":47,"context_line":"\u0027N.N\u0027; for example, possible values might be \u00271.12\u0027 or \u00272.0\u0027."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Services which consume this:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    ``nova-cert``"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Related options:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    None"},{"line_number":56,"context_line":"\"\"\")"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_75524668","side":"PARENT","line":56,"range":{"start_line":38,"start_character":0,"end_line":56,"end_character":4},"updated":"2016-04-01 09:25:40.000000000","message":"Ditto","commit_id":"b63177470fb546d69fc84c4564e6fc065e7c527d"}],"nova/conf/upgrade_levels.py":[{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"211f2853b537be1ed97a343fa6913295ec0dd03f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Alternatively, it can be any string representing a version number in the format"},{"line_number":78,"context_line":"\u0027N.N\u0027; for example, possible values might be \u00271.12\u0027 or \u00272.0\u0027."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Services which consume this:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    ``nova-cert``"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_92bb5372","line":80,"updated":"2016-03-29 16:40:10.000000000","message":"format is different than above (see line 59-61)","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"e493058eb26055f86b974631547ad4fdf97cb784","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Alternatively, it can be any string representing a version number in the format"},{"line_number":78,"context_line":"\u0027N.N\u0027; for example, possible values might be \u00271.12\u0027 or \u00272.0\u0027."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Services which consume this:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    ``nova-cert``"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_a69bba71","line":80,"in_reply_to":"ba0121b8_92bb5372","updated":"2016-03-29 17:25:24.000000000","message":"Done","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"211f2853b537be1ed97a343fa6913295ec0dd03f","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    ``nova-cert``"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* Related options:"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    None"},{"line_number":87,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_f2b0cf8d","line":84,"updated":"2016-03-29 16:40:10.000000000","message":"same comment as above","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"e493058eb26055f86b974631547ad4fdf97cb784","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    ``nova-cert``"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* Related options:"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    None"},{"line_number":87,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_e68bf21c","line":84,"in_reply_to":"ba0121b8_f2b0cf8d","updated":"2016-03-29 17:25:24.000000000","message":"Done","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"211f2853b537be1ed97a343fa6913295ec0dd03f","unresolved":false,"context_lines":[{"line_number":110,"context_line":"It exists mainly for design compatibility with the other services, such as"},{"line_number":111,"context_line":"compute, which are routinely upgraded in a rolling fashion."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* Services that use this:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    ``nova-compute, nova-conductor``"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_b26db706","line":113,"updated":"2016-03-29 16:40:10.000000000","message":"same comment as above","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"e493058eb26055f86b974631547ad4fdf97cb784","unresolved":false,"context_lines":[{"line_number":110,"context_line":"It exists mainly for design compatibility with the other services, such as"},{"line_number":111,"context_line":"compute, which are routinely upgraded in a rolling fashion."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* Services that use this:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    ``nova-compute, nova-conductor``"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_867dd61e","line":113,"in_reply_to":"ba0121b8_b26db706","updated":"2016-03-29 17:25:24.000000000","message":"Done","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"211f2853b537be1ed97a343fa6913295ec0dd03f","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    ``nova-compute, nova-conductor``"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* Related options:"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    None"},{"line_number":120,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_927233e4","line":117,"updated":"2016-03-29 16:40:10.000000000","message":"same comment as above","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"e493058eb26055f86b974631547ad4fdf97cb784","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    ``nova-compute, nova-conductor``"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* Related options:"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    None"},{"line_number":120,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_6678822c","line":117,"in_reply_to":"ba0121b8_927233e4","updated":"2016-03-29 17:25:24.000000000","message":"Done","commit_id":"23b7801735123c4cf66c2dbc934d9c3b47b46181"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"cc3bdaf8620ddf9e99b10e42572344db337ab2d3","unresolved":false,"context_lines":[{"line_number":140,"context_line":"             rpcapi_cap_cert_opt,"},{"line_number":141,"context_line":"             rpcapi_cap_compute_opt,"},{"line_number":142,"context_line":"             rpcapi_cap_scheduler_opt,"},{"line_number":143,"context_line":"             rpcapi_cap_scheduler_opt,"},{"line_number":144,"context_line":"             rpcapi_cap_conductor_opt,"},{"line_number":145,"context_line":"             rpcapi_cap_console_opt,"},{"line_number":146,"context_line":"             rpcapi_cap_consoleauth_opt,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_876e6d94","line":143,"range":{"start_line":143,"start_character":13,"end_line":143,"end_character":37},"updated":"2016-03-29 19:48:27.000000000","message":"Nit.\nThis appears twice.","commit_id":"e42a07a4d170eb15b4836a0474932411c336249d"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"12450ccbcb387c416860224065e2077da7ce34a8","unresolved":false,"context_lines":[{"line_number":140,"context_line":"             rpcapi_cap_cert_opt,"},{"line_number":141,"context_line":"             rpcapi_cap_compute_opt,"},{"line_number":142,"context_line":"             rpcapi_cap_scheduler_opt,"},{"line_number":143,"context_line":"             rpcapi_cap_scheduler_opt,"},{"line_number":144,"context_line":"             rpcapi_cap_conductor_opt,"},{"line_number":145,"context_line":"             rpcapi_cap_console_opt,"},{"line_number":146,"context_line":"             rpcapi_cap_consoleauth_opt,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_919fc34f","line":143,"range":{"start_line":143,"start_character":13,"end_line":143,"end_character":37},"in_reply_to":"ba0121b8_876e6d94","updated":"2016-03-29 22:01:51.000000000","message":"Done","commit_id":"e42a07a4d170eb15b4836a0474932411c336249d"},{"author":{"_account_id":18723,"name":"Allen Gao","email":"wanlong.gao@gmail.com","username":"allen"},"change_message_id":"2228fc067894c19f8c8535444980c4314baa5220","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        help\u003d\u0027Set a version cap for messages sent to the base api in any \u0027"},{"line_number":136,"context_line":"             \u0027service\u0027)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"ALL_OPTS \u003d [rpcapi_cap_cells_opt,"},{"line_number":139,"context_line":"             rpcapi_cap_intercell_opt,"},{"line_number":140,"context_line":"             rpcapi_cap_cert_opt,"},{"line_number":141,"context_line":"             rpcapi_cap_compute_opt,"},{"line_number":142,"context_line":"             rpcapi_cap_scheduler_opt,"},{"line_number":143,"context_line":"             rpcapi_cap_conductor_opt,"},{"line_number":144,"context_line":"             rpcapi_cap_console_opt,"},{"line_number":145,"context_line":"             rpcapi_cap_consoleauth_opt,"},{"line_number":146,"context_line":"             rpcapi_cap_network_opt,"},{"line_number":147,"context_line":"             rpcapi_cap_baseapi_opt]"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_0453176c","line":147,"range":{"start_line":138,"start_character":12,"end_line":147,"end_character":35},"updated":"2016-03-31 11:04:16.000000000","message":"why not align?","commit_id":"2be06a869a99c339e59c52d046d07aef1cd91a31"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38ae80da23e5c5ba9dddff2cdc4254e33df2087","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"def register_opts(conf):"},{"line_number":151,"context_line":"    conf.register_opts(ALL_OPTS, group\u003d\"upgrade_levels\")"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"def list_opts():"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_b5485eb4","line":151,"range":{"start_line":151,"start_character":39,"end_line":151,"end_character":55},"updated":"2016-04-01 09:25:40.000000000","message":"super nit: single quotes, please :)","commit_id":"2be06a869a99c339e59c52d046d07aef1cd91a31"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d38ae80da23e5c5ba9dddff2cdc4254e33df2087","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"def list_opts():"},{"line_number":155,"context_line":"    return {\"upgrade_levels\": ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_35d3aed6","line":155,"range":{"start_line":155,"start_character":12,"end_line":155,"end_character":28},"updated":"2016-04-01 09:25:40.000000000","message":"Could you create an OptGroup, such that we have something to document? Maybe this could be a follow up","commit_id":"2be06a869a99c339e59c52d046d07aef1cd91a31"}]}
