)]}'
{"specs/osc_command_naming_convention.rst":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7d635e765a977b71324be2630d9a16141c8df6db","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The openstackclient seeks to make a client that is as user friendly as"},{"line_number":11,"context_line":"possible. However, in OSC when developers are implementing commands from their"},{"line_number":12,"context_line":"specific project, there are no guidelines or convention for them to follow."},{"line_number":13,"context_line":"This can potentially cause issues where the user is left confused as to what a"},{"line_number":14,"context_line":"command actually does if the developer uses a broad command name. For example,"},{"line_number":15,"context_line":"currently the \u0027snapshot\u0027 command in OSC refers to the Cinder API. There are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_9a04b67e","line":12,"range":{"start_line":12,"start_character":18,"end_line":12,"end_character":75},"updated":"2016-09-02 12:49:00.000000000","message":"http://docs.openstack.org/developer/python-openstackclient/commands.html#command-structure","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cbca35b29df9b4d55624814599f2d7cf76d797d5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"**The Descriptive Approach**"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In order to create better consistency within OSC for both developers and"},{"line_number":35,"context_line":"users, commands should have a \"descriptive keyword\", or the area affected"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_07b6d489","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":28},"updated":"2016-04-23 06:24:17.000000000","message":"maybe provide a set of tips/steps that osc-plugin creators can follow\n\n  1. Ensure the resource is descriptive enough (flavor, policy, container, and snapshot are examples that are not)\n  2. Never use dashes \"-\", simply add spaces\n  3. If necessary, prefix the resource with the project common name (volume snapshot and orchestration snapshot for example)\n  4. If possible, do not use the project \"code\" name (ie. nova flavor create)\n  5. If unsure, ask the mailing list","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7d635e765a977b71324be2630d9a16141c8df6db","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"**The Descriptive Approach**"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In order to create better consistency within OSC for both developers and"},{"line_number":35,"context_line":"users, commands should have a \"descriptive keyword\", or the area affected"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_9f602837","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":28},"in_reply_to":"1a122d0e_07b6d489","updated":"2016-09-02 12:49:00.000000000","message":"++","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7d635e765a977b71324be2630d9a16141c8df6db","unresolved":false,"context_lines":[{"line_number":56,"context_line":"this command should actually be called \"volume snapshot\" rather than just"},{"line_number":57,"context_line":"\"snapshot\"."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Another good example, is in the command \"flavor\". Currently, Nova has the"},{"line_number":60,"context_line":"command \"flavor\" in the OSC. Other APIs either already use or want to use"},{"line_number":61,"context_line":"\"flavor\" as a command. Using this descriptive approach, the existing \"flavor\""},{"line_number":62,"context_line":"command used by Nova would likely be aliased as \"server flavor\", instead of"},{"line_number":63,"context_line":"\"compute flavor\". From a user\u0027s perspective, the flavor is associated with"},{"line_number":64,"context_line":"a server instead of with the API name that the resource comes from."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Alternatives"},{"line_number":67,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_9a9596e5","line":64,"range":{"start_line":59,"start_character":0,"end_line":64,"end_character":67},"updated":"2016-09-02 12:49:00.000000000","message":"Is there a plan to migrate existing commands (like the one cited in this paragraph) ? If there is, what would it be ?","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7d635e765a977b71324be2630d9a16141c8df6db","unresolved":false,"context_lines":[{"line_number":103,"context_line":"This approach would benefit developers by simply defining how they"},{"line_number":104,"context_line":"should name resources. It also would create a clear distinction"},{"line_number":105,"context_line":"between duplicate command names. Such as \"volume snapshot\" vs."},{"line_number":106,"context_line":"\"stack snapshot\"."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"This approach is loosely based on this openstack-dev post from Sean Dague"},{"line_number":109,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2016-February/085748.html"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_5c0b0b24","line":106,"updated":"2016-09-02 12:49:00.000000000","message":"Are there any cons to this approach?","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cbca35b29df9b4d55624814599f2d7cf76d797d5","unresolved":false,"context_lines":[{"line_number":108,"context_line":"This approach is loosely based on this openstack-dev post from Sean Dague"},{"line_number":109,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2016-February/085748.html"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"**The Project Name Approach**"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"This is the same approach as above, except using the project name instead"},{"line_number":114,"context_line":"of the common name. For example, \"cinder snapshot\" or \"nova flavor\"."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Implementation"},{"line_number":117,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_67e06897","line":114,"range":{"start_line":111,"start_character":0,"end_line":114,"end_character":68},"updated":"2016-04-23 06:24:17.000000000","message":"unfortunately we already have one instance of this -- congress.\n\nbecause keystone took the command \"policy\", when the congress team created a plugin, the commands were all prefixed with \"congress\"\n\nfortunately, they have been the only ones to do that.","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cbca35b29df9b4d55624814599f2d7cf76d797d5","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Work Items"},{"line_number":125,"context_line":"----------"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"For any commands implemented in the future, developers should follow these"},{"line_number":128,"context_line":"guidelines so that their commands are consistent and intuitive to the user."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Dependencies"},{"line_number":131,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_27d670c3","line":128,"range":{"start_line":127,"start_character":0,"end_line":128,"end_character":75},"updated":"2016-04-23 06:24:17.000000000","message":"additionally, developers are encouraged to add the \"check-osc-plugins\" job to your openstackclient plugin, which checks for duplicated commands with all the plugins.","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7d635e765a977b71324be2630d9a16141c8df6db","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   * - Release Name"},{"line_number":146,"context_line":"     - Description"},{"line_number":147,"context_line":"   * - Newton"},{"line_number":148,"context_line":"     - Introduced"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_1a96e64b","line":147,"range":{"start_line":147,"start_character":7,"end_line":147,"end_character":13},"updated":"2016-09-02 12:49:00.000000000","message":"Perhaps this should now be targeted to Ocata","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"1c279097829fcabca31647ab551b5fbc477990d4","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"   * - Release Name"},{"line_number":146,"context_line":"     - Description"},{"line_number":147,"context_line":"   * - Newton"},{"line_number":148,"context_line":"     - Introduced"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da4df55a_35804a8b","line":147,"range":{"start_line":147,"start_character":7,"end_line":147,"end_character":13},"in_reply_to":"fa7ab95a_1a96e64b","updated":"2016-12-27 05:39:05.000000000","message":"or maybe target Pike? :(","commit_id":"e97dcd220825ddd2c693446f78b9d10acdff28c4"}]}
