)]}'
{"doc/v3/api_samples/all_extensions/extensions-list-resp.json":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c7760cbfda9261c55f7f9495df78be6f8ae335e5","unresolved":false,"context_lines":[{"line_number":6,"context_line":"            \"links\": [],"},{"line_number":7,"context_line":"            \"name\": \"Consoles\","},{"line_number":8,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/fake_xml\","},{"line_number":9,"context_line":"            \"updated\": \"1\""},{"line_number":10,"context_line":"        },"},{"line_number":11,"context_line":"        {"},{"line_number":12,"context_line":"            \"alias\": \"extensions\","}],"source_content_type":"application/json","patch_set":4,"id":"5a890539_e85bb81f","line":9,"updated":"2014-12-03 02:43:59.000000000","message":"here should be date-time format as I mentioned in extension_info.py","commit_id":"0557fb1fde26478b64d96f3ecfd4bd6e5c0a73c5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fcbc5e207943c3c1db2dce4aa4bb96909b7b08f","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        },"},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"            \"alias\": \"os-availability-zone\","},{"line_number":141,"context_line":"            \"description\": \"2014-12-03T00:00:00Z. Add availability_zone to the Create Server API.\\n       2. Add availability zones describing.\\n    \","},{"line_number":142,"context_line":"            \"links\": [],"},{"line_number":143,"context_line":"            \"name\": \"AvailabilityZone\","},{"line_number":144,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/fake_xml\","}],"source_content_type":"application/json","patch_set":8,"id":"5a890539_c0bdb569","line":141,"updated":"2014-12-04 08:11:08.000000000","message":"this should not be changed.","commit_id":"77afaf68e6a1410d628ab1d52a8b3154d5ab9c53"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"99cccd2e8f1c8db860a6ff2d78c5ea2b85e03107","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        },"},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"            \"alias\": \"os-availability-zone\","},{"line_number":141,"context_line":"            \"description\": \"2014-12-03T00:00:00Z. Add availability_zone to the Create Server API.\\n       2. Add availability zones describing.\\n    \","},{"line_number":142,"context_line":"            \"links\": [],"},{"line_number":143,"context_line":"            \"name\": \"AvailabilityZone\","},{"line_number":144,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/fake_xml\","}],"source_content_type":"application/json","patch_set":8,"id":"5a890539_e26e30c7","line":141,"in_reply_to":"5a890539_c0bdb569","updated":"2014-12-04 11:30:09.000000000","message":"Done","commit_id":"77afaf68e6a1410d628ab1d52a8b3154d5ab9c53"}],"nova/api/openstack/compute/plugins/v3/extension_info.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6f8e7215c3bd6edaa266989c3a515d89d7f2667","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# should also appear to be loaded (although they no longer do in v2.1)"},{"line_number":28,"context_line":"v21_to_v2_extension_list_mapping \u003d {"},{"line_number":29,"context_line":"    \u0027os-quota-sets\u0027: [{\u0027name\u0027: \u0027UserQuotas\u0027, \u0027alias\u0027: \u0027os-user-quotas\u0027}],"},{"line_number":30,"context_line":"    \u0027os-cells\u0027: [{\u0027name\u0027: \u0027CellCapacities\u0027, \u0027alias\u0027: \u0027os-cell_capacities\u0027}],"},{"line_number":31,"context_line":"}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# v2.1 plugins which should never appear in the v2 extension list"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_681c8b78","line":30,"updated":"2014-10-01 08:19:54.000000000","message":"If we should emulate v2.0 compatible extension names via v2.1 API also, it will be necessary to represent dummy extensions also.\nThat means inconsistent names again on v2.1 API also..\n\nI hope current v2.1 consistent extension names if that is possible.","commit_id":"3f9a8bf7f4e1d8ebd9151aa3eafe5c1170d17320"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"78d5ac66bdae603bed411cb9043975503e9efdbf","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# should also appear to be loaded (although they no longer do in v2.1)"},{"line_number":28,"context_line":"v21_to_v2_extension_list_mapping \u003d {"},{"line_number":29,"context_line":"    \u0027os-quota-sets\u0027: [{\u0027name\u0027: \u0027UserQuotas\u0027, \u0027alias\u0027: \u0027os-user-quotas\u0027}],"},{"line_number":30,"context_line":"    \u0027os-cells\u0027: [{\u0027name\u0027: \u0027CellCapacities\u0027, \u0027alias\u0027: \u0027os-cell_capacities\u0027}],"},{"line_number":31,"context_line":"}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# v2.1 plugins which should never appear in the v2 extension list"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_45c69a4a","line":30,"in_reply_to":"baa201ad_681c8b78","updated":"2014-10-03 01:42:03.000000000","message":"Yea, my theory is that people would be looking for the extension alias rather than the extension name. If that turns out not to be true we\u0027ll have to map the extension names as well and then slowly upgrade them with microversions","commit_id":"3f9a8bf7f4e1d8ebd9151aa3eafe5c1170d17320"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6f8e7215c3bd6edaa266989c3a515d89d7f2667","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        ext_data[\u0027name\u0027] \u003d ext.name"},{"line_number":62,"context_line":"        ext_data[\u0027alias\u0027] \u003d ext.alias"},{"line_number":63,"context_line":"        ext_data[\u0027description\u0027] \u003d ext.__doc__"},{"line_number":64,"context_line":"        ext_data[\u0027namespace\u0027] \u003d \"NO XML SUPPORT\""},{"line_number":65,"context_line":"        ext_data[\u0027updated\u0027] \u003d FAKE_UPDATED_DATE"},{"line_number":66,"context_line":"        ext_data[\u0027links\u0027] \u003d []"},{"line_number":67,"context_line":"        return ext_data"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_48618738","line":64,"updated":"2014-10-01 08:19:54.000000000","message":"Here is only my -1 reason.\n\nOn Tempest, this attribute is checked with the following jsonschema:\n\n./tempest/api_schema/response/compute/v2/extensions.py\n 31                         \u0027namespace\u0027: {\n 32                             \u0027type\u0027: \u0027string\u0027,\n 33                             \u0027format\u0027: \u0027uri\u0027\n 34                         },\n\nThis value(\"NO XML SUPPORT\") should be denied by Tempest ideally.\nbut now, Tempest accepts this value because \u0027format\u0027: \u0027type\u0027 does not work on Tempest due to a Tempest bug. maybe the type check will work soon. After that, we need to consider a change of this value.","commit_id":"3f9a8bf7f4e1d8ebd9151aa3eafe5c1170d17320"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"78d5ac66bdae603bed411cb9043975503e9efdbf","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        ext_data[\u0027name\u0027] \u003d ext.name"},{"line_number":62,"context_line":"        ext_data[\u0027alias\u0027] \u003d ext.alias"},{"line_number":63,"context_line":"        ext_data[\u0027description\u0027] \u003d ext.__doc__"},{"line_number":64,"context_line":"        ext_data[\u0027namespace\u0027] \u003d \"NO XML SUPPORT\""},{"line_number":65,"context_line":"        ext_data[\u0027updated\u0027] \u003d FAKE_UPDATED_DATE"},{"line_number":66,"context_line":"        ext_data[\u0027links\u0027] \u003d []"},{"line_number":67,"context_line":"        return ext_data"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_85b5e232","line":64,"in_reply_to":"baa201ad_48618738","updated":"2014-10-03 01:42:03.000000000","message":"ah, thanks - I\u0027ll change this to a string which will pass the format check","commit_id":"3f9a8bf7f4e1d8ebd9151aa3eafe5c1170d17320"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c6f8e7215c3bd6edaa266989c3a515d89d7f2667","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        ext_data[\u0027alias\u0027] \u003d ext.alias"},{"line_number":63,"context_line":"        ext_data[\u0027description\u0027] \u003d ext.__doc__"},{"line_number":64,"context_line":"        ext_data[\u0027namespace\u0027] \u003d \"NO XML SUPPORT\""},{"line_number":65,"context_line":"        ext_data[\u0027updated\u0027] \u003d FAKE_UPDATED_DATE"},{"line_number":66,"context_line":"        ext_data[\u0027links\u0027] \u003d []"},{"line_number":67,"context_line":"        return ext_data"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_28a60354","line":65,"updated":"2014-10-01 08:19:54.000000000","message":"just one idea:\n\nHow about using \"updated\" value of VERSIONS under ./nova/api/openstack/compute/versions.py instead of static value?\nEach extension version will be updated by syncing to main version \"updated\".","commit_id":"3f9a8bf7f4e1d8ebd9151aa3eafe5c1170d17320"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"78d5ac66bdae603bed411cb9043975503e9efdbf","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        ext_data[\u0027alias\u0027] \u003d ext.alias"},{"line_number":63,"context_line":"        ext_data[\u0027description\u0027] \u003d ext.__doc__"},{"line_number":64,"context_line":"        ext_data[\u0027namespace\u0027] \u003d \"NO XML SUPPORT\""},{"line_number":65,"context_line":"        ext_data[\u0027updated\u0027] \u003d FAKE_UPDATED_DATE"},{"line_number":66,"context_line":"        ext_data[\u0027links\u0027] \u003d []"},{"line_number":67,"context_line":"        return ext_data"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_0503b273","line":65,"in_reply_to":"baa201ad_28a60354","updated":"2014-10-03 01:42:03.000000000","message":"oh good point","commit_id":"3f9a8bf7f4e1d8ebd9151aa3eafe5c1170d17320"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9a83999f9f289bb424cfa00e5e8575bb1e1a1b2f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"v21_to_v2_extension_list_mapping \u003d {"},{"line_number":29,"context_line":"    \u0027os-quota-sets\u0027: [{\u0027name\u0027: \u0027UserQuotas\u0027, \u0027alias\u0027: \u0027os-user-quotas\u0027}],"},{"line_number":30,"context_line":"    \u0027os-cells\u0027: [{\u0027name\u0027: \u0027CellCapacities\u0027, \u0027alias\u0027: \u0027os-cell_capacities\u0027}],"},{"line_number":31,"context_line":"}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# v2.1 plugins which should never appear in the v2 extension list"},{"line_number":34,"context_line":"# This should be the v2.1 alias, not the V2.0 alias"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_60be2a02","line":31,"updated":"2014-12-02 05:16:12.000000000","message":"How about removing this mapping mechanism from this patch as the first step for easy reviewing?\nI\u0027d like to discuss the translation of extension names later more carefully.","commit_id":"db035e8d02133297b72e0cd701d43b030b58c45a"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"3036a7f6b2ef911778eafd5cf18a5dbcffcda9e6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"v21_to_v2_extension_list_mapping \u003d {"},{"line_number":29,"context_line":"    \u0027os-quota-sets\u0027: [{\u0027name\u0027: \u0027UserQuotas\u0027, \u0027alias\u0027: \u0027os-user-quotas\u0027}],"},{"line_number":30,"context_line":"    \u0027os-cells\u0027: [{\u0027name\u0027: \u0027CellCapacities\u0027, \u0027alias\u0027: \u0027os-cell_capacities\u0027}],"},{"line_number":31,"context_line":"}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# v2.1 plugins which should never appear in the v2 extension list"},{"line_number":34,"context_line":"# This should be the v2.1 alias, not the V2.0 alias"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_266c3a36","line":31,"in_reply_to":"5a890539_60be2a02","updated":"2014-12-02 23:29:23.000000000","message":"ok I will split this into two patches","commit_id":"db035e8d02133297b72e0cd701d43b030b58c45a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c7760cbfda9261c55f7f9495df78be6f8ae335e5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        ext_data[\u0027alias\u0027] \u003d ext.alias"},{"line_number":47,"context_line":"        ext_data[\u0027description\u0027] \u003d ext.__doc__"},{"line_number":48,"context_line":"        ext_data[\u0027namespace\u0027] \u003d FAKE_XML_URL"},{"line_number":49,"context_line":"        ext_data[\u0027updated\u0027] \u003d str(ext.version)"},{"line_number":50,"context_line":"        ext_data[\u0027links\u0027] \u003d []"},{"line_number":51,"context_line":"        return ext_data"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_68598834","line":49,"updated":"2014-12-03 02:43:59.000000000","message":"ext.version is 1 in all extensions.\nHowever, Tempest is checking updated as date-time format like the following:\n\n 25                         \u0027updated\u0027: {\n 26                             \u0027type\u0027: \u0027string\u0027,\n 27                             \u0027format\u0027: \u0027data-time\u0027\n 28                         },\n\nSo how about using some static date like \u0027\u00272014-12-03T00:00:00Z\" or something?\nMaybe FAKE_UPDATED_DATE is better like FAKE_XML_URL.","commit_id":"0557fb1fde26478b64d96f3ecfd4bd6e5c0a73c5"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"201ee67454351ed84d9fab589a9022938262d67c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        ext_data[\u0027alias\u0027] \u003d ext.alias"},{"line_number":47,"context_line":"        ext_data[\u0027description\u0027] \u003d ext.__doc__"},{"line_number":48,"context_line":"        ext_data[\u0027namespace\u0027] \u003d FAKE_XML_URL"},{"line_number":49,"context_line":"        ext_data[\u0027updated\u0027] \u003d str(ext.version)"},{"line_number":50,"context_line":"        ext_data[\u0027links\u0027] \u003d []"},{"line_number":51,"context_line":"        return ext_data"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_a851b063","line":49,"in_reply_to":"5a890539_68598834","updated":"2014-12-03 03:09:53.000000000","message":"ok, fair enough","commit_id":"0557fb1fde26478b64d96f3ecfd4bd6e5c0a73c5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c7760cbfda9261c55f7f9495df78be6f8ae335e5","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            else:"},{"line_number":63,"context_line":"                LOG.debug(\"Filter out extension %s from discover list\","},{"line_number":64,"context_line":"                          alias)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        return discoverable_extensions"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    @extensions.expected_errors(())"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_c847dc4a","line":65,"updated":"2014-12-03 02:43:59.000000000","message":"nit: unnecessary removal.","commit_id":"0557fb1fde26478b64d96f3ecfd4bd6e5c0a73c5"}],"nova/tests/functional/v3/api_samples/all_extensions/extensions-list-resp.json.tpl":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fcbc5e207943c3c1db2dce4aa4bb96909b7b08f","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        },"},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"            \"alias\": \"os-availability-zone\","},{"line_number":141,"context_line":"            \"description\": \"2014-12-03T00:00:00Z. Add availability_zone to the Create Server API.\\n       2. Add availability zones describing.\\n    \","},{"line_number":142,"context_line":"            \"links\": [],"},{"line_number":143,"context_line":"            \"name\": \"AvailabilityZone\","},{"line_number":144,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/fake_xml\","}],"source_content_type":"text/x-smarty","patch_set":8,"id":"5a890539_60ac0136","line":141,"updated":"2014-12-04 08:11:08.000000000","message":"ditto","commit_id":"77afaf68e6a1410d628ab1d52a8b3154d5ab9c53"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"99cccd2e8f1c8db860a6ff2d78c5ea2b85e03107","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        },"},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"            \"alias\": \"os-availability-zone\","},{"line_number":141,"context_line":"            \"description\": \"2014-12-03T00:00:00Z. Add availability_zone to the Create Server API.\\n       2. Add availability zones describing.\\n    \","},{"line_number":142,"context_line":"            \"links\": [],"},{"line_number":143,"context_line":"            \"name\": \"AvailabilityZone\","},{"line_number":144,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/fake_xml\","}],"source_content_type":"text/x-smarty","patch_set":8,"id":"5a890539_42bb840e","line":141,"in_reply_to":"5a890539_60ac0136","updated":"2014-12-04 11:30:09.000000000","message":"Done","commit_id":"77afaf68e6a1410d628ab1d52a8b3154d5ab9c53"}],"nova/tests/functional/v3/api_samples/extension-info/extensions-list-resp.json.tpl":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0fcbc5e207943c3c1db2dce4aa4bb96909b7b08f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"extensions\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"alias\": \"extensions\","}],"source_content_type":"text/x-smarty","patch_set":8,"id":"5a890539_2084b9d1","line":1,"updated":"2014-12-04 08:11:08.000000000","message":"I think this file should be deleted?","commit_id":"77afaf68e6a1410d628ab1d52a8b3154d5ab9c53"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"99cccd2e8f1c8db860a6ff2d78c5ea2b85e03107","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"extensions\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"alias\": \"extensions\","}],"source_content_type":"text/x-smarty","patch_set":8,"id":"5a890539_62b6c026","line":1,"in_reply_to":"5a890539_2084b9d1","updated":"2014-12-04 11:30:09.000000000","message":"nice catch, thanks","commit_id":"77afaf68e6a1410d628ab1d52a8b3154d5ab9c53"}]}
