)]}'
{"tempest/api_schema/compute/aggregates.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b987131f8a7fa97a887b74f39b2835b23430d462","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"aggregate \u003d {"},{"line_number":16,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":17,"context_line":"    \u0027properties:\u0027: {"},{"line_number":18,"context_line":"        \u0027availability_zone\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":19,"context_line":"        \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":20,"context_line":"        \u0027deleted\u0027: {\u0027type\u0027: \u0027boolean\u0027},"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2Fy2g%3D","side":"PARENT","line":17,"updated":"2014-04-17 12:17:39.000000000","message":"nice catch","commit_id":"b9f545f5bafc48e7a11d4b74b44a2f396dac0070"}],"tempest/api_schema/compute/v2/aggregates.py":[{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"9df99ac85e0c12e6ba5b3237066d8573e8425dcc","unresolved":false,"context_lines":[{"line_number":21,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":22,"context_line":"                \u0027properties\u0027: {"},{"line_number":23,"context_line":"                    \u0027availability_zone\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":24,"context_line":"                    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":25,"context_line":"                    \u0027deleted\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":26,"context_line":"                    \u0027deleted_at\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":27,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BEs4%3D","line":24,"updated":"2014-03-31 04:14:17.000000000","message":"Maybe, \u0027format\": \u0027date-time\u0027 will be needed.","commit_id":"9a646e8e60004688bb6a1312ec46982d02ad0b3c"}],"tempest/api_schema/compute/v3/aggregates.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a9ac2181700c74377fcea6e9a9d5d889870b0efc","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAW3%2F%2FXMA%3D","line":20,"updated":"2014-04-15 06:28:33.000000000","message":"v3\u0027s aggreate creation isn\u0027t include \u0027host\u0027 and \u0027metadata\u0027 also, why we didn\u0027t delete it also.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"031f2f43efa98d15240b9c333dd3095169522ba4","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAW3%2F%2FXIU%3D","line":20,"in_reply_to":"AAAAW3%2F%2FXI4%3D","updated":"2014-04-15 06:46:18.000000000","message":"Haiwei, sorry, I missed that.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b987131f8a7fa97a887b74f39b2835b23430d462","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FyzQ%3D","line":20,"in_reply_to":"AAAAW3%2F%2FXIU%3D","updated":"2014-04-17 12:17:39.000000000","message":"Alex\u0027s point is important, current schema definition is a little difficult for the readability.\n\nso how about defining common create_aggregate without status_code in tempest/api_schema/compute/aggregates.py and using it in v2/v3 schema?","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"75cf49445109897b66a0a8e58f582c671a19c244","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAW3%2F%2FXI4%3D","line":20,"in_reply_to":"AAAAW3%2F%2FXMA%3D","updated":"2014-04-15 06:43:14.000000000","message":"Alex Xu\n\nthis schema isn\u0027t copied from temest.api_schema.compute.v2, so \u0027host\u0027 and \u0027 metadata\u0027 has already been deleted.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"4905374abf9c3c06d2323a89986a714f7404e4b7","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FsFc%3D","line":20,"in_reply_to":"AAAAXH%2F%2FsG8%3D","updated":"2014-04-18 07:51:23.000000000","message":"This explanation makes sense to me, I will fix it.\n\nThank you.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b4329b1b66faf4766a5a277f2db90b3f89e0106c","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FsG8%3D","line":20,"in_reply_to":"AAAAXH%2F%2FsMM%3D","updated":"2014-04-18 07:47:48.000000000","message":"we can get common schema just by\n\n common_create_aggregate \u003d {\n     \u0027response_body\u0027: {\n         \u0027type\u0027: \u0027object\u0027,\n         \u0027properties\u0027: {\n             \u0027aggregate\u0027: aggregate\n         },\n         \u0027required\u0027: [\u0027aggregate\u0027]\n     }\n }\n del common_create_aggregate[\u0027response_body\u0027][\u0027properties\u0027][\u0027aggregate\u0027][\u0027properties\u0027][\u0027hosts\u0027]\n del common_create_aggregate[\u0027response_body\u0027][\u0027properties\u0027][\u0027aggregate\u0027][\u0027properties\u0027][\u0027metadata\u0027]\ncreate_aggregate[\u0027response_body\u0027][\u0027properties\u0027][\u0027aggregate\u0027][\u0027required\u0027] \u003d [...\n\neach version schema should not depend on the other version schema basically. Because when removing v2 tests, current dependency enforces v3 schema changes. also now v3 feature is not clear. (I believe v3 API but we need to discuss its feature in the summit). So each schema does not depend on the other schema for not only the readability but also the future.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"e00a89ff0447b4920364f49c7fc3c5ab8aa1f482","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FsMM%3D","line":20,"in_reply_to":"AAAAXH%2F%2FsPg%3D","updated":"2014-04-18 07:31:14.000000000","message":"yes, to delete \u0027host\u0027 and \u0027metadata\u0027 from common_create_aggregate, it\u0027s better to copy the get_aggregate schema to avoid code duplication, and this will bring back the problem about status_code.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d496a646d29ccde645b1596c51275ae1f455131f","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FsPg%3D","line":20,"in_reply_to":"AAAAXH%2F%2FsSE%3D","updated":"2014-04-18 07:20:51.000000000","message":"How about removing \u0027host\u0027 and \u0027metadata\u0027 in common_create_aggregate?","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"814e01eaed1fff7216dfbd99ae5d689b0696dddd","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FsSE%3D","line":20,"in_reply_to":"AAAAXH%2F%2FtNU%3D","updated":"2014-04-18 07:14:15.000000000","message":"If we use this common_create_aggregate schema, we will have to delete \u0027host\u0027 and \u0027metadata\u0027 elements in both V2 and v3 schema, I think that will make code duplicate.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2d27363c88bab749cedcc1c37b070862a572b80a","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FtNU%3D","line":20,"in_reply_to":"AAAAXH%2F%2FtQ0%3D","updated":"2014-04-18 03:15:51.000000000","message":"I don\u0027t think we should use get_aggregate for create_aggregate, because get_aggregate is very small already like that\n\n 47 get_aggregate \u003d {\n 48     \u0027status_code\u0027: [200],\n 49     \u0027response_body\u0027: {\n 50         \u0027type\u0027: \u0027object\u0027,\n 51         \u0027properties\u0027: {\n 52             \u0027aggregate\u0027: aggregate\n 53         },\n 54         \u0027required\u0027: [\u0027aggregate\u0027]\n 55     }\n 56 }\n\nso we can define common create_aggregate like\n\n common_create_aggregate \u003d {\n     \u0027response_body\u0027: {\n         \u0027type\u0027: \u0027object\u0027,\n        \u0027properties\u0027: {\n             \u0027aggregate\u0027: aggregate\n         },\n         \u0027required\u0027: [\u0027aggregate\u0027]\n     }\n }\n\nand it is possible to add status_code in each version schema.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"7466ba353be60f14192d9720e1ef893c997fc5fb","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"create_aggregate \u003d copy.deepcopy(aggregates.create_aggregate)"},{"line_number":19,"context_line":"# V3 API\u0027s response status_code is 201"},{"line_number":20,"context_line":"create_aggregate[\u0027status_code\u0027] \u003d [201]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAXH%2F%2FtQ0%3D","line":20,"in_reply_to":"AAAAXH%2F%2FyzQ%3D","updated":"2014-04-18 02:47:03.000000000","message":"Ken\u0027ichi Ohmichi\n\nThank you. I think it\u0027s a good idea to define a common create_aggregate schema in tempest/api_schema/compute/aggregates.py.\n\nBut because create_aggregate is using some codes of get_aggregate, and get_aggregate schema has the status_code.\nWe have to delete the status_code in the common schema, I think that will make the source unreadable.","commit_id":"856681ec7d9ff114bbb70bf345c6c519f4583e73"}]}
