)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"2f9c881f206c7a2b5bfdc3bf16f2d6c63314ebab","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"CLI support for blueprint instance-group-api-extension"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"REST API support:- https://review.openstack.org/#/c/62557/"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Iaa5a2922b9a0eed9f682b7584c2acf582379b422"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"AAAAUH%2F%2BQyo%3D","line":11,"updated":"2014-01-28 15:39:54.000000000","message":"I think this needs the DocImpact flag since it\u0027s a new user-visible feature.","commit_id":"900cdd1b69945a486ab30f76698730a0f8859916"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2837cc6ab74b01ea308a45e6ade43a0d80496a82","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"CLI support for blueprint instance-group-api-extension"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"REST API support:- https://review.openstack.org/#/c/62557/"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Iaa5a2922b9a0eed9f682b7584c2acf582379b422"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"AAAAUH%2F%2BQVI%3D","line":11,"in_reply_to":"AAAAUH%2F%2BQyo%3D","updated":"2014-01-28 16:47:04.000000000","message":"Done","commit_id":"900cdd1b69945a486ab30f76698730a0f8859916"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"47b05d487ff93a0526bf61d0320b2265bd2002ac","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@vmware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-29 08:56:21 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Nova CLI for instance groups"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"CLI support for blueprint instance-group-api-extension"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"AAAAVn%2F%2FTeI%3D","line":7,"updated":"2014-03-06 23:15:32.000000000","message":"s/instance/server/","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ff91949954d0b29726425773c9acfd0bbdadd7f8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@vmware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-29 08:56:21 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Nova CLI for instance groups"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"CLI support for blueprint instance-group-api-extension"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"AAAAVn%2F%2FQrI%3D","line":7,"in_reply_to":"AAAAVn%2F%2FTeI%3D","updated":"2014-03-07 07:45:50.000000000","message":"Done","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"}],"README.rst":[{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"bdc09a3a76e166e0e63ab4034378d2ed49cf80a1","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        image-list          Print a list of available images to boot from."},{"line_number":135,"context_line":"        image-meta          Set or Delete metadata on an image."},{"line_number":136,"context_line":"        image-show          Show details about the given image."},{"line_number":137,"context_line":"        server-group-create Create a new server group"},{"line_number":138,"context_line":"        server-group-delete Delete a specific server group"},{"line_number":139,"context_line":"        server-group-get    Get a specific server group"},{"line_number":140,"context_line":"        server-group-list   Print a list of all server groups"}],"source_content_type":"text/x-rst","patch_set":21,"id":"AAAAVn%2F%2By%2F0%3D","line":137,"updated":"2014-03-12 04:21:29.000000000","message":"Shall we keep alphabetic order?","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aec74ff90e34483f5bc7c8f9448a82ff89632198","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        image-list          Print a list of available images to boot from."},{"line_number":135,"context_line":"        image-meta          Set or Delete metadata on an image."},{"line_number":136,"context_line":"        image-show          Show details about the given image."},{"line_number":137,"context_line":"        server-group-create Create a new server group"},{"line_number":138,"context_line":"        server-group-delete Delete a specific server group"},{"line_number":139,"context_line":"        server-group-get    Get a specific server group"},{"line_number":140,"context_line":"        server-group-list   Print a list of all server groups"}],"source_content_type":"text/x-rst","patch_set":21,"id":"AAAAVn%2F%2ByFI%3D","line":137,"in_reply_to":"AAAAVn%2F%2By%2F0%3D","updated":"2014-03-12 07:22:47.000000000","message":"Done","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"bdc09a3a76e166e0e63ab4034378d2ed49cf80a1","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                            Delete a source group rule from a security group."},{"line_number":172,"context_line":"        secgroup-delete-rule"},{"line_number":173,"context_line":"                            Delete a rule from a security group."},{"line_number":174,"context_line":"        secgroup-list       List security groups for the curent tenant."},{"line_number":175,"context_line":"        secgroup-list-rules"},{"line_number":176,"context_line":"                            List rules for a security group."},{"line_number":177,"context_line":"        show                Show details about the given server."}],"source_content_type":"text/x-rst","patch_set":21,"id":"AAAAVn%2F%2By%2Fk%3D","line":174,"updated":"2014-03-12 04:21:29.000000000","message":"Put it here","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aec74ff90e34483f5bc7c8f9448a82ff89632198","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                            Delete a source group rule from a security group."},{"line_number":172,"context_line":"        secgroup-delete-rule"},{"line_number":173,"context_line":"                            Delete a rule from a security group."},{"line_number":174,"context_line":"        secgroup-list       List security groups for the curent tenant."},{"line_number":175,"context_line":"        secgroup-list-rules"},{"line_number":176,"context_line":"                            List rules for a security group."},{"line_number":177,"context_line":"        show                Show details about the given server."}],"source_content_type":"text/x-rst","patch_set":21,"id":"AAAAVn%2F%2ByFE%3D","line":174,"in_reply_to":"AAAAVn%2F%2By%2Fk%3D","updated":"2014-03-12 07:22:47.000000000","message":"Done","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"db4bcbe72a36b14ed4675f967b8450d4b1deb651","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        secgroup-list       List security groups for the curent tenant."},{"line_number":171,"context_line":"        secgroup-list-rules"},{"line_number":172,"context_line":"                            List rules for a security group."},{"line_number":173,"context_line":"        server-group-create Create a new server group"},{"line_number":174,"context_line":"        server-group-delete Delete a specific server group"},{"line_number":175,"context_line":"        server-group-get    Get a specific server group"},{"line_number":176,"context_line":"        server-group-list   Print a list of all server groups"}],"source_content_type":"text/x-rst","patch_set":22,"id":"AAAAWH%2F%2F2%2Bg%3D","line":173,"updated":"2014-03-13 10:25:57.000000000","message":"Will these lines need periods like others?","commit_id":"f2dd50ba5dea90b35bb22c749fda2f5d02f42219"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"6ca0c25f2f4f823fa6bd97c2daa3dce3ca0a0493","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        secgroup-list       List security groups for the curent tenant."},{"line_number":171,"context_line":"        secgroup-list-rules"},{"line_number":172,"context_line":"                            List rules for a security group."},{"line_number":173,"context_line":"        server-group-create Create a new server group"},{"line_number":174,"context_line":"        server-group-delete Delete a specific server group"},{"line_number":175,"context_line":"        server-group-get    Get a specific server group"},{"line_number":176,"context_line":"        server-group-list   Print a list of all server groups"}],"source_content_type":"text/x-rst","patch_set":22,"id":"AAAAWH%2F%2F20g%3D","line":173,"in_reply_to":"AAAAWH%2F%2F2%2Bg%3D","updated":"2014-03-13 10:44:13.000000000","message":"maybe just remove this addition from the patch? This list is out of date anyway  and I see no reason to keep a copy of the help message in the readme file. I\u0027lll submit a patch in a sec to just remove it all leaving just instructions on how to display the help.","commit_id":"f2dd50ba5dea90b35bb22c749fda2f5d02f42219"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"a2c0e6c4b4d2f4d13fdedb5fd8b76d3ed06f20ac","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        secgroup-list       List security groups for the curent tenant."},{"line_number":171,"context_line":"        secgroup-list-rules"},{"line_number":172,"context_line":"                            List rules for a security group."},{"line_number":173,"context_line":"        server-group-create Create a new server group"},{"line_number":174,"context_line":"        server-group-delete Delete a specific server group"},{"line_number":175,"context_line":"        server-group-get    Get a specific server group"},{"line_number":176,"context_line":"        server-group-list   Print a list of all server groups"}],"source_content_type":"text/x-rst","patch_set":22,"id":"AAAAWH%2F%2F2kc%3D","line":173,"in_reply_to":"AAAAWH%2F%2F20g%3D","updated":"2014-03-13 11:13:02.000000000","message":"Done","commit_id":"f2dd50ba5dea90b35bb22c749fda2f5d02f42219"}],"novaclient/tests/v1_1/fakes.py":[{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"bdc09a3a76e166e0e63ab4034378d2ed49cf80a1","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"        return self._return_server_group()"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"    def get_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b(self,"},{"line_number":2030,"context_line":"                                                                    **kw):"},{"line_number":2031,"context_line":"        return self._return_server_group()"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"    def put_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b(self,"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2By%2FQ%3D","line":2030,"updated":"2014-03-12 04:21:29.000000000","message":"Seems we can merge the above two lines","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aec74ff90e34483f5bc7c8f9448a82ff89632198","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"        return self._return_server_group()"},{"line_number":2028,"context_line":""},{"line_number":2029,"context_line":"    def get_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b(self,"},{"line_number":2030,"context_line":"                                                                    **kw):"},{"line_number":2031,"context_line":"        return self._return_server_group()"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"    def put_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b(self,"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2ByE8%3D","line":2030,"in_reply_to":"AAAAVn%2F%2By%2FQ%3D","updated":"2014-03-12 07:22:47.000000000","message":"not sure i understand. this is for the get","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"bdc09a3a76e166e0e63ab4034378d2ed49cf80a1","unresolved":false,"context_lines":[{"line_number":2031,"context_line":"        return self._return_server_group()"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"    def put_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b(self,"},{"line_number":2034,"context_line":"                                                                    **kw):"},{"line_number":2035,"context_line":"        return self._return_server_group()"},{"line_number":2036,"context_line":""},{"line_number":2037,"context_line":"    def post_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b_action("}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2By%2FM%3D","line":2034,"updated":"2014-03-12 04:21:29.000000000","message":"ditto","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aec74ff90e34483f5bc7c8f9448a82ff89632198","unresolved":false,"context_lines":[{"line_number":2031,"context_line":"        return self._return_server_group()"},{"line_number":2032,"context_line":""},{"line_number":2033,"context_line":"    def put_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b(self,"},{"line_number":2034,"context_line":"                                                                    **kw):"},{"line_number":2035,"context_line":"        return self._return_server_group()"},{"line_number":2036,"context_line":""},{"line_number":2037,"context_line":"    def post_os_server_groups_2cbd51f4_fafe_4cdb_801b_cf913a6f288b_action("}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2ByEI%3D","line":2034,"in_reply_to":"AAAAVn%2F%2By%2FM%3D","updated":"2014-03-12 07:22:47.000000000","message":"this is for the put","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"}],"novaclient/tests/v1_1/test_instance_groups.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"fe243a650e39a41d361b403a4b26dacfd906d835","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from novaclient.v1_1 import instance_groups"},{"line_number":17,"context_line":"from novaclient.tests import utils"},{"line_number":18,"context_line":"from novaclient.tests.v1_1 import fakes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2F8vs%3D","line":17,"updated":"2013-06-17 16:08:44.000000000","message":"\u0027t\u0027 comes before \u0027v\u0027, so these imports need to be reordered.  (femtonit)","commit_id":"6254f2cddd72286afe670d5bfdd07a6815db3e37"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8e5e07af9ba0092e887149e4f8941660a0371a49","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from novaclient.v1_1 import instance_groups"},{"line_number":17,"context_line":"from novaclient.tests import utils"},{"line_number":18,"context_line":"from novaclient.tests.v1_1 import fakes"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2F3s0%3D","line":17,"in_reply_to":"AAAAPn%2F%2F8vs%3D","updated":"2013-06-19 12:24:38.000000000","message":"Done","commit_id":"6254f2cddd72286afe670d5bfdd07a6815db3e37"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"47b05d487ff93a0526bf61d0320b2265bd2002ac","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from novaclient.tests import utils"},{"line_number":17,"context_line":"from novaclient.tests.v1_1 import fakes"},{"line_number":18,"context_line":"from novaclient.v1_1 import instance_groups"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"cs \u003d fakes.FakeClient()"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FTdo%3D","line":18,"updated":"2014-03-06 23:15:32.000000000","message":"I feel it is better to rename the files to \"server_groups ...\" like nova.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ff91949954d0b29726425773c9acfd0bbdadd7f8","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from novaclient.tests import utils"},{"line_number":17,"context_line":"from novaclient.tests.v1_1 import fakes"},{"line_number":18,"context_line":"from novaclient.v1_1 import instance_groups"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"cs \u003d fakes.FakeClient()"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FQxM%3D","line":18,"in_reply_to":"AAAAVn%2F%2FTdo%3D","updated":"2014-03-07 07:45:50.000000000","message":"Done","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"47b05d487ff93a0526bf61d0320b2265bd2002ac","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_list_instance_groups(self):"},{"line_number":27,"context_line":"        result \u003d cs.instance_groups.list()"},{"line_number":28,"context_line":"        cs.assert_called(\u0027GET\u0027, \u0027/os-instance-groups\u0027)"},{"line_number":29,"context_line":"        for instance_group in result:"},{"line_number":30,"context_line":"            self.assertTrue(isinstance(instance_group,"},{"line_number":31,"context_line":"                                       instance_groups.InstanceGroup))"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FTdE%3D","line":28,"updated":"2014-03-06 23:15:32.000000000","message":"now API url is changed to os-server-groups.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ff91949954d0b29726425773c9acfd0bbdadd7f8","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_list_instance_groups(self):"},{"line_number":27,"context_line":"        result \u003d cs.instance_groups.list()"},{"line_number":28,"context_line":"        cs.assert_called(\u0027GET\u0027, \u0027/os-instance-groups\u0027)"},{"line_number":29,"context_line":"        for instance_group in result:"},{"line_number":30,"context_line":"            self.assertTrue(isinstance(instance_group,"},{"line_number":31,"context_line":"                                       instance_groups.InstanceGroup))"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FQwg%3D","line":28,"in_reply_to":"AAAAVn%2F%2FTdE%3D","updated":"2014-03-07 07:45:50.000000000","message":"Done","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"}],"novaclient/tests/v1_1/test_server_groups.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d48d5173c688ac37910f32c36699f8d444a5a632","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        server_group \u003d cs.server_groups.get(id)"},{"line_number":45,"context_line":"        cs.assert_called(\u0027GET\u0027, \u0027/os-server-groups/%s\u0027 % id)"},{"line_number":46,"context_line":"        self.assertTrue(isinstance(server_group,"},{"line_number":47,"context_line":"                                   server_groups.ServerGroup))"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVn%2F%2FFxs%3D","line":47,"updated":"2014-03-10 00:36:35.000000000","message":"A test for server-group-delete seems necessary.","commit_id":"d9222a53a715918b11de773ac83da6630dca9e48"}],"novaclient/v1_1/instance_groups.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"df437a5cf4ff17cb0882852dd70539d3fae2c2c6","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def remove_members(self, id, members):"},{"line_number":103,"context_line":"        body \u003d {\u0027remove_members\u0027: {\u0027members\u0027: members}}"},{"line_number":104,"context_line":"        return self._create(\u0027/os-instance-groups/%s/action\u0027 % id, body,"},{"line_number":105,"context_line":"                            \u0027instance_group\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAPn%2F%2FkxY%3D","line":104,"updated":"2013-06-27 14:44:48.000000000","message":"Did you just cut-and-paste all of these?  Calling _create() doesn\u0027t sound right to me; don\u0027t we have an _action() or something similar that can be used for these operations?","commit_id":"3dd3675d8a14328f9465b6b77439490ef976b665"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"89fd6377cce08aecceaa218e755968208ce77078","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def remove_members(self, id, members):"},{"line_number":103,"context_line":"        body \u003d {\u0027remove_members\u0027: {\u0027members\u0027: members}}"},{"line_number":104,"context_line":"        return self._create(\u0027/os-instance-groups/%s/action\u0027 % id, body,"},{"line_number":105,"context_line":"                            \u0027instance_group\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAPn%2F%2FkQA%3D","line":104,"in_reply_to":"AAAAPn%2F%2FkRo%3D","updated":"2013-06-27 17:05:43.000000000","message":"Yeah, I think I prefer that; it makes it clearer exactly what\u0027s going on.","commit_id":"3dd3675d8a14328f9465b6b77439490ef976b665"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2390e02be7bf0a46ba0e41f6c1f1621839f244c4","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def remove_members(self, id, members):"},{"line_number":103,"context_line":"        body \u003d {\u0027remove_members\u0027: {\u0027members\u0027: members}}"},{"line_number":104,"context_line":"        return self._create(\u0027/os-instance-groups/%s/action\u0027 % id, body,"},{"line_number":105,"context_line":"                            \u0027instance_group\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAPn%2F%2FkRo%3D","line":104,"in_reply_to":"AAAAPn%2F%2FkxY%3D","updated":"2013-06-27 17:00:22.000000000","message":"In some files there is an method _action. An example of this is:\n\n    def _action(self, action, server, info\u003dNone, **kwargs):\n        \"\"\"\n        Perform a server \"action\" -- reboot/rebuild/resize/etc.\n        \"\"\"\n        body \u003d {action: info}\n        self.run_hooks(\u0027modify_body_for_action\u0027, body, **kwargs)\n        url \u003d \u0027/servers/%s/action\u0027 % base.getid(server)\n        return self.api.client.post(url, body\u003dbody)\n\nI can create an _action method her that does something similar.","commit_id":"3dd3675d8a14328f9465b6b77439490ef976b665"},{"author":{"_account_id":7758,"name":"David Xie","email":"david.scriptfan@gmail.com","username":"davidx"},"change_message_id":"78f0bc89e8699bd3ad69a4c07fc0ad224a6ca456","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    NAME_ATTR \u003d \u0027instance_group_name\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __repr__(self):"},{"line_number":30,"context_line":"        return \u0027\u003cInstanceGroup: %s\u003e\u0027 % self.id"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def delete(self):"},{"line_number":33,"context_line":"        self.manager.delete(self)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAQn%2F%2Ff1U%3D","line":30,"updated":"2013-07-30 07:48:49.000000000","message":"Will it be better if we show group name here?","commit_id":"a2b1cb257104b7853bcfa959cf57dd7c4905a320"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"cb626c7d3b35b50b479865cf431c9dcb0888aefc","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    NAME_ATTR \u003d \u0027instance_group_name\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __repr__(self):"},{"line_number":30,"context_line":"        return \u0027\u003cInstanceGroup: %s\u003e\u0027 % self.id"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def delete(self):"},{"line_number":33,"context_line":"        self.manager.delete(self)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAARn%2F%2FwrU%3D","line":30,"in_reply_to":"AAAAQn%2F%2Ff1U%3D","updated":"2013-08-22 07:38:25.000000000","message":"the name is not unique. i think that that may be an issue","commit_id":"a2b1cb257104b7853bcfa959cf57dd7c4905a320"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"2f9c881f206c7a2b5bfdc3bf16f2d6c63314ebab","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get(self, id):"},{"line_number":50,"context_line":"        \"\"\"Get a specific instance group."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        :param network: The ID of the :class:`InstanceGroup` to get."},{"line_number":53,"context_line":"        :rtype: :class:`InstanceGroup`"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        return self._get(\u0027/os-instance-groups/%s\u0027 % id,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F%2BQzU%3D","line":52,"updated":"2014-01-28 15:39:54.000000000","message":"mismatch between \u0027network\u0027 and \u0027id\u0027","commit_id":"900cdd1b69945a486ab30f76698730a0f8859916"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2837cc6ab74b01ea308a45e6ade43a0d80496a82","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get(self, id):"},{"line_number":50,"context_line":"        \"\"\"Get a specific instance group."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        :param network: The ID of the :class:`InstanceGroup` to get."},{"line_number":53,"context_line":"        :rtype: :class:`InstanceGroup`"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        return self._get(\u0027/os-instance-groups/%s\u0027 % id,"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F%2BQXk%3D","line":52,"in_reply_to":"AAAAUH%2F%2BQzU%3D","updated":"2014-01-28 16:47:04.000000000","message":"Done","commit_id":"900cdd1b69945a486ab30f76698730a0f8859916"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"2f9c881f206c7a2b5bfdc3bf16f2d6c63314ebab","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def delete(self, id):"},{"line_number":59,"context_line":"        \"\"\"Delete a specific instance group."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        :param network: The ID of the :class:`InstanceGroup` to delete."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        self._delete(\u0027/os-instance-groups/%s\u0027 % id)"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F%2BQzQ%3D","line":61,"updated":"2014-01-28 15:39:54.000000000","message":"mismatch \u0027network\u0027 vs. \u0027id\u0027","commit_id":"900cdd1b69945a486ab30f76698730a0f8859916"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2837cc6ab74b01ea308a45e6ade43a0d80496a82","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def delete(self, id):"},{"line_number":59,"context_line":"        \"\"\"Delete a specific instance group."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        :param network: The ID of the :class:`InstanceGroup` to delete."},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        self._delete(\u0027/os-instance-groups/%s\u0027 % id)"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F%2BQXQ%3D","line":61,"in_reply_to":"AAAAUH%2F%2BQzQ%3D","updated":"2014-01-28 16:47:04.000000000","message":"Done","commit_id":"900cdd1b69945a486ab30f76698730a0f8859916"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"3220ed9b76afa971a3636a433360de61abaab003","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get(self, id):"},{"line_number":50,"context_line":"        \"\"\"Get a specific instance group."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        :param idk: The ID of the :class:`InstanceGroup` to get."},{"line_number":53,"context_line":"        :rtype: :class:`InstanceGroup`"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        return self._get(\u0027/os-instance-groups/%s\u0027 % id,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUH%2F%2BKuI%3D","line":52,"updated":"2014-01-29 14:30:04.000000000","message":"s/idk/id/","commit_id":"726ea833a76538ea9b1c183b4d0a463b621168a0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ac827c8e91c7d737e4830b308445c423f50d6860","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get(self, id):"},{"line_number":50,"context_line":"        \"\"\"Get a specific instance group."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        :param idk: The ID of the :class:`InstanceGroup` to get."},{"line_number":53,"context_line":"        :rtype: :class:`InstanceGroup`"},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        return self._get(\u0027/os-instance-groups/%s\u0027 % id,"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAUH%2F%2BJwc%3D","line":52,"in_reply_to":"AAAAUH%2F%2BKuI%3D","updated":"2014-01-29 16:55:48.000000000","message":"Done","commit_id":"726ea833a76538ea9b1c183b4d0a463b621168a0"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"47b05d487ff93a0526bf61d0320b2265bd2002ac","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        :rtype: list of :class:`InstanceGroup`."},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        return self._list(\u0027/os-instance-groups\u0027, \u0027instance_groups\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get(self, id):"},{"line_number":50,"context_line":"        \"\"\"Get a specific instance group."}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FTaI%3D","line":47,"updated":"2014-03-06 23:15:32.000000000","message":"The url is changed to os-server-groups.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ff91949954d0b29726425773c9acfd0bbdadd7f8","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        :rtype: list of :class:`InstanceGroup`."},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        return self._list(\u0027/os-instance-groups\u0027, \u0027instance_groups\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get(self, id):"},{"line_number":50,"context_line":"        \"\"\"Get a specific instance group."}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FQvI%3D","line":47,"in_reply_to":"AAAAVn%2F%2FTaI%3D","updated":"2014-03-07 07:45:50.000000000","message":"Done","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"47b05d487ff93a0526bf61d0320b2265bd2002ac","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        body \u003d {\u0027instance_group\u0027: kwargs}"},{"line_number":71,"context_line":"        return self._create(\u0027/os-instance-groups\u0027, body, \u0027instance_group\u0027)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def update(self, id, **kwargs):"},{"line_number":74,"context_line":"        body \u003d {\u0027instance_group\u0027: kwargs}"},{"line_number":75,"context_line":"        return self._update(\u0027/os-instance-groups/%s\u0027 % id, body,"},{"line_number":76,"context_line":"                            \u0027instance_group\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FTaQ%3D","line":73,"updated":"2014-03-06 23:15:32.000000000","message":"Current nova side code does not contain update API.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ff91949954d0b29726425773c9acfd0bbdadd7f8","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        body \u003d {\u0027instance_group\u0027: kwargs}"},{"line_number":71,"context_line":"        return self._create(\u0027/os-instance-groups\u0027, body, \u0027instance_group\u0027)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def update(self, id, **kwargs):"},{"line_number":74,"context_line":"        body \u003d {\u0027instance_group\u0027: kwargs}"},{"line_number":75,"context_line":"        return self._update(\u0027/os-instance-groups/%s\u0027 % id, body,"},{"line_number":76,"context_line":"                            \u0027instance_group\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FQvA%3D","line":73,"in_reply_to":"AAAAVn%2F%2FTaQ%3D","updated":"2014-03-07 07:45:50.000000000","message":"Done","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"}],"novaclient/v1_1/shell.py":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"a2b23e49adffbf4d2b5c94e64419b2401ba4cec2","unresolved":false,"context_lines":[{"line_number":3475,"context_line":""},{"line_number":3476,"context_line":"def _print_instance_group_details(instance_group):"},{"line_number":3477,"context_line":"    columns \u003d [\u0027Id\u0027, \u0027Name\u0027, \u0027Policies\u0027, \u0027Members\u0027, \u0027Metadata\u0027]"},{"line_number":3478,"context_line":"    utils.print_list(instance_group, columns)"},{"line_number":3479,"context_line":""},{"line_number":3480,"context_line":""},{"line_number":3481,"context_line":"def do_instance_group_list(cs, args):"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FWqo%3D","line":3478,"updated":"2014-03-06 17:19:30.000000000","message":"While simple, this results in not very nice output for the \"Policies\" and \"Metadata\" columns, where it basically just dumps out a list-of-dicts and a dict complete with curly braces and square brackets and \"u\"-prefixed strings.\n\nIt would be better to have a more human-readable output aimed at end users rather than python programmers.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ff91949954d0b29726425773c9acfd0bbdadd7f8","unresolved":false,"context_lines":[{"line_number":3475,"context_line":""},{"line_number":3476,"context_line":"def _print_instance_group_details(instance_group):"},{"line_number":3477,"context_line":"    columns \u003d [\u0027Id\u0027, \u0027Name\u0027, \u0027Policies\u0027, \u0027Members\u0027, \u0027Metadata\u0027]"},{"line_number":3478,"context_line":"    utils.print_list(instance_group, columns)"},{"line_number":3479,"context_line":""},{"line_number":3480,"context_line":""},{"line_number":3481,"context_line":"def do_instance_group_list(cs, args):"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FQq0%3D","line":3478,"in_reply_to":"AAAAVn%2F%2FWqo%3D","updated":"2014-03-07 07:45:50.000000000","message":"i have addressed this partially (a patch about 2 months ago). i\u0027ll add a followup patch to make it prettier","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"a2b23e49adffbf4d2b5c94e64419b2401ba4cec2","unresolved":false,"context_lines":[{"line_number":3494,"context_line":"@utils.arg(\u0027--metadata\u0027, metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":3495,"context_line":"           action\u003d\u0027append\u0027, default\u003d[],"},{"line_number":3496,"context_line":"           help\u003d\u0027Extra_specs to set/unset (only key is necessary on unset)\u0027)"},{"line_number":3497,"context_line":"def do_instance_group_create(cs, args):"},{"line_number":3498,"context_line":"    \"\"\"Create a new instance group with the specified details.\"\"\""},{"line_number":3499,"context_line":"    if args.metadata:"},{"line_number":3500,"context_line":"        metadata \u003d _extract_metadata(args)"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FWkE%3D","line":3497,"updated":"2014-03-06 17:19:30.000000000","message":"Currently the help text has:\nusage: nova instance-group-create [--policy \u003cpolicy\u003e] [--member \u003cmember\u003e]\n                                  [--metadata \u003ckey\u003dvalue\u003e [\u003ckey\u003dvalue\u003e ...]]\n                                  \u003cname\u003e\n\nHowever, in my testing if I do it in that order then it fails with a \"too few arguments\" error.\n\nIf I put the \"--metadata key\u003dvalue\" after the group name then it passes.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e7644be0185e7bb71da2087fcb834e7b6d5448a0","unresolved":false,"context_lines":[{"line_number":3502,"context_line":"        metadata \u003d {}"},{"line_number":3503,"context_line":""},{"line_number":3504,"context_line":"    policies \u003d [{\u0027name\u0027: policy} for policy in args.policies]"},{"line_number":3505,"context_line":"    members \u003d [{\u0027instance_id\u0027: member} for member in args.members]"},{"line_number":3506,"context_line":""},{"line_number":3507,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3508,"context_line":"              \u0027policies\u0027: policies,"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FTUE%3D","line":3505,"updated":"2014-03-07 00:44:41.000000000","message":"\u0027name\u0027 and \u0027instance_id\u0027 are not necessary because of the following design.\n\n {\n    \"server_group\": {\n        \"name\": \"test\",\n        \"policies\": [\"test_policy\"]\n    }\n }","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e7644be0185e7bb71da2087fcb834e7b6d5448a0","unresolved":false,"context_lines":[{"line_number":3507,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3508,"context_line":"              \u0027policies\u0027: policies,"},{"line_number":3509,"context_line":"              \u0027members\u0027: members,"},{"line_number":3510,"context_line":"              \u0027metadata\u0027: metadata}"},{"line_number":3511,"context_line":"    instance_group \u003d cs.instance_groups.create(**kwargs)"},{"line_number":3512,"context_line":"    _print_instance_group_details([instance_group])"},{"line_number":3513,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAVn%2F%2FTTA%3D","line":3510,"updated":"2014-03-07 00:44:41.000000000","message":"\u0027members\u0027 and \u0027metadata\u0027 are unnecessary.","commit_id":"f36b5a2c9882d9e8e82cea5e45856236e415b6e5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ffb7bd401b15d1f89a7aa7a48999b254ca18ac5d","unresolved":false,"context_lines":[{"line_number":3515,"context_line":"    _print_server_group_details(server_groups)"},{"line_number":3516,"context_line":""},{"line_number":3517,"context_line":""},{"line_number":3518,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d\u0027Instance group name.\u0027)"},{"line_number":3519,"context_line":"@utils.arg(\u0027--policy\u0027, metavar\u003d\u0027\u003cpolicy\u003e\u0027, action\u003d\u0027append\u0027,"},{"line_number":3520,"context_line":"           dest\u003d\u0027policies\u0027, default\u003d[], type\u003dstr,"},{"line_number":3521,"context_line":"           help\u003d\u0027Policies for the server groups\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FPeo%3D","line":3518,"updated":"2014-03-07 10:42:04.000000000","message":"s/Instance/Server/","commit_id":"21143f9dd27dc524d7c3fee404d658e902db83e4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"999e47e4ddf4546e5d2b909ef7ba22f5a1556738","unresolved":false,"context_lines":[{"line_number":3515,"context_line":"    _print_server_group_details(server_groups)"},{"line_number":3516,"context_line":""},{"line_number":3517,"context_line":""},{"line_number":3518,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d\u0027Instance group name.\u0027)"},{"line_number":3519,"context_line":"@utils.arg(\u0027--policy\u0027, metavar\u003d\u0027\u003cpolicy\u003e\u0027, action\u003d\u0027append\u0027,"},{"line_number":3520,"context_line":"           dest\u003d\u0027policies\u0027, default\u003d[], type\u003dstr,"},{"line_number":3521,"context_line":"           help\u003d\u0027Policies for the server groups\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FI%2Bo%3D","line":3518,"in_reply_to":"AAAAVn%2F%2FPeo%3D","updated":"2014-03-08 09:28:44.000000000","message":"Done","commit_id":"21143f9dd27dc524d7c3fee404d658e902db83e4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ffb7bd401b15d1f89a7aa7a48999b254ca18ac5d","unresolved":false,"context_lines":[{"line_number":3521,"context_line":"           help\u003d\u0027Policies for the server groups\u0027)"},{"line_number":3522,"context_line":"def do_server_group_create(cs, args):"},{"line_number":3523,"context_line":"    \"\"\"Create a new server group with the specified details.\"\"\""},{"line_number":3524,"context_line":"    policies \u003d [{\u0027name\u0027: policy} for policy in args.policies]"},{"line_number":3525,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3526,"context_line":"              \u0027policies\u0027: policies,"},{"line_number":3527,"context_line":"              \u0027members\u0027: [],"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FPdw%3D","line":3524,"updated":"2014-03-07 10:42:04.000000000","message":"in \u0027policies\u0027 attribute, \u0027name\u0027 is unnecessary.","commit_id":"21143f9dd27dc524d7c3fee404d658e902db83e4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"999e47e4ddf4546e5d2b909ef7ba22f5a1556738","unresolved":false,"context_lines":[{"line_number":3521,"context_line":"           help\u003d\u0027Policies for the server groups\u0027)"},{"line_number":3522,"context_line":"def do_server_group_create(cs, args):"},{"line_number":3523,"context_line":"    \"\"\"Create a new server group with the specified details.\"\"\""},{"line_number":3524,"context_line":"    policies \u003d [{\u0027name\u0027: policy} for policy in args.policies]"},{"line_number":3525,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3526,"context_line":"              \u0027policies\u0027: policies,"},{"line_number":3527,"context_line":"              \u0027members\u0027: [],"}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FI%2Bc%3D","line":3524,"in_reply_to":"AAAAVn%2F%2FPdw%3D","updated":"2014-03-08 09:28:44.000000000","message":"Sorry, this was a result of the changes in the API over the last few days and I did not pick it up. Good catch.","commit_id":"21143f9dd27dc524d7c3fee404d658e902db83e4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ffb7bd401b15d1f89a7aa7a48999b254ca18ac5d","unresolved":false,"context_lines":[{"line_number":3525,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3526,"context_line":"              \u0027policies\u0027: policies,"},{"line_number":3527,"context_line":"              \u0027members\u0027: [],"},{"line_number":3528,"context_line":"              \u0027metadata\u0027: {}}"},{"line_number":3529,"context_line":"    server_group \u003d cs.server_groups.create(**kwargs)"},{"line_number":3530,"context_line":"    _print_server_group_details([server_group])"},{"line_number":3531,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FPdY%3D","line":3528,"updated":"2014-03-07 10:42:04.000000000","message":"\u0027members\u0027 and \u0027metadata\u0027 also are unnecessary.","commit_id":"21143f9dd27dc524d7c3fee404d658e902db83e4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"999e47e4ddf4546e5d2b909ef7ba22f5a1556738","unresolved":false,"context_lines":[{"line_number":3525,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3526,"context_line":"              \u0027policies\u0027: policies,"},{"line_number":3527,"context_line":"              \u0027members\u0027: [],"},{"line_number":3528,"context_line":"              \u0027metadata\u0027: {}}"},{"line_number":3529,"context_line":"    server_group \u003d cs.server_groups.create(**kwargs)"},{"line_number":3530,"context_line":"    _print_server_group_details([server_group])"},{"line_number":3531,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAVn%2F%2FI8s%3D","line":3528,"in_reply_to":"AAAAVn%2F%2FPdY%3D","updated":"2014-03-08 09:28:44.000000000","message":"Done","commit_id":"21143f9dd27dc524d7c3fee404d658e902db83e4"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d48d5173c688ac37910f32c36699f8d444a5a632","unresolved":false,"context_lines":[{"line_number":3531,"context_line":"           help\u003d\u0027Policies for the server groups\u0027)"},{"line_number":3532,"context_line":"def do_server_group_create(cs, args):"},{"line_number":3533,"context_line":"    \"\"\"Create a new server group with the specified details.\"\"\""},{"line_number":3534,"context_line":"    policies \u003d [{\u0027name\u0027: policy} for policy in args.policies]"},{"line_number":3535,"context_line":"    kwargs \u003d {\u0027name\u0027: args.name,"},{"line_number":3536,"context_line":"              \u0027policies\u0027: args.policies}"},{"line_number":3537,"context_line":"    server_group \u003d cs.server_groups.create(**kwargs)"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAVn%2F%2FFwY%3D","line":3534,"updated":"2014-03-10 00:36:35.000000000","message":"It is better to remove this policies because it is unused.","commit_id":"d9222a53a715918b11de773ac83da6630dca9e48"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"bdc09a3a76e166e0e63ab4034378d2ed49cf80a1","unresolved":false,"context_lines":[{"line_number":3541,"context_line":"           help\u003d\"Unique ID of the server group to delete\")"},{"line_number":3542,"context_line":"def do_server_group_delete(cs, args):"},{"line_number":3543,"context_line":"    \"\"\"Delete a specific server group.\"\"\""},{"line_number":3544,"context_line":"    cs.server_groups.delete(args.id)"},{"line_number":3545,"context_line":"    print(\"Instance group %s has been successfully deleted.\" % args.id)"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2By%2Bw%3D","line":3544,"updated":"2014-03-12 04:21:29.000000000","message":"Shall we make this delete multiple groups in one command just like \"nova delete\"?","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aec74ff90e34483f5bc7c8f9448a82ff89632198","unresolved":false,"context_lines":[{"line_number":3541,"context_line":"           help\u003d\"Unique ID of the server group to delete\")"},{"line_number":3542,"context_line":"def do_server_group_delete(cs, args):"},{"line_number":3543,"context_line":"    \"\"\"Delete a specific server group.\"\"\""},{"line_number":3544,"context_line":"    cs.server_groups.delete(args.id)"},{"line_number":3545,"context_line":"    print(\"Instance group %s has been successfully deleted.\" % args.id)"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAAVn%2F%2ByDo%3D","line":3544,"in_reply_to":"AAAAVn%2F%2By%2Bw%3D","updated":"2014-03-12 07:22:47.000000000","message":"i will add that in a patch above this one","commit_id":"5ed4e70b4d2acd2aa707b4cd818b5e7e5dc75f4b"}]}
