)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e4091a99a76a831ff930be4f604e13285583142a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"$ neutron floatingip-list"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Change-Id: Ie61f0faad65ec90f9d9956ae463412be8d963d05"},{"line_number":34,"context_line":"Closes-Bug: 1519502"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a710552_56bdb366","line":34,"updated":"2015-12-16 14:29:44.000000000","message":"This doesn\u0027t close the bug.  Also this is related to the neutron-client blueprint.","commit_id":"54382fa96fe7c040170e04144520beb48ba50697"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"652e8eeaa7bd3419a4dcb9f00ae5ed3eb39e8bdc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"both compute and network. Also includes unit tests."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ie61f0faad65ec90f9d9956ae463412be8d963d05"},{"line_number":13,"context_line":"Depends-On: Ic21376b86b40cc6d97f360f3760ba5beed154537"},{"line_number":14,"context_line":"partial-Bug: 1519502"},{"line_number":15,"context_line":"Related-to: blueprint neutron-client"},{"line_number":16,"context_line":"Co-Authored-By: Tang Chen \u003cchen.tang@easystack.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5a5ae5dd_861016aa","line":13,"updated":"2016-02-09 17:06:57.000000000","message":"Dependency is merged so this can be removed now.","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"fe0d1e6d3b671794868230aef4a48016c64d84b0","unresolved":false,"context_lines":[{"line_number":10,"context_line":"both compute and network. Also includes unit tests."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ie61f0faad65ec90f9d9956ae463412be8d963d05"},{"line_number":13,"context_line":"Depends-On: Ic21376b86b40cc6d97f360f3760ba5beed154537"},{"line_number":14,"context_line":"partial-Bug: 1519502"},{"line_number":15,"context_line":"Related-to: blueprint neutron-client"},{"line_number":16,"context_line":"Co-Authored-By: Tang Chen \u003cchen.tang@easystack.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5a5ae5dd_b1d22e33","line":13,"in_reply_to":"5a5ae5dd_861016aa","updated":"2016-02-09 17:28:10.000000000","message":"Done","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"}],"doc/source/command-objects/floating_ip.rst":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"652e8eeaa7bd3419a4dcb9f00ae5ed3eb39e8bdc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"ip floating"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Compute v2, Network v2"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5a5ae5dd_a60432c6","line":2,"updated":"2016-02-09 17:06:57.000000000","message":"Why is a new doc being created when ip-floating.rst already exists?","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"fe0d1e6d3b671794868230aef4a48016c64d84b0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"ip floating"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Compute v2, Network v2"}],"source_content_type":"text/x-rst","patch_set":12,"id":"5a5ae5dd_b111ceb1","line":2,"in_reply_to":"5a5ae5dd_a60432c6","updated":"2016-02-09 17:28:10.000000000","message":"I didn\u0027t notice that...... Will remove this file. Thx.","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"}],"doc/source/command-objects/floatingip.rst":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":7,"context_line":"ip floating delete"},{"line_number":8,"context_line":"------------------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Delete  floating IP(S) address"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":".. program:: ip floating delete"},{"line_number":13,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a7b0d38_ae8757d6","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":30},"updated":"2015-12-22 15:23:30.000000000","message":"nit: IP(s) address --\u003e IP(s)","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":12,"context_line":".. program:: ip floating delete"},{"line_number":13,"context_line":".. code:: bash"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    os ip floating delete"},{"line_number":16,"context_line":"        \u003cip-address\u003e"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. describe:: \u003cip-address\u003e"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a7b0d38_ceed0390","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":20},"updated":"2015-12-22 15:23:30.000000000","message":"Make these in one line please. And I\u0027d like to make delete be able to delete multiple IP addresses.","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. describe:: \u003cip-address\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    IP address to delete (ID only)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a7b0d38_eecb1f1d","line":20,"range":{"start_line":20,"start_character":4,"end_line":20,"end_character":14},"updated":"2015-12-22 15:23:30.000000000","message":"nit: IP address --\u003e IP(s)","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"}],"openstackclient/compute/v2/floatingip.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5931e5f8de4624cc99f8ebb9ac1a3d3e31ead28b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class ListFloatingIP(lister.Lister):"},{"line_number":72,"context_line":"    \"\"\"List floating IP addresses\"\"\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a5de9d1_5a455040","line":71,"range":{"start_line":71,"start_character":21,"end_line":71,"end_character":27},"updated":"2016-02-02 05:55:17.000000000","message":"I think here should be command.Lister","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"}],"openstackclient/network/common.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":24,"context_line":"class NetworkAndComputeCommand(command.Command):"},{"line_number":25,"context_line":"    \"\"\"Network and Compute Command\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    base_logger \u003d logging.getLogger(__name__ + \u0027.NetworkAndComputeCommand\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_f1d46048","line":24,"range":{"start_line":24,"start_character":6,"end_line":24,"end_character":30},"updated":"2015-12-22 15:23:30.000000000","message":"Isn\u0027t this the same code with Richard\u0027s patch ?\n\nhttps://review.openstack.org/#/c/257543/4/openstackclient/network/common.py\n\nIf you need it, I think it will be good to just depend on his patch. He may change his patch. Will you change the code each time he changes ?  I don\u0027t think so.","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"204dd65611e3a43bf77710eed48b98d1680c44ba","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":24,"context_line":"class NetworkAndComputeCommand(command.Command):"},{"line_number":25,"context_line":"    \"\"\"Network and Compute Command\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    base_logger \u003d logging.getLogger(__name__ + \u0027.NetworkAndComputeCommand\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_91af1c7d","line":24,"range":{"start_line":24,"start_character":6,"end_line":24,"end_character":30},"in_reply_to":"1a7b0d38_f1d46048","updated":"2015-12-22 15:25:45.000000000","message":"+1, I am also working on some enhancements to my patch set that I\u0027ll hopefully get out for review today.","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"}],"openstackclient/network/v2/floating_ip.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"652e8eeaa7bd3419a4dcb9f00ae5ed3eb39e8bdc","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        parser.add_argument("},{"line_number":25,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloating-ip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete (IP address or ID)\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a5ae5dd_a6875211","line":27,"updated":"2016-02-09 17:06:57.000000000","message":"If you switch to nargs then I think https://bugs.launchpad.net/python-openstackclient/+bug/1537856 should be followed.","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"fe0d1e6d3b671794868230aef4a48016c64d84b0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        parser.add_argument("},{"line_number":25,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloating-ip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete (IP address or ID)\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a5ae5dd_f102e6b3","line":27,"in_reply_to":"5a5ae5dd_a6875211","updated":"2016-02-09 17:28:10.000000000","message":"The patch has been abandoned. I think I have missed some important discussion. What should I do with this ? Are we going to fix all the delete methods in the same way ?","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"44602e937cfd81a84d742f645d1e8de02d3f8232","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        parser.add_argument("},{"line_number":25,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloating-ip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete (IP address or ID)\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_0e31cca2","line":27,"updated":"2016-02-09 20:12:30.000000000","message":"My recommendation is to leave this as-is for the refactor.  However, if you\u0027d like to handle nargs now, please follow the design in https://bugs.launchpad.net/python-openstackclient/+bug/1537856.","commit_id":"05471e7ccdbcd86eed6a4b0aa03714830945994c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"1b3ba7de7f3bce9dfae2eb7bdf049529393f931a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        parser.add_argument("},{"line_number":25,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloating-ip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete (IP address or ID)\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_8186edb7","line":27,"in_reply_to":"3a57f1b5_0e31cca2","updated":"2016-02-09 20:48:54.000000000","message":"Hi Richard, \n\nThere are 3 rules there:\n* delete failures do not stop the delete of other resources\n* a useful message gets printed for each failure\n* $? should be non zero for partial failure\n\nWhich one do you mean I should follow? None of them is about nargs.\n\nThanks.","commit_id":"05471e7ccdbcd86eed6a4b0aa03714830945994c"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"aaf85bf281daea9aad7241e0c3fae6125acb9e59","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        parser.add_argument("},{"line_number":25,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloating-ip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete (IP address or ID)\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_a40e97e3","line":27,"in_reply_to":"3a57f1b5_8186edb7","updated":"2016-02-09 21:02:56.000000000","message":"They all apply to how the delete of multiple resources should work.","commit_id":"05471e7ccdbcd86eed6a4b0aa03714830945994c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"fe9170f6297022b5ea6513959d739905d4d85054","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        parser.add_argument("},{"line_number":25,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloating-ip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete (IP address or ID)\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_24adc788","line":27,"in_reply_to":"3a57f1b5_a40e97e3","updated":"2016-02-09 21:06:07.000000000","message":"OK, I see. I\u0027ll remove nargs now, and refactor them later. Thanks :)","commit_id":"05471e7ccdbcd86eed6a4b0aa03714830945994c"}],"openstackclient/network/v2/floatingip.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"7539e4ba9e263caa22faaa22f0315ddbe45a37af","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class DeleteFloatingIP(command.Command):"},{"line_number":29,"context_line":"    \"\"\"Delete a given floating IP(s).\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.DeleteFloatingIP\u0027)"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_c318b8d5","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":15},"updated":"2015-12-21 11:06:41.000000000","message":"nit: Delete floating IP(s)","commit_id":"c8e896f01a227128f2295f8b47417f9912d987e9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"7539e4ba9e263caa22faaa22f0315ddbe45a37af","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \u0027floatingip\u0027,"},{"line_number":37,"context_line":"            metavar\u003d\"\u003cfloatingip\u003e\","},{"line_number":38,"context_line":"            nargs\u003d\"+\","},{"line_number":39,"context_line":"            help\u003d(\"Floating IP(s) to delete ID\")"},{"line_number":40,"context_line":"        )"},{"line_number":41,"context_line":"        return parser"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_e3fb7445","line":39,"range":{"start_line":39,"start_character":44,"end_line":39,"end_character":46},"updated":"2015-12-21 11:06:41.000000000","message":"Is it ID only here ?\n\nPlease refer to the SDK:\n\n    def delete_ip(self, floating_ip, ignore_missing\u003dTrue):                      \n        \"\"\"Delete a floating ip                                                 \n                                                                                \n        :param floating_ip: The value can be either the ID of a floating ip     \n                    or a :class:`~openstack.network.v2.floating_ip.FloatingIP`  \n                    instance.                                                   \n        :param bool ignore_missing: When set to ``False``                       \n                    :class:`~openstack.exceptions.ResourceNotFound` will be     \n                    raised when the floating ip does not exist.                 \n                    When set to ``True``, no exception will be set when         \n                    attempting to delete a nonexistent ip.                      \n                                                                                \n        :returns: ``None``                                                      \n        \"\"\"                                                                     \n        self._delete(_floating_ip.FloatingIP, floating_ip,                      \n                     ignore_missing\u003dignore_missing) \n\nI think it could also be a float ip it self.","commit_id":"c8e896f01a227128f2295f8b47417f9912d987e9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"7539e4ba9e263caa22faaa22f0315ddbe45a37af","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        for floatingip in parsed_args.floatingip:"},{"line_number":48,"context_line":"            client.delete_floatingip(floatingip)"},{"line_number":49,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_e32e14a4","line":48,"range":{"start_line":48,"start_character":19,"end_line":48,"end_character":36},"updated":"2015-12-21 11:06:41.000000000","message":"There is no such function in SDK (python-openstacksdk).\n\nIt should be delete_ip().","commit_id":"c8e896f01a227128f2295f8b47417f9912d987e9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"7539e4ba9e263caa22faaa22f0315ddbe45a37af","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        for floatingip in parsed_args.floatingip:"},{"line_number":48,"context_line":"            client.delete_floatingip(floatingip)"},{"line_number":49,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_63b5447c","line":49,"range":{"start_line":49,"start_character":8,"end_line":49,"end_character":14},"updated":"2015-12-21 11:06:41.000000000","message":"Please remove return if you return nothing.","commit_id":"c8e896f01a227128f2295f8b47417f9912d987e9"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class DeleteFloatingIP(command.NetworkAndComputeCommand):"},{"line_number":23,"context_line":"    \"\"\"Delete a given floating IP(s).\"\"\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.DeleteFloatingIP\u0027)"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_11348cdc","line":23,"range":{"start_line":23,"start_character":7,"end_line":23,"end_character":36},"updated":"2015-12-22 15:23:30.000000000","message":"\"Delete floating IP(s)\" will be good.","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            \u0027floatingip\u0027,"},{"line_number":31,"context_line":"            metavar\u003d\"\u003cfloatingip\u003e\","},{"line_number":32,"context_line":"            nargs\u003d\"+\","},{"line_number":33,"context_line":"            help\u003d(\"Floating IP(s) to delete ID\")"},{"line_number":34,"context_line":"        )"},{"line_number":35,"context_line":"        return parser"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_b10d7839","line":33,"range":{"start_line":33,"start_character":44,"end_line":33,"end_character":46},"updated":"2015-12-22 15:23:30.000000000","message":"Just make the help info consistent to the doc, please. You can just copy it, please don\u0027t write a different string everywhere.","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a3658554eedf014e469cdbecd2908a3b92f93e92","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027 % parsed_args)"},{"line_number":40,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        for floatingip in parsed_args.floatingip:"},{"line_number":43,"context_line":"            client.delete_ip(floatingip)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @utils.log_method(log)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_8e113b60","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":49},"updated":"2015-12-22 15:23:30.000000000","message":"You see, this makes it be able to delete multiple IPs, right ?\nSo all the comments and doc need to fix.","commit_id":"3062e11036618ab76dcacbb53136543b12ca761c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"20155b8bbd6da912887da6d1fc6dbc234d2abb39","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#   under the License."},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"\"\"\"Security Group action implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import utils"},{"line_number":17,"context_line":"from openstackclient.network import common"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a5de9d1_f63c5ee2","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":43},"updated":"2016-02-02 02:30:38.000000000","message":"Not security group.","commit_id":"a30c7be24fad319168a96d2112c9c881a02dcd27"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"20155b8bbd6da912887da6d1fc6dbc234d2abb39","unresolved":false,"context_lines":[{"line_number":25,"context_line":"            \u0027floatingip\u0027,"},{"line_number":26,"context_line":"            metavar\u003d\"\u003cfloatingip\u003e\","},{"line_number":27,"context_line":"            nargs\u003d\"+\","},{"line_number":28,"context_line":"            help\u003d(\"Floating IP(s) to delete ID\")"},{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a5de9d1_f613fe62","line":28,"range":{"start_line":28,"start_character":44,"end_line":28,"end_character":46},"updated":"2016-02-02 02:30:38.000000000","message":"ID -\u003e (ID only)\n\nPlease keep the doc the same as the text in rst file.","commit_id":"a30c7be24fad319168a96d2112c9c881a02dcd27"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"20155b8bbd6da912887da6d1fc6dbc234d2abb39","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        )"},{"line_number":30,"context_line":"        return parser"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def take_action_network(self, parsed_args):"},{"line_number":33,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        for floatingip in parsed_args.floatingip:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a5de9d1_e4cb44a2","line":32,"range":{"start_line":32,"start_character":8,"end_line":32,"end_character":27},"updated":"2016-02-02 02:30:38.000000000","message":"I think in Richard\u0027s patch, take_action_network() also takes a parameter named \"client\".\n\nhttps://review.openstack.org/#/c/257543/11/openstackclient/network/common.py","commit_id":"a30c7be24fad319168a96d2112c9c881a02dcd27"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5931e5f8de4624cc99f8ebb9ac1a3d3e31ead28b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        return parser"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def take_action_network(self, client, parsed_args):"},{"line_number":33,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        for floatingip in parsed_args.floatingip:"},{"line_number":36,"context_line":"            client.delete_ip(floatingip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a5de9d1_5ab3104d","line":33,"range":{"start_line":33,"start_character":8,"end_line":33,"end_character":48},"updated":"2016-02-02 05:55:17.000000000","message":"No, you don\u0027t need to find the client...client is a passed in parameter. Please take a look at Richard\u0027s patch, the base class NetworkAndComputeCommand will pick the client for you.","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"}],"openstackclient/tests/network/v2/fakes.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"20155b8bbd6da912887da6d1fc6dbc234d2abb39","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        return mock.MagicMock(side_effect\u003drouters)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class FakeSubnet(object):"},{"line_number":313,"context_line":"    \"\"\"Fake one or more subnets.\"\"\""},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a5de9d1_440258b5","side":"PARENT","line":312,"range":{"start_line":312,"start_character":6,"end_line":312,"end_character":16},"updated":"2016-02-02 02:30:38.000000000","message":"You should not delete Subnet related code, right ?","commit_id":"a4b05b426eae4ad10cf795d488e29edd47dbcbe1"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        \"\"\""},{"line_number":392,"context_line":"        # Set default attributes."},{"line_number":393,"context_line":"        floatingip_attrs \u003d {"},{"line_number":394,"context_line":"            \u0027id\u0027: \u0027router-id-\u0027 + uuid.uuid4().hex,"},{"line_number":395,"context_line":"            \u0027floating_ip_address\u0027: \u00271.0.9.0\u0027"},{"line_number":396,"context_line":"        }"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_10ada587","line":394,"range":{"start_line":394,"start_character":19,"end_line":394,"end_character":25},"updated":"2016-02-08 06:00:43.000000000","message":"typo: router --\u003e floating-ip","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a35e9587b66ed00607a46772c6c54c149d9805ad","unresolved":false,"context_lines":[{"line_number":571,"context_line":"        # Set default attributes."},{"line_number":572,"context_line":"        floating_ip_attrs \u003d {"},{"line_number":573,"context_line":"            \u0027id\u0027: \u0027floating-ip-id-\u0027 + uuid.uuid4().hex,"},{"line_number":574,"context_line":"            \u0027floating_ip_address\u0027: \u00271.0.9.0\u0027"},{"line_number":575,"context_line":"        }"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        # Overwrite default attributes."}],"source_content_type":"text/x-python","patch_set":11,"id":"5a5ae5dd_cd3f2b86","line":574,"range":{"start_line":574,"start_character":13,"end_line":574,"end_character":32},"updated":"2016-02-09 07:25:13.000000000","message":"Here, should be \u0027ip\u0027. Will fix it in the next version.","commit_id":"4d8c3c2a0979f31cf0d2f9a937b48bc04416f19e"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"652e8eeaa7bd3419a4dcb9f00ae5ed3eb39e8bdc","unresolved":false,"context_lines":[{"line_number":566,"context_line":"        :param Dictionary methods:"},{"line_number":567,"context_line":"            A dictionary with all methods"},{"line_number":568,"context_line":"        :return:"},{"line_number":569,"context_line":"            A FakeResource object, with id, floating_ip_address"},{"line_number":570,"context_line":"        \"\"\""},{"line_number":571,"context_line":"        # Set default attributes."},{"line_number":572,"context_line":"        floating_ip_attrs \u003d {"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a5ae5dd_66987a6b","line":569,"updated":"2016-02-09 17:06:57.000000000","message":"nit ... ip instead of floating_ip_address","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"fe0d1e6d3b671794868230aef4a48016c64d84b0","unresolved":false,"context_lines":[{"line_number":566,"context_line":"        :param Dictionary methods:"},{"line_number":567,"context_line":"            A dictionary with all methods"},{"line_number":568,"context_line":"        :return:"},{"line_number":569,"context_line":"            A FakeResource object, with id, floating_ip_address"},{"line_number":570,"context_line":"        \"\"\""},{"line_number":571,"context_line":"        # Set default attributes."},{"line_number":572,"context_line":"        floating_ip_attrs \u003d {"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a5ae5dd_511dfa0d","line":569,"in_reply_to":"5a5ae5dd_66987a6b","updated":"2016-02-09 17:28:10.000000000","message":"Done","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"}],"openstackclient/tests/network/v2/test_floatingip.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        # Create compute client mocks."},{"line_number":29,"context_line":"        self.app.client_manager.compute \u003d mock.Mock()"},{"line_number":30,"context_line":"        self.compute \u003d self.app.client_manager.compute"},{"line_number":31,"context_line":"        self.compute.floating_ips \u003d mock.Mock()"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class TestDeleteFloatingIPNetwork(TestFloatingIP):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_10c4c53d","line":31,"range":{"start_line":31,"start_character":21,"end_line":31,"end_character":33},"updated":"2016-02-08 06:00:43.000000000","message":"This should be defined in compute/v2/fake.py","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            self._floating_ip.id,"},{"line_number":51,"context_line":"        ]"},{"line_number":52,"context_line":"        verifylist \u003d ["},{"line_number":53,"context_line":"            (\u0027floatingip\u0027, self._floatng_ip.id),"},{"line_number":54,"context_line":"        ]"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_eb501834","line":53,"range":{"start_line":53,"start_character":32,"end_line":53,"end_character":43},"updated":"2016-02-08 06:00:43.000000000","message":"This should be a list, [self._floating_ip.id]","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        self.network.delete_ip.assert_called_with("},{"line_number":60,"context_line":"            self._floatng_ip.id)"},{"line_number":61,"context_line":"        self.assertEqual(None, result)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class TestDeleteFloatingIPCompute(TestFloatingIP):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_6bd0a8f6","line":61,"range":{"start_line":61,"start_character":13,"end_line":61,"end_character":24},"updated":"2016-02-08 06:00:43.000000000","message":"assertIsNone()","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        super(TestDeleteFloatingIPCompute, self).setUp()"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        self.app.client_manager.neutron_enabled \u003d False"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.compute.floating_ips.delete \u003d mock.Mock(return_value\u003dNone)"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_2b570fcb","line":73,"range":{"start_line":73,"start_character":32,"end_line":73,"end_character":47},"updated":"2016-02-08 06:00:43.000000000","message":"This should be network_endpoint_enabled","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            self._floating_ip.id,"},{"line_number":86,"context_line":"        ]"},{"line_number":87,"context_line":"        verifylist \u003d ["},{"line_number":88,"context_line":"            (\u0027floatingip\u0027, self._floating_ip.id),"},{"line_number":89,"context_line":"        ]"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_2b7cf0b3","line":88,"range":{"start_line":88,"start_character":27,"end_line":88,"end_character":47},"updated":"2016-02-08 06:00:43.000000000","message":"This should be a list, [self._floating_ip.id]","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edee43b6cea155d6b061a9f763e24998c1dd4ad2","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        self.compute.floating_ips.delete.assert_called_with("},{"line_number":95,"context_line":"            self._floating_ip.id)"},{"line_number":96,"context_line":"        self.assertEqual(None, result)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a5ae5dd_0b2014f6","line":96,"range":{"start_line":96,"start_character":13,"end_line":96,"end_character":24},"updated":"2016-02-08 06:00:43.000000000","message":"assertIsNone()","commit_id":"80f614570f1b702e7ead97a7f10012aa07f20f7a"}],"setup.cfg":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e4091a99a76a831ff930be4f604e13285583142a","unresolved":false,"context_lines":[{"line_number":337,"context_line":"    router_list \u003d openstackclient.network.v2.router:ListRouter"},{"line_number":338,"context_line":"    router_set \u003d openstackclient.network.v2.router:SetRouter"},{"line_number":339,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":340,"context_line":"    floatingip_delete \u003d openstackclient.network.v2.floatingip:DeleteFloatingIP"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":343,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"5a710552_7978e08f","line":340,"updated":"2015-12-16 14:29:44.000000000","message":"There is already an \u0027ip floating delete\u0027 command.  Why is that not being refactored to use the SDK?  Please see https://review.openstack.org/#/c/257543/ for my attempt at this for security group delete.  I would like to know how others think this should be handled.","commit_id":"54382fa96fe7c040170e04144520beb48ba50697"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"acfad56ea93c237a174ceb3d13ec99de96572aa2","unresolved":false,"context_lines":[{"line_number":337,"context_line":"    router_list \u003d openstackclient.network.v2.router:ListRouter"},{"line_number":338,"context_line":"    router_set \u003d openstackclient.network.v2.router:SetRouter"},{"line_number":339,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":340,"context_line":"    floatingip_delete \u003d openstackclient.network.v2.floatingip:DeleteFloatingIP"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":343,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"5a710552_f9505060","line":340,"in_reply_to":"5a710552_7978e08f","updated":"2015-12-16 14:39:12.000000000","message":"Dean had some thought on how to handle this, but I\u0027m not sure one the implementation he had in mind, but the command should be the same like rheis says.  I would guess we\u0027d want a proxy command that would basically call either the neutron one or the compute version.  It might be easier to handle it in some other way though because I don\u0027t know how a proxy would provide the correct parsed args.","commit_id":"54382fa96fe7c040170e04144520beb48ba50697"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"20155b8bbd6da912887da6d1fc6dbc234d2abb39","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    router_list \u003d openstackclient.network.v2.router:ListRouter"},{"line_number":337,"context_line":"    router_set \u003d openstackclient.network.v2.router:SetRouter"},{"line_number":338,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":339,"context_line":"    ip_floating_delete \u003d openstackclient.network.v2.floatingip:DeleteFloatingIP"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":342,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":6,"id":"7a5de9d1_f6e8deb4","line":339,"range":{"start_line":339,"start_character":4,"end_line":339,"end_character":22},"updated":"2016-02-02 02:30:38.000000000","message":"I think we should not remove the config of ListSubnet, just add the config of DeleteFloatingIP.","commit_id":"a30c7be24fad319168a96d2112c9c881a02dcd27"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c1174383327b586f3bef170899e0baef2bf08f28","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":340,"context_line":"    security_group_delete \u003d openstackclient.network.v2.security_group:DeleteSecurityGroup"},{"line_number":341,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":342,"context_line":"    ip_floating_delete \u003d openstackclient.network.v2.floatingip:DeleteFloatingIP"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":345,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":9,"id":"5a5ae5dd_6d92e4f7","line":342,"range":{"start_line":342,"start_character":52,"end_line":342,"end_character":62},"updated":"2016-02-08 15:30:11.000000000","message":"floating_ip","commit_id":"707e90e7fe279f0cd993b0aa58884b3bbe881765"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"652e8eeaa7bd3419a4dcb9f00ae5ed3eb39e8bdc","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":340,"context_line":"    security_group_delete \u003d openstackclient.network.v2.security_group:DeleteSecurityGroup"},{"line_number":341,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":342,"context_line":"    ip_floating_delete \u003d openstackclient.network.v2.floating_ip:DeleteFloatingIP"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":345,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":12,"id":"5a5ae5dd_8602566e","line":342,"updated":"2016-02-09 17:06:57.000000000","message":"Please place in alphabetical order.","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"fe0d1e6d3b671794868230aef4a48016c64d84b0","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":340,"context_line":"    security_group_delete \u003d openstackclient.network.v2.security_group:DeleteSecurityGroup"},{"line_number":341,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":342,"context_line":"    ip_floating_delete \u003d openstackclient.network.v2.floating_ip:DeleteFloatingIP"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":345,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":12,"id":"5a5ae5dd_91e13201","line":342,"in_reply_to":"5a5ae5dd_8602566e","updated":"2016-02-09 17:28:10.000000000","message":"Done","commit_id":"61cbf7b58ff23cf66eeac6e12a1175e89a1057de"}]}
