)]}'
{"doc/source/command-objects/server-group.rst":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"825137d1b9b8094d7e7f66bff25d5d51a56aa462","unresolved":false,"context_lines":[{"line_number":30,"context_line":"server group delete"},{"line_number":31,"context_line":"-------------------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Delete a existing server group"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. program:: server group delete"},{"line_number":36,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a061dce_4b6cc907","line":33,"updated":"2016-04-07 16:34:55.000000000","message":"nit...\"an\" instead of \"a\"","commit_id":"cabe8a3d55c74ecd22547e0557955adbd083a9ff"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"ba439a80652e414f792841a6e71dec26f46fb382","unresolved":false,"context_lines":[{"line_number":30,"context_line":"server group delete"},{"line_number":31,"context_line":"-------------------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Delete a existing server group"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. program:: server group delete"},{"line_number":36,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a061dce_804a1c54","line":33,"in_reply_to":"9a061dce_4b6cc907","updated":"2016-04-08 08:37:48.000000000","message":"Done","commit_id":"cabe8a3d55c74ecd22547e0557955adbd083a9ff"}],"openstackclient/compute/v2/server_group.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"825137d1b9b8094d7e7f66bff25d5d51a56aa462","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            metavar\u003d\u0027\u003cserver-group\u003e\u0027,"},{"line_number":77,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":78,"context_line":"            # NOTE(RuiChen): the bug exists in novaclient,"},{"line_number":79,"context_line":"            # https://bugs.launchpad.net/python-novaclient/+bug/1563301"},{"line_number":80,"context_line":"            # so finding server group by name failed, only support to delete"},{"line_number":81,"context_line":"            # by ID until the novaclient bug is fixed."},{"line_number":82,"context_line":"            help\u003d\u0027server group(s) to delete (name or ID)\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a061dce_6ecc3b89","line":79,"updated":"2016-04-07 16:34:55.000000000","message":"The fix is released now so can this note be removed?","commit_id":"cabe8a3d55c74ecd22547e0557955adbd083a9ff"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"ba439a80652e414f792841a6e71dec26f46fb382","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            metavar\u003d\u0027\u003cserver-group\u003e\u0027,"},{"line_number":77,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":78,"context_line":"            # NOTE(RuiChen): the bug exists in novaclient,"},{"line_number":79,"context_line":"            # https://bugs.launchpad.net/python-novaclient/+bug/1563301"},{"line_number":80,"context_line":"            # so finding server group by name failed, only support to delete"},{"line_number":81,"context_line":"            # by ID until the novaclient bug is fixed."},{"line_number":82,"context_line":"            help\u003d\u0027server group(s) to delete (name or ID)\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a061dce_c0e7f444","line":79,"in_reply_to":"9a061dce_6ecc3b89","updated":"2016-04-08 08:37:48.000000000","message":"Done","commit_id":"cabe8a3d55c74ecd22547e0557955adbd083a9ff"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"825137d1b9b8094d7e7f66bff25d5d51a56aa462","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    def take_action(self, parsed_args):"},{"line_number":87,"context_line":"        compute_client \u003d self.app.client_manager.compute"},{"line_number":88,"context_line":"        for group in parsed_args.server_group:"},{"line_number":89,"context_line":"            group_obj \u003d utils.find_resource(compute_client.server_groups,"},{"line_number":90,"context_line":"                                            group)"},{"line_number":91,"context_line":"            compute_client.server_groups.delete(group_obj.id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a061dce_2e5a43f2","line":89,"updated":"2016-04-07 16:34:55.000000000","message":"Deleting with nargs needs to follow https://bugs.launchpad.net/python-openstackclient/+bug/1537856.","commit_id":"cabe8a3d55c74ecd22547e0557955adbd083a9ff"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"ba439a80652e414f792841a6e71dec26f46fb382","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    def take_action(self, parsed_args):"},{"line_number":87,"context_line":"        compute_client \u003d self.app.client_manager.compute"},{"line_number":88,"context_line":"        for group in parsed_args.server_group:"},{"line_number":89,"context_line":"            group_obj \u003d utils.find_resource(compute_client.server_groups,"},{"line_number":90,"context_line":"                                            group)"},{"line_number":91,"context_line":"            compute_client.server_groups.delete(group_obj.id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a061dce_cb8d552c","line":89,"in_reply_to":"9a061dce_2e5a43f2","updated":"2016-04-08 08:37:48.000000000","message":"thank you point out these, I will fix it in next patch.","commit_id":"cabe8a3d55c74ecd22547e0557955adbd083a9ff"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"43d6457ceaed8c1df3cc8660282b805d2e5e358d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.app.log.error(e)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        if result \u003e 0:"},{"line_number":99,"context_line":"            raise exceptions.CommandError(\"Deleting server group failed\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a1b2928_60d1bbfb","line":99,"range":{"start_line":99,"start_character":18,"end_line":99,"end_character":73},"updated":"2016-04-11 06:52:01.000000000","message":"I suggest to tell user how many groups failed to delete.\n\nPlease also help to review https://review.openstack.org/#/c/293997/ if you like. This is for network commands. :)","commit_id":"2cae829501a5e471ca1d87a95932caa14318b5f5"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"662198522eb6812be192e03ae6e5ed291e1f9e14","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.app.log.error(e)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        if result \u003e 0:"},{"line_number":99,"context_line":"            raise exceptions.CommandError(\"Deleting server group failed\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a1b2928_9169cb8e","line":99,"range":{"start_line":99,"start_character":18,"end_line":99,"end_character":73},"in_reply_to":"7a1b2928_60d1bbfb","updated":"2016-04-11 09:34:32.000000000","message":"ok, looks make sense.","commit_id":"2cae829501a5e471ca1d87a95932caa14318b5f5"}],"openstackclient/tests/compute/v2/test_server_group.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"43d6457ceaed8c1df3cc8660282b805d2e5e358d","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        ]"},{"line_number":173,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":174,"context_line":"        get_result \u003d [self.fake_server_group, Exception]"},{"line_number":175,"context_line":"        with mock.patch.object(self.server_groups_mock, \u0027find\u0027,"},{"line_number":176,"context_line":"                               side_effect\u003dexceptions.NotFound(404)):"},{"line_number":177,"context_line":"            with mock.patch.object(self.server_groups_mock, \u0027get\u0027,"},{"line_number":178,"context_line":"                                   side_effect\u003dget_result) as mock_get:"},{"line_number":179,"context_line":"                self.assertRaises(exceptions.CommandError,"},{"line_number":180,"context_line":"                                  self.cmd.take_action,"},{"line_number":181,"context_line":"                                  parsed_args)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"                mock_get.assert_any_call(\u0027affinity_group\u0027)"},{"line_number":184,"context_line":"                mock_get.assert_any_call(\u0027anti_affinity_group\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a1b2928_00bba773","line":181,"range":{"start_line":175,"start_character":0,"end_line":181,"end_character":46},"updated":"2016-04-11 06:52:01.000000000","message":"I suggest use the way in https://review.openstack.org/#/c/293997/10/openstackclient/tests/network/v2/test_network.py to do the multiple delete test.\n\nFirst, you may add create_server_groups() and get_server_groups() to the FakeServerGroup class, using mock. They can be used to return multiple server groups each time find() or get() is called.\n\nThen, you may fake one of the return values with an exception with mock side_effect.","commit_id":"2cae829501a5e471ca1d87a95932caa14318b5f5"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"662198522eb6812be192e03ae6e5ed291e1f9e14","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        ]"},{"line_number":173,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":174,"context_line":"        get_result \u003d [self.fake_server_group, Exception]"},{"line_number":175,"context_line":"        with mock.patch.object(self.server_groups_mock, \u0027find\u0027,"},{"line_number":176,"context_line":"                               side_effect\u003dexceptions.NotFound(404)):"},{"line_number":177,"context_line":"            with mock.patch.object(self.server_groups_mock, \u0027get\u0027,"},{"line_number":178,"context_line":"                                   side_effect\u003dget_result) as mock_get:"},{"line_number":179,"context_line":"                self.assertRaises(exceptions.CommandError,"},{"line_number":180,"context_line":"                                  self.cmd.take_action,"},{"line_number":181,"context_line":"                                  parsed_args)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"                mock_get.assert_any_call(\u0027affinity_group\u0027)"},{"line_number":184,"context_line":"                mock_get.assert_any_call(\u0027anti_affinity_group\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a1b2928_67254dc1","line":181,"range":{"start_line":175,"start_character":0,"end_line":181,"end_character":46},"in_reply_to":"7a1b2928_00bba773","updated":"2016-04-11 09:34:32.000000000","message":"yep, multiple wrap mock looks terrible, I have other idea that mocking utils.find_resource() with side_effect directly, it will make the test case more clear, thank you reminding at here.","commit_id":"2cae829501a5e471ca1d87a95932caa14318b5f5"}],"releasenotes/notes/add-server-group-delete-command-af7fcdb2e05d4adb.yaml":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e72a202b21faeba0e1a153843e9af1251b6210b6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ``server group delete`` command."},{"line_number":5,"context_line":"    [Bug `1542171 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1542171\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9a061dce_cc382fa3","line":5,"updated":"2016-04-06 18:23:12.000000000","message":"This should go into the same release note as the create command.  same with the other new server group commands.","commit_id":"c1ca7c1df483378cfa799f62c0e39cd3236ad4a5"}]}
