)]}'
{"doc/source/command-objects/subnet.rst":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c91bb86bcc40936e190b5d7008b91b343208374e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"subnet delete"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Delete a specified subnet"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. program:: subnet delete"},{"line_number":44,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_119eb956","line":41,"updated":"2016-02-10 06:05:54.000000000","message":"I think \"Delete subnet\" would be enough.","commit_id":"8718be8dd942d36ddb46777c41c44413e75abf74"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"78ae899acf91c6727174331a86961450c3e1b307","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    Subnet to display (name or ID)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"subnet delete"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Delete a subnet"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dae33548_bc82a592","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":12},"updated":"2016-02-16 03:13:46.000000000","message":"nit: Please add one more \"-\" to keep the same length with the line above.","commit_id":"9af77c82687149a1a1f19fc41736413e0f8bca86"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"48da5b845db3f21fe3254976db9f82e483379bed","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    Subnet to show (name or ID)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"subnet delete"},{"line_number":39,"context_line":"-------------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Delete a subnet"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9aed3d3a_292fec88","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":13},"updated":"2016-03-01 06:01:50.000000000","message":"this should be alphabetical","commit_id":"88c92bf71ae026b90b07411772c66b718a7d59e1"}],"openstackclient/network/v2/subnet.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"f1351905f2d5a38689a7fb3b7d1871f44ec359ae","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def take_action(self, parsed_args):"},{"line_number":108,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027 % parsed_args)"},{"line_number":109,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":110,"context_line":"        for subnet in parsed_args.subnet:"},{"line_number":111,"context_line":"            obj \u003d client.find_subnet(subnet)"},{"line_number":112,"context_line":"            client.delete_subnet(obj)"},{"line_number":113,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_d1aca1ef","line":110,"range":{"start_line":110,"start_character":8,"end_line":110,"end_character":11},"updated":"2016-02-10 05:48:38.000000000","message":"As Richard has pointed out, deleteing multiple objects needs further refactor. Please refer to:  https://bugs.launchpad.net/python-openstackclient/+bug/1537856\n\nSo for now, please do not try to delete multiple objects. Just delete one.\n\nThanks","commit_id":"0aaf15ea1b05c93a89e1cf8c74a7e55e21a01a6c"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c91bb86bcc40936e190b5d7008b91b343208374e","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"class DeleteSubnet(command.Command):"},{"line_number":95,"context_line":"    \"\"\"Delete subnet(s)\"\"\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_parser(self, prog_name):"},{"line_number":98,"context_line":"        parser \u003d super(DeleteSubnet, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_11b0f9f3","line":95,"range":{"start_line":95,"start_character":20,"end_line":95,"end_character":23},"updated":"2016-02-10 06:05:54.000000000","message":"nit: please remove this. And please make sure this comment is the same as the one in rst file:\n\n    \"Delete a specified subnet\"\n\nI think \"Delete subnet\" would be enough.","commit_id":"8718be8dd942d36ddb46777c41c44413e75abf74"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"9a792f918a376b0d14ef105ac468808c7e4fccd4","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        return parser"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def take_action(self, parsed_args):"},{"line_number":107,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027 % parsed_args)"},{"line_number":108,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":109,"context_line":"        client.delete_subnet("},{"line_number":110,"context_line":"            client.find_subnet(parsed_args.subnet))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_004f30be","line":107,"updated":"2016-02-10 14:20:03.000000000","message":"Logging is handled by the parent class so this isn\u0027t needed.","commit_id":"193ba3790552251130a2b62b9e9c1117051c370a"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8ad6c609eb6b122689a0b2e117dc05cb621bc6a2","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027 % parsed_args)"},{"line_number":108,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":109,"context_line":"        client.delete_subnet("},{"line_number":110,"context_line":"            client.find_subnet(parsed_args.subnet))"},{"line_number":111,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_6eed6a24","line":110,"updated":"2016-02-11 16:18:46.000000000","message":"I think you want to pass the \"ignore_missing\u003dFalse\" parameter into find_subnet, so that it throws an exception if the subnet isn\u0027t found.  Otherwise the \"openstack subnet delete \u003cnon_existent_subnet\u003e\" command returns success (rc\u003d0) and no error even though the subnet isn\u0027t found.  For extra credit, you could add a unit test to test this case of an invalid subnet parameter.","commit_id":"193ba3790552251130a2b62b9e9c1117051c370a"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd437e9a2112b3f71d5144c221893c4dbe4882fa","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027 % parsed_args)"},{"line_number":108,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":109,"context_line":"        client.delete_subnet("},{"line_number":110,"context_line":"            client.find_subnet(parsed_args.subnet))"},{"line_number":111,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_659c995d","line":110,"in_reply_to":"3a57f1b5_6eed6a24","updated":"2016-02-11 21:45:11.000000000","message":"The other network commands do not pass \"ignore_missing\u003dFalse\" so a change here would be inconsistent.  But this definitely needs to be address...however, maybe it should be done under https://bugs.launchpad.net/python-openstackclient/+bug/1537856.","commit_id":"193ba3790552251130a2b62b9e9c1117051c370a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"17ef2f40e76907ddf6ee7910dfcea4aa576fbb9f","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":108,"context_line":"        client.delete_subnet("},{"line_number":109,"context_line":"            client.find_subnet(parsed_args.subnet))"},{"line_number":110,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":7,"id":"dae33548_6ff7f08c","line":110,"range":{"start_line":110,"start_character":8,"end_line":110,"end_character":14},"updated":"2016-02-19 08:04:20.000000000","message":"Not needed. Please do not add \"return\" at the end of a function returning nothing. OSC follows this style now.","commit_id":"c48fd3cd4f11067a88911942767e2d8abbcbd3ea"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"48da5b845db3f21fe3254976db9f82e483379bed","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        return (columns, data)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"class DeleteSubnet(command.Command):"},{"line_number":95,"context_line":"    \"\"\"Delete subnet\"\"\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_e93864d5","line":94,"range":{"start_line":94,"start_character":6,"end_line":94,"end_character":18},"updated":"2016-03-01 06:01:50.000000000","message":"classes should be alphabetical","commit_id":"88c92bf71ae026b90b07411772c66b718a7d59e1"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"48da5b845db3f21fe3254976db9f82e483379bed","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        parser.add_argument("},{"line_number":100,"context_line":"            \u0027subnet\u0027,"},{"line_number":101,"context_line":"            metavar\u003d\"\u003csubnet\u003e\","},{"line_number":102,"context_line":"            help\u003d(\"Subnet to delete (name or ID)\")"},{"line_number":103,"context_line":"        )"},{"line_number":104,"context_line":"        return parser"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_e93fc4b1","line":102,"range":{"start_line":102,"start_character":17,"end_line":102,"end_character":50},"updated":"2016-03-01 06:01:50.000000000","message":"the ()s here are not necessary","commit_id":"88c92bf71ae026b90b07411772c66b718a7d59e1"}],"openstackclient/tests/network/v2/test_subnet.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"c91bb86bcc40936e190b5d7008b91b343208374e","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            self._subnet.name,"},{"line_number":203,"context_line":"        ]"},{"line_number":204,"context_line":"        verifylist \u003d ["},{"line_number":205,"context_line":"            (\u0027subnet\u0027, [self._subnet.name]),"},{"line_number":206,"context_line":"        ]"},{"line_number":207,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_b17c8521","line":205,"range":{"start_line":205,"start_character":23,"end_line":205,"end_character":42},"updated":"2016-02-10 06:05:54.000000000","message":"Please remove the []. Since nargs has been removed, the parameter should not be a list.","commit_id":"8718be8dd942d36ddb46777c41c44413e75abf74"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8ad6c609eb6b122689a0b2e117dc05cb621bc6a2","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        result \u003d self.cmd.take_action(parsed_args)"},{"line_number":210,"context_line":"        self.network.delete_subnet.assert_called_with(self._subnet)"},{"line_number":211,"context_line":"        self.assertEqual(None, result)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_4e38aea0","line":211,"updated":"2016-02-11 16:18:46.000000000","message":"Consider adding a test to check that if an invalid subnet parameter is passed (a typo in the name or id), that an error is returned.","commit_id":"193ba3790552251130a2b62b9e9c1117051c370a"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"e2019805c6aaaf640bbf40b85ec8d376f681062e","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        result \u003d self.cmd.take_action(parsed_args)"},{"line_number":210,"context_line":"        self.network.delete_subnet.assert_called_with(self._subnet)"},{"line_number":211,"context_line":"        self.assertEqual(None, result)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_f58b5066","line":211,"range":{"start_line":211,"start_character":13,"end_line":211,"end_character":24},"updated":"2016-02-12 00:41:13.000000000","message":"Please use assertIsNone()","commit_id":"193ba3790552251130a2b62b9e9c1117051c370a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"48da5b845db3f21fe3254976db9f82e483379bed","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        self.assertEqual(list(self.data), list(data))"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"class TestDeleteSubnet(TestSubnet):"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    # The subnet to delete."},{"line_number":189,"context_line":"    _subnet \u003d network_fakes.FakeSubnet.create_one_subnet()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_c9564005","line":186,"range":{"start_line":186,"start_character":6,"end_line":186,"end_character":22},"updated":"2016-03-01 06:01:50.000000000","message":"classes should be alphabetical","commit_id":"88c92bf71ae026b90b07411772c66b718a7d59e1"}],"releasenotes/notes/bug-1542362-ddad607f6d3025f0.yaml":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"17ef2f40e76907ddf6ee7910dfcea4aa576fbb9f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``subnet delete`` command to openstack-client."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"dae33548_cfd6fc26","line":4,"range":{"start_line":3,"start_character":5,"end_line":4,"end_character":54},"updated":"2016-02-19 08:04:20.000000000","message":"Please also attach the bug link, like this:\n\nhttps://review.openstack.org/#/c/279918/7/releasenotes/notes/bug-1544589-b9f669ef71aa5e57.yaml","commit_id":"c48fd3cd4f11067a88911942767e2d8abbcbd3ea"}],"setup.cfg":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"17ef2f40e76907ddf6ee7910dfcea4aa576fbb9f","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    router_show \u003d openstackclient.network.v2.router:ShowRouter"},{"line_number":341,"context_line":"    security_group_delete \u003d openstackclient.network.v2.security_group:DeleteSecurityGroup"},{"line_number":342,"context_line":"    security_group_rule_delete \u003d openstackclient.network.v2.security_group_rule:DeleteSecurityGroupRule"},{"line_number":343,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":344,"context_line":"    subnet_pool_delete \u003d openstackclient.network.v2.subnet_pool:DeleteSubnetPool"},{"line_number":345,"context_line":"    subnet_delete \u003d openstackclient.network.v2.subnet:DeleteSubnet"},{"line_number":346,"context_line":"    subnet_show \u003d openstackclient.network.v2.subnet:ShowSubnet"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"openstack.object_store.v1 \u003d"},{"line_number":349,"context_line":"    object_store_account_set \u003d openstackclient.object.v1.account:SetAccount"}],"source_content_type":"text/x-ttcn-cfg","patch_set":7,"id":"dae33548_8fed14f2","line":346,"range":{"start_line":343,"start_character":1,"end_line":346,"end_character":62},"updated":"2016-02-19 08:04:20.000000000","message":"Please do not mix \"subnet\" commands with \"subnet pool\" commands.","commit_id":"c48fd3cd4f11067a88911942767e2d8abbcbd3ea"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"cc0e3ca31fa269f0a30de98265e6b5f1fe1d300b","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    security_group_rule_show \u003d openstackclient.network.v2.security_group_rule:ShowSecurityGroupRule"},{"line_number":345,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":346,"context_line":"    subnet_show \u003d openstackclient.network.v2.subnet:ShowSubnet"},{"line_number":347,"context_line":"    subnet_delete \u003d openstackclient.network.v2.subnet:DeleteSubnet"},{"line_number":348,"context_line":"    subnet_pool_delete \u003d openstackclient.network.v2.subnet_pool:DeleteSubnetPool"},{"line_number":349,"context_line":"    subnet_pool_list \u003d openstackclient.network.v2.subnet_pool:ListSubnetPool"},{"line_number":350,"context_line":"    subnet_pool_show \u003d openstackclient.network.v2.subnet_pool:ShowSubnetPool"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"9aed3d3a_3b3457dc","line":347,"range":{"start_line":347,"start_character":4,"end_line":347,"end_character":17},"updated":"2016-03-01 02:01:51.000000000","message":"nit: It should be in alphabetical order. It would be nice if you can fix it before merge. :)","commit_id":"698cd6cff31764578a4c014c7102e4f98d46ea22"}]}
