)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"a851f153f57dc8124ba2a62956d86f5ab90c2563","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds the describe how to separate plugin when add new"},{"line_number":10,"context_line":"resource or some extended for existed resource."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib356aa9df0a3b85580ea2869ce4d043a6850967a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"fa32b979_20dfe9d6","line":11,"updated":"2015-06-19 07:37:02.000000000","message":"Is this part of the devref-refresh-liberty blueprint? If so, you can put this in the commit message.","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"}],"doc/source/api_plugins.rst":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ff439e7fa3103ed44b949e1924d7e9db054f759e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Modularity"},{"line_number":101,"context_line":"~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports micro-version for now, the API can be extended"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_6c1ac4c7","line":103,"updated":"2015-06-11 06:34:22.000000000","message":"How about\n\n All plugins of Nova REST API are separated into different modules in the directory\n\n?","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3c8dc7b299fb908bcf6465cdbe6cc2ff13c4c5eb","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Modularity"},{"line_number":101,"context_line":"~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports micro-version for now, the API can be extended"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_27065552","line":103,"in_reply_to":"3afb71cf_6c1ac4c7","updated":"2015-06-18 09:24:17.000000000","message":"Emm...sounds like plugins was separated. Actuall is the API was separated","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ff439e7fa3103ed44b949e1924d7e9db054f759e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_ac6b1c1d","line":106,"updated":"2015-06-11 06:34:22.000000000","message":"We are using \"microversions\" on the spec, implementation. So\n\n s/micro-version/microversions/\n\nfor consistent doc.","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3c8dc7b299fb908bcf6465cdbe6cc2ff13c4c5eb","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_e7fb8d45","line":106,"in_reply_to":"3afb71cf_ac6b1c1d","updated":"2015-06-18 09:24:17.000000000","message":"ok, no problem","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ff439e7fa3103ed44b949e1924d7e9db054f759e","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existing resource"},{"line_number":115,"context_line":"  To prevent an existing resource plugin becoming over-inflated, the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_ac52fc64","line":112,"updated":"2015-06-11 06:34:22.000000000","message":"+1","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ff439e7fa3103ed44b949e1924d7e9db054f759e","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existing resource"},{"line_number":115,"context_line":"  To prevent an existing resource plugin becoming over-inflated, the"},{"line_number":116,"context_line":"  sub-resource should be defined in a separate plugin."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existing resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existing resource\u0027s data"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_0cd0f0c7","line":116,"updated":"2015-06-11 06:34:22.000000000","message":"s/defined/implemented/","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3c8dc7b299fb908bcf6465cdbe6cc2ff13c4c5eb","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existing resource"},{"line_number":115,"context_line":"  To prevent an existing resource plugin becoming over-inflated, the"},{"line_number":116,"context_line":"  sub-resource should be defined in a separate plugin."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existing resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existing resource\u0027s data"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_078eb1cf","line":116,"in_reply_to":"3afb71cf_0cd0f0c7","updated":"2015-06-18 09:24:17.000000000","message":"Done","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ff439e7fa3103ed44b949e1924d7e9db054f759e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3afb71cf_8ce4e0ab","line":127,"updated":"2015-06-11 06:34:22.000000000","message":"+1","commit_id":"df4b8dd688f6eb23f2e8571fafa1137aba356741"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4057a6b9ad07a30557b9ddad931ff46e96e3d220","unresolved":false,"context_lines":[{"line_number":123,"context_line":"  resource, it is also good choice. For example, there are some existing plugin"},{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa32b979_c529a18b","line":126,"updated":"2015-06-18 08:52:29.000000000","message":"There is +\u003e For","commit_id":"5acf113d1cf0a738ffea102e348f95c7e9b07191"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5c9739989b4df60f2f11100601e4f8e98869d7cd","unresolved":false,"context_lines":[{"line_number":123,"context_line":"  resource, it is also good choice. For example, there are some existing plugin"},{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa32b979_209abb6e","line":126,"in_reply_to":"fa32b979_c529a18b","updated":"2015-06-18 09:24:45.000000000","message":"Done","commit_id":"5acf113d1cf0a738ffea102e348f95c7e9b07191"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4057a6b9ad07a30557b9ddad931ff46e96e3d220","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa32b979_e52ce59a","line":129,"updated":"2015-06-18 08:52:29.000000000","message":"need new \u003d\u003e we need new a new","commit_id":"5acf113d1cf0a738ffea102e348f95c7e9b07191"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5c9739989b4df60f2f11100601e4f8e98869d7cd","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa32b979_c08bcf1d","line":129,"in_reply_to":"fa32b979_e52ce59a","updated":"2015-06-18 09:24:45.000000000","message":"Done","commit_id":"5acf113d1cf0a738ffea102e348f95c7e9b07191"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc36d7ad5fcdcb8e7b1f0309b40c20bd662e47f6","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Modularity"},{"line_number":101,"context_line":"~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports microversions for now, the API can be extended"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_899ba417","line":103,"updated":"2015-06-18 15:07:26.000000000","message":"s/All the Nova REST API are/The Nova REST API is/","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Modularity"},{"line_number":101,"context_line":"~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports microversions for now, the API can be extended"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_85a92792","line":103,"in_reply_to":"fa32b979_899ba417","updated":"2015-06-19 07:13:08.000000000","message":"Done","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc36d7ad5fcdcb8e7b1f0309b40c20bd662e47f6","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports microversions for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_a9a9c825","line":106,"updated":"2015-06-18 15:07:26.000000000","message":"s/Because Nova REST API supports microversions for now/Because microversions are no supported in the Nova REST API/","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports microversions for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_85e5a7dc","line":106,"in_reply_to":"fa32b979_a9a9c825","updated":"2015-06-19 07:13:08.000000000","message":"Why there should say \"no supported\"? I guess you want\n\nBecause microversions are supported in the Nova REST API","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc36d7ad5fcdcb8e7b1f0309b40c20bd662e47f6","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports microversions for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_a980e88b","line":108,"updated":"2015-06-18 15:07:26.000000000","message":"s/There is the rule for how to separate plugins/Here are rules for separating code into modules/","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API supports microversions for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_4529dfe4","line":108,"in_reply_to":"fa32b979_a980e88b","updated":"2015-06-19 07:13:08.000000000","message":"Done","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc36d7ad5fcdcb8e7b1f0309b40c20bd662e47f6","unresolved":false,"context_lines":[{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_893724fe","line":110,"updated":"2015-06-18 15:07:26.000000000","message":"s/Add new resource/You are adding a new resource to the REST API/","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_e57ef3e2","line":110,"in_reply_to":"fa32b979_893724fe","updated":"2015-06-19 07:13:08.000000000","message":"Done","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc36d7ad5fcdcb8e7b1f0309b40c20bd662e47f6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existing resource"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_24087d27","line":111,"updated":"2015-06-18 15:07:26.000000000","message":"s/plugin/module/\n\nfrom here to end of document...","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":108,"context_line":"needs modularity. There is the rule for how to separate plugins:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existing resource"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_a5846bd2","line":111,"in_reply_to":"fa32b979_24087d27","updated":"2015-06-19 07:13:08.000000000","message":"Done","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d840fff600a12ba2e85cbd78966f87fe45bb4e58","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  For example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe we need a new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_11b80129","line":128,"updated":"2015-06-19 02:49:07.000000000","message":"I think we should avoid to add extended attributes in existing extended plugins (To avoid namespace complexity). Those can be added directly in main resource plugin.\nBecause if we add those in extended plugins we need to add those with namespace. we can add without namespace also but that adds inconsistency for attributes present in extended plugins.\n\nExample - https://review.openstack.org/#/c/190487/","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  For example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe we need a new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."},{"line_number":131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_25dffbd6","line":128,"in_reply_to":"fa32b979_11b80129","updated":"2015-06-19 07:13:08.000000000","message":"emm...good point, special for the namespace I agree with you.","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc36d7ad5fcdcb8e7b1f0309b40c20bd662e47f6","unresolved":false,"context_lines":[{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe we need a new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Support files"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_84d6294d","line":130,"updated":"2015-06-18 15:07:26.000000000","message":"Meh, this last paragraph isn\u0027t really needed, IMHO.","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d3117f41bd5ece0a65033ff1cd47e60b7aa652b8","unresolved":false,"context_lines":[{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe we need a new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Support files"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_c5f08f69","line":130,"in_reply_to":"fa32b979_84d6294d","updated":"2015-06-19 07:13:08.000000000","message":"Done","commit_id":"25904d4f5c2b67282fe7fb224db48a4b1bb8a9d4"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"a851f153f57dc8124ba2a62956d86f5ab90c2563","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because microversions are supported in the Nova REST API, the API can be"},{"line_number":107,"context_line":"extended without any new plugin. But for code readability, the Nova REST API"},{"line_number":108,"context_line":"code still needs modularity. Here are rules for how to separate modules:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* You are adding a new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone module. There isn\u0027t any reason to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa32b979_a08459d2","line":108,"updated":"2015-06-19 07:37:02.000000000","message":"I see that you are using \"plugins\" and \"modules\" interchangeably. Is there any difference? It\u0027d be nice to clarify this.","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0cd758a5a8ac20034c6b7bc802f123a2c05a101a","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because microversions are supported in the Nova REST API, the API can be"},{"line_number":107,"context_line":"extended without any new plugin. But for code readability, the Nova REST API"},{"line_number":108,"context_line":"code still needs modularity. Here are rules for how to separate modules:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* You are adding a new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone module. There isn\u0027t any reason to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa32b979_400f8d36","line":108,"in_reply_to":"fa32b979_a08459d2","updated":"2015-06-19 07:41:59.000000000","message":"Emm....maybe I should change the all to modules, just let people forget plugins","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"a851f153f57dc8124ba2a62956d86f5ab90c2563","unresolved":false,"context_lines":[{"line_number":116,"context_line":"  sub-resource should be implemented in a separate module."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existing resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existing resource\u0027s data"},{"line_number":120,"context_line":"  model too. So this can be added into existing resource module directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  To avoid namespace complexity, we should avoid to add extended attributes"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa32b979_c08abd1a","line":119,"updated":"2015-06-19 07:37:02.000000000","message":"Normally, the extended attributes are part of ...","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0cd758a5a8ac20034c6b7bc802f123a2c05a101a","unresolved":false,"context_lines":[{"line_number":116,"context_line":"  sub-resource should be implemented in a separate module."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existing resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existing resource\u0027s data"},{"line_number":120,"context_line":"  model too. So this can be added into existing resource module directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  To avoid namespace complexity, we should avoid to add extended attributes"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa32b979_600ad127","line":119,"in_reply_to":"fa32b979_c08abd1a","updated":"2015-06-19 07:41:59.000000000","message":"Done","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"a851f153f57dc8124ba2a62956d86f5ab90c2563","unresolved":false,"context_lines":[{"line_number":120,"context_line":"  model too. So this can be added into existing resource module directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  To avoid namespace complexity, we should avoid to add extended attributes"},{"line_number":123,"context_line":"  in existing extended models. New extended attributes needn\u0027t any namespace"},{"line_number":124,"context_line":"  prefix anymore."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Support files"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa32b979_a09a1960","line":123,"updated":"2015-06-19 07:37:02.000000000","message":"New extended attributes no longer need a namespace prefix","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0cd758a5a8ac20034c6b7bc802f123a2c05a101a","unresolved":false,"context_lines":[{"line_number":120,"context_line":"  model too. So this can be added into existing resource module directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  To avoid namespace complexity, we should avoid to add extended attributes"},{"line_number":123,"context_line":"  in existing extended models. New extended attributes needn\u0027t any namespace"},{"line_number":124,"context_line":"  prefix anymore."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Support files"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa32b979_20004901","line":123,"in_reply_to":"fa32b979_a09a1960","updated":"2015-06-19 07:41:59.000000000","message":"Done","commit_id":"8c91bd5ccb6c971629992f52fcfa0606c6ed6e7e"}],"doc/source/devref/api_plugins.rst":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"6ae450146135b2d9ffdf807d1061a8d961706425","unresolved":false,"context_lines":[{"line_number":101,"context_line":"~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Although Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_879519e6","line":104,"updated":"2015-03-11 20:52:34.000000000","message":"we can use full path here","commit_id":"7be39c36ec2b3b24c9b89df74d3efa6980200715"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"694e59ea92fb9356eeb5295d2bb68e5e8ce9d103","unresolved":false,"context_lines":[{"line_number":101,"context_line":"~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Although Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_f9c74862","line":104,"in_reply_to":"9a80dd14_879519e6","updated":"2015-03-12 04:58:07.000000000","message":"Done","commit_id":"7be39c36ec2b3b24c9b89df74d3efa6980200715"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"6ae450146135b2d9ffdf807d1061a8d961706425","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existed resource"},{"line_number":115,"context_line":"  For prevent the existed resource plugin over inflated, the sub-resource\u0027s"},{"line_number":116,"context_line":"  action and extended attributes of existed resource."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existed resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existed resource\u0027s data"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_87635919","line":116,"updated":"2015-03-11 20:52:34.000000000","message":"don\u0027t understand the sentence, is it finished? are you suggesting to move to a new file?","commit_id":"7be39c36ec2b3b24c9b89df74d3efa6980200715"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"694e59ea92fb9356eeb5295d2bb68e5e8ce9d103","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existed resource"},{"line_number":115,"context_line":"  For prevent the existed resource plugin over inflated, the sub-resource\u0027s"},{"line_number":116,"context_line":"  action and extended attributes of existed resource."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existed resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existed resource\u0027s data"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_d9c8c477","line":116,"in_reply_to":"9a80dd14_87635919","updated":"2015-03-12 04:58:07.000000000","message":"I\u0027m not mean we should change existed code. Just when we add new sub-resource, we should put them in separated module.","commit_id":"7be39c36ec2b3b24c9b89df74d3efa6980200715"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"6ae450146135b2d9ffdf807d1061a8d961706425","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existed resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existed resource\u0027s data"},{"line_number":120,"context_line":"  model also. So this can be added into existed resource plugin directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  If there is more appropriately extended plugin for the existed resource,"},{"line_number":123,"context_line":"  it also good choice."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_874a7981","line":120,"updated":"2015-03-11 20:52:34.000000000","message":"model also --\u003e model, too","commit_id":"7be39c36ec2b3b24c9b89df74d3efa6980200715"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"694e59ea92fb9356eeb5295d2bb68e5e8ce9d103","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existed resource"},{"line_number":119,"context_line":"  In normally, the extended attributes is part of existed resource\u0027s data"},{"line_number":120,"context_line":"  model also. So this can be added into existed resource plugin directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  If there is more appropriately extended plugin for the existed resource,"},{"line_number":123,"context_line":"  it also good choice."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_19c33c58","line":120,"in_reply_to":"9a80dd14_874a7981","updated":"2015-03-12 04:58:07.000000000","message":"Done","commit_id":"7be39c36ec2b3b24c9b89df74d3efa6980200715"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"ba51d08f5edae2f0d8808eebd44b2d06a4fcf3d1","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Although Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"need modularity. There is the rule for how to separate plugin:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_aeee4b89","line":106,"updated":"2015-04-28 10:56:07.000000000","message":"s/Although/Because/ ?\n\nSo: \"Because Nova\u0027s REST API supports microversions now, ....\"","commit_id":"6a5ed04e467a6636957f08127d064be958d71c28"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"46eecfa981289124cf59334bb2df6786a53e3b3a","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Although Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"need modularity. There is the rule for how to separate plugin:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_740fe4e1","line":106,"in_reply_to":"7ad32947_aeee4b89","updated":"2015-04-28 11:23:11.000000000","message":"yea.. that is mistake","commit_id":"6a5ed04e467a6636957f08127d064be958d71c28"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"ba51d08f5edae2f0d8808eebd44b2d06a4fcf3d1","unresolved":false,"context_lines":[{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existed resource"},{"line_number":115,"context_line":"  For prevent the existed resource plugin over inflated, the sub-resource\u0027s"},{"line_number":116,"context_line":"  action and extended attributes of existed resource."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_4eed778a","line":114,"updated":"2015-04-28 10:56:07.000000000","message":"s/existed/existing/","commit_id":"6a5ed04e467a6636957f08127d064be958d71c28"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"46eecfa981289124cf59334bb2df6786a53e3b3a","unresolved":false,"context_lines":[{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existed resource"},{"line_number":115,"context_line":"  For prevent the existed resource plugin over inflated, the sub-resource\u0027s"},{"line_number":116,"context_line":"  action and extended attributes of existed resource."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_5414e8f3","line":114,"in_reply_to":"7ad32947_4eed778a","updated":"2015-04-28 11:23:11.000000000","message":"Done","commit_id":"6a5ed04e467a6636957f08127d064be958d71c28"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"ba51d08f5edae2f0d8808eebd44b2d06a4fcf3d1","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existed resource"},{"line_number":115,"context_line":"  For prevent the existed resource plugin over inflated, the sub-resource\u0027s"},{"line_number":116,"context_line":"  action and extended attributes of existed resource."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existed resource"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_492571a9","line":115,"updated":"2015-04-28 10:56:07.000000000","message":"English nit: \"To prevent an existing resource plugin becoming over-inflated, the sub-resource should be defined in a separate plugin.\"","commit_id":"6a5ed04e467a6636957f08127d064be958d71c28"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"46eecfa981289124cf59334bb2df6786a53e3b3a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existed resource"},{"line_number":115,"context_line":"  For prevent the existed resource plugin over inflated, the sub-resource\u0027s"},{"line_number":116,"context_line":"  action and extended attributes of existed resource."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"* Add extended attributes for existed resource"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_b42c5c4b","line":115,"in_reply_to":"7ad32947_492571a9","updated":"2015-04-28 11:23:11.000000000","message":"thanks","commit_id":"6a5ed04e467a6636957f08127d064be958d71c28"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"21b35991c4aefccb9a26dac0c3ad4e1a45575d47","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"need modularity. There is the rule for how to separate plugin:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ad32947_da793e31","line":106,"updated":"2015-04-28 13:21:03.000000000","message":"s/support/supports/","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a63f5f4a6a526a66421ec5a2ae002b2fef530067","unresolved":false,"context_lines":[{"line_number":103,"context_line":"All the Nova REST API are separated into different plugins in the directory"},{"line_number":104,"context_line":"\u0027nova/api/openstack/compute/plugins/v3/\u0027"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"need modularity. There is the rule for how to separate plugin:"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5ad0253b_4c36ac04","line":106,"in_reply_to":"7ad32947_da793e31","updated":"2015-04-29 05:40:38.000000000","message":"Done","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"21b35991c4aefccb9a26dac0c3ad4e1a45575d47","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"need modularity. There is the rule for how to separate plugin:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ad32947_daa01e93","line":108,"updated":"2015-04-28 13:21:03.000000000","message":"s/need/needs/\n\ns/plugin/plugins/","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a63f5f4a6a526a66421ec5a2ae002b2fef530067","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Because Nova REST API support micro-version for now, the API can be extended"},{"line_number":107,"context_line":"without any new plugin. But for code readability, the Nova REST API code still"},{"line_number":108,"context_line":"need modularity. There is the rule for how to separate plugin:"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5ad0253b_2c3b70ed","line":108,"in_reply_to":"7ad32947_daa01e93","updated":"2015-04-29 05:40:38.000000000","message":"Done","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"21b35991c4aefccb9a26dac0c3ad4e1a45575d47","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* Add new resource"},{"line_number":111,"context_line":"  The new resource should be in standalone plugin. There isn\u0027t any reason to"},{"line_number":112,"context_line":"  put different resources in a single plugin."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* Add sub-resource for existing resource"},{"line_number":115,"context_line":"  To prevent an existing resource plugin becoming over-inflated, the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ad32947_dac7fe43","line":112,"updated":"2015-04-28 13:21:03.000000000","message":"+1","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"21b35991c4aefccb9a26dac0c3ad4e1a45575d47","unresolved":false,"context_lines":[{"line_number":120,"context_line":"  model too. So this can be added into existed resource plugin directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  If there is more appropriately extended plugin for the existed resource,"},{"line_number":123,"context_line":"  it also good choice."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":126,"context_line":"change and the reason. That can be reviewed by Nova team."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ad32947_7aeeaa8c","line":123,"updated":"2015-04-28 13:21:03.000000000","message":"Maybe \"normally\" means \"except /servers\" I guess.\n\nIf we should implement all extensions of /servers in a single plugin, the code will be super big and its readability will be less.","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a63f5f4a6a526a66421ec5a2ae002b2fef530067","unresolved":false,"context_lines":[{"line_number":120,"context_line":"  model too. So this can be added into existed resource plugin directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  If there is more appropriately extended plugin for the existed resource,"},{"line_number":123,"context_line":"  it also good choice."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":126,"context_line":"change and the reason. That can be reviewed by Nova team."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5ad0253b_efce8a82","line":123,"in_reply_to":"7ad32947_7aeeaa8c","updated":"2015-04-29 05:40:38.000000000","message":"emm...yes.","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"21b35991c4aefccb9a26dac0c3ad4e1a45575d47","unresolved":false,"context_lines":[{"line_number":123,"context_line":"  it also good choice."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":126,"context_line":"change and the reason. That can be reviewed by Nova team."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Support files"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ad32947_ba9322fa","line":126,"updated":"2015-04-28 13:21:03.000000000","message":"better to change\n\n That can be reviewed by Nova team.\n -\u003e That will help Nova team reviews.","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a63f5f4a6a526a66421ec5a2ae002b2fef530067","unresolved":false,"context_lines":[{"line_number":123,"context_line":"  it also good choice."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":126,"context_line":"change and the reason. That can be reviewed by Nova team."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Support files"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5ad0253b_afc89275","line":126,"in_reply_to":"7ad32947_ba9322fa","updated":"2015-04-29 05:40:38.000000000","message":"ok, thanks.","commit_id":"218ffe377e4b7294dd6458f4a94e15c142126317"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"b2b5c01c3df3f1733905c95f49c50118c7278f43","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  In normally, the extended attributes is part of existed resource\u0027s data"},{"line_number":120,"context_line":"  model too. So this can be added into existed resource plugin directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  If there is more appropriately existed extended plugin for the existed"},{"line_number":123,"context_line":"  resource, it also good choice. For example, there are some existed plugin"},{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5ad0253b_5bee608c","line":122,"updated":"2015-04-29 08:27:44.000000000","message":"English nit: You want \"existing\", not \"existed\", for an adjective. So:\n\nIf there is a more appropriate existing extended plugin for the existing resource, it is also a good choice. For example, there are some existing plugins for servers ... etc ...","commit_id":"099e7d24709744a779f3edaadd7a50ccfc46cdd2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"333b870dbb8e4ef74dd78287d6d474ba1169c0de","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  In normally, the extended attributes is part of existed resource\u0027s data"},{"line_number":120,"context_line":"  model too. So this can be added into existed resource plugin directly and"},{"line_number":121,"context_line":"  lightly."},{"line_number":122,"context_line":"  If there is more appropriately existed extended plugin for the existed"},{"line_number":123,"context_line":"  resource, it also good choice. For example, there are some existed plugin"},{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3acd31a7_020df68f","line":122,"in_reply_to":"5ad0253b_5bee608c","updated":"2015-04-30 23:29:46.000000000","message":"thanks","commit_id":"099e7d24709744a779f3edaadd7a50ccfc46cdd2"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"b2b5c01c3df3f1733905c95f49c50118c7278f43","unresolved":false,"context_lines":[{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5ad0253b_bbce9458","line":127,"updated":"2015-04-29 08:27:44.000000000","message":"git.openstack.org is more appropriate than github, if possible.","commit_id":"099e7d24709744a779f3edaadd7a50ccfc46cdd2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"333b870dbb8e4ef74dd78287d6d474ba1169c0de","unresolved":false,"context_lines":[{"line_number":124,"context_line":"  for servers: extended_status, extended_server_attributes, etc. If there is"},{"line_number":125,"context_line":"  extend status for servers, it can be put in the extended_status plugin."},{"line_number":126,"context_line":"  There is example:"},{"line_number":127,"context_line":"  `https://github.com/openstack/nova/commit/abc656d3d549c555cf7c94d0ae0e5d50768bd366`"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The spec of the API change should describe whether need new plugin for the"},{"line_number":130,"context_line":"change and the reason. That will help Nova team reviews."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3acd31a7_e20f9a86","line":127,"in_reply_to":"5ad0253b_bbce9458","updated":"2015-04-30 23:29:46.000000000","message":"ok, got it","commit_id":"099e7d24709744a779f3edaadd7a50ccfc46cdd2"}]}
