)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5d80c4cf9be16201639da5c8fa6f54528496e2d6","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"python-neutronclient implements the following command set:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"agent-list, agent-show, agent-delete, agent-update"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"These commands display and modify various network agents and their"},{"line_number":14,"context_line":"information."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_94fe5336","line":11,"updated":"2016-07-29 14:39:33.000000000","message":"Remove agent-update","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"40c89beb37bc76612ca320b6a2d304e907232fc7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"python-neutronclient implements the following command set:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"agent-list, agent-show, agent-delete, agent-update"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"These commands display and modify various network agents and their"},{"line_number":14,"context_line":"information."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_d9bb78c2","line":11,"in_reply_to":"bacf61ea_94fe5336","updated":"2016-08-02 02:30:21.000000000","message":"Done","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5d80c4cf9be16201639da5c8fa6f54528496e2d6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"information."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"python-openstackclient does not implement these commands, nor does"},{"line_number":17,"context_line":"python-openstacksdk support the api calls for these commands."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This commit adds support for the following commands:"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_d4f8cb4b","line":17,"updated":"2016-07-29 14:39:33.000000000","message":"Update this paragraph","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"40c89beb37bc76612ca320b6a2d304e907232fc7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"information."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"python-openstackclient does not implement these commands, nor does"},{"line_number":17,"context_line":"python-openstacksdk support the api calls for these commands."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This commit adds support for the following commands:"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"bacf61ea_39af347e","line":17,"in_reply_to":"bacf61ea_d4f8cb4b","updated":"2016-08-02 02:30:21.000000000","message":"Done","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"}],"doc/source/command-objects/network-agent.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5d80c4cf9be16201639da5c8fa6f54528496e2d6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"network agent"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **network agent** is a plugin that handles various tasks used to"},{"line_number":6,"context_line":"implement virtual networks.  These agents include neutron-dhcp-agent,"},{"line_number":7,"context_line":"neutron-l3-agent, neutron-metering-agent, and neutron-lbaas-agent,"},{"line_number":8,"context_line":"among others."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bacf61ea_94f49387","line":5,"updated":"2016-07-29 14:39:33.000000000","message":"Where is this a plugin, and does an OSC user need to know this?  If they are optional in a deployment, how does the user know if they are available?","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"40c89beb37bc76612ca320b6a2d304e907232fc7","unresolved":false,"context_lines":[{"line_number":2,"context_line":"network agent"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **network agent** is a plugin that handles various tasks used to"},{"line_number":6,"context_line":"implement virtual networks.  These agents include neutron-dhcp-agent,"},{"line_number":7,"context_line":"neutron-l3-agent, neutron-metering-agent, and neutron-lbaas-agent,"},{"line_number":8,"context_line":"among others."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bacf61ea_a68dc3d4","line":5,"in_reply_to":"bacf61ea_94f49387","updated":"2016-08-02 02:30:21.000000000","message":"Users may just need to konw this is an agent, I will modify it. And also add some messages about the availability of the agent. Thanks :)","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5d80c4cf9be16201639da5c8fa6f54528496e2d6","unresolved":false,"context_lines":[{"line_number":49,"context_line":".. _network_agent_show-network-agent:"},{"line_number":50,"context_line":".. describe:: \u003cnetwork-agent\u003e"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    Network agent to display (ID only)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bacf61ea_945ad34e","line":52,"updated":"2016-07-29 14:39:33.000000000","message":"Do network agents not have names?","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"40c89beb37bc76612ca320b6a2d304e907232fc7","unresolved":false,"context_lines":[{"line_number":49,"context_line":".. _network_agent_show-network-agent:"},{"line_number":50,"context_line":".. describe:: \u003cnetwork-agent\u003e"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    Network agent to display (ID only)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bacf61ea_39fd746e","line":52,"in_reply_to":"bacf61ea_945ad34e","updated":"2016-08-02 02:30:21.000000000","message":"Network agent just has a binary name but I has tried and found we can\u0027t find the agent by binary name. May we can just find the agent by ID.","commit_id":"ef902d4b96953be869fe9b694397abd26c684c09"}],"functional/tests/network/v2/test_network_agent.py":[{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"6562d4d9b32055c4dbfd069dfe7db30a883cfcbb","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def tearDownClass(cls):"},{"line_number":31,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent delete \u0027 + cls.IDs[0])"},{"line_number":32,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_network_agent_show(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bacf61ea_4503d2b8","line":31,"range":{"start_line":31,"start_character":36,"end_line":31,"end_character":56},"updated":"2016-08-03 09:38:02.000000000","message":"I think we shouldn\u0027t delete the network agent which isn\u0027t created by OSC functional tests, that might impact the functional test environment.","commit_id":"6fe7a63b949b77c62b1e5d119b6382ff46be962c"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"4e4a966451d655a49a2b57ff3180590ebd0ace58","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def tearDownClass(cls):"},{"line_number":31,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent delete \u0027 + cls.IDs[0])"},{"line_number":32,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_network_agent_show(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bacf61ea_a09d595b","line":31,"range":{"start_line":31,"start_character":36,"end_line":31,"end_character":56},"in_reply_to":"bacf61ea_4503d2b8","updated":"2016-08-03 11:01:06.000000000","message":"I agree with this. But we can not create a agent by OSC command, maybe we have to remove the delete command test...","commit_id":"6fe7a63b949b77c62b1e5d119b6382ff46be962c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"f2c1917929ffb0ab830575fcdd936a7502fbf7c2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    HEADERS \u003d [\u0027ID\u0027]"},{"line_number":20,"context_line":"    FIELDS \u003d [\u0027id\u0027]"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        opts \u003d cls.get_opts(cls.HEADERS)"},{"line_number":25,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent list\u0027 + opts)"},{"line_number":26,"context_line":"        # get the list of network agent IDs."},{"line_number":27,"context_line":"        cls.IDs \u003d raw_output.split(\u0027\\n\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def test_network_agent_show(self):"},{"line_number":30,"context_line":"        opts \u003d self.get_opts(self.FIELDS)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bacf61ea_f1af2129","line":27,"range":{"start_line":22,"start_character":4,"end_line":27,"end_character":40},"updated":"2016-08-03 11:13:57.000000000","message":"add a TODO here to add a tearDownClass to remove created agents","commit_id":"8dc32fee1240e92748a6c90c5f5529f080e5eaae"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"5013aecf0d65743110378301e471b9de4ebef5bf","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    HEADERS \u003d [\u0027ID\u0027]"},{"line_number":20,"context_line":"    FIELDS \u003d [\u0027id\u0027]"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        opts \u003d cls.get_opts(cls.HEADERS)"},{"line_number":25,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent list\u0027 + opts)"},{"line_number":26,"context_line":"        # get the list of network agent IDs."},{"line_number":27,"context_line":"        cls.IDs \u003d raw_output.split(\u0027\\n\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def test_network_agent_show(self):"},{"line_number":30,"context_line":"        opts \u003d self.get_opts(self.FIELDS)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bacf61ea_8ce16e01","line":27,"range":{"start_line":22,"start_character":4,"end_line":27,"end_character":40},"in_reply_to":"bacf61ea_f1af2129","updated":"2016-08-03 11:27:07.000000000","message":"Actually it seems like it is no way to created agents by a command now. There will not be a \"network agent create\" command. Agents were created in the enviroment.","commit_id":"8dc32fee1240e92748a6c90c5f5529f080e5eaae"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c69c5224da3d97f9de71bacc0afe41ab5dae86b8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        opts \u003d cls.get_opts(cls.HEADERS)"},{"line_number":25,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent list\u0027 + opts)"},{"line_number":26,"context_line":"        # get the list of network agent IDs."},{"line_number":27,"context_line":"        cls.IDs \u003d raw_output.split(\u0027\\n\u0027)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_c4d92bf5","line":25,"updated":"2016-08-04 17:01:10.000000000","message":"This should be in a list test and not in the class setup.","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"bb3eb1384a2779da1fdd5ef9806cffa019fac952","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        opts \u003d cls.get_opts(cls.HEADERS)"},{"line_number":25,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent list\u0027 + opts)"},{"line_number":26,"context_line":"        # get the list of network agent IDs."},{"line_number":27,"context_line":"        cls.IDs \u003d raw_output.split(\u0027\\n\u0027)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_e39b70c7","line":25,"in_reply_to":"bacf61ea_c4d92bf5","updated":"2016-08-05 08:25:24.000000000","message":"We need to get IDs first by network agent list command before other tests, so I added list test in setup. Maybe we can change to \"test_network_agent_list\" and keep the \"@classmethod\" here. Is it OK?","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"af973638fc1cae4dcda40606588d337ed8f72680","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        opts \u003d cls.get_opts(cls.HEADERS)"},{"line_number":25,"context_line":"        raw_output \u003d cls.openstack(\u0027network agent list\u0027 + opts)"},{"line_number":26,"context_line":"        # get the list of network agent IDs."},{"line_number":27,"context_line":"        cls.IDs \u003d raw_output.split(\u0027\\n\u0027)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_2d46047b","line":25,"in_reply_to":"bacf61ea_e39b70c7","updated":"2016-08-05 11:41:31.000000000","message":"Sorry I missed that.  You could leave as-is.","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"90382cb950e98fb35855ac890d5fd3f9edf71ab4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def test_network_agent_show(self):"},{"line_number":30,"context_line":"        opts \u003d self.get_opts(self.FIELDS)"},{"line_number":31,"context_line":"        raw_output \u003d self.openstack(\u0027network agent show \u0027 + self.IDs[0] + opts)"},{"line_number":32,"context_line":"        self.assertEqual(self.IDs[0] + \"\\n\", raw_output)"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_4221cffa","line":32,"updated":"2016-08-04 06:48:36.000000000","message":"I think it\u0027s ok to remove agent-delete functional test case in current situation, we don\u0027t create it, so don\u0027t delete it. If I run the previous functional test (include agent-delete test) several times in my devstack, all my network agents would be deleted, that\u0027s my worried things.","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"9ff0405b0299063f76f2c1f708253977a50d9a9d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def test_network_agent_show(self):"},{"line_number":30,"context_line":"        opts \u003d self.get_opts(self.FIELDS)"},{"line_number":31,"context_line":"        raw_output \u003d self.openstack(\u0027network agent show \u0027 + self.IDs[0] + opts)"},{"line_number":32,"context_line":"        self.assertEqual(self.IDs[0] + \"\\n\", raw_output)"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_bd20ac9c","line":32,"in_reply_to":"bacf61ea_4221cffa","updated":"2016-08-04 06:53:56.000000000","message":"Yes, we\u0027d better remove it. Thank you for reviewing :)","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"}],"openstackclient/network/v2/agent.py":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"582cf0d650471c02f91ab2f3c4be2cacce86f85b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class ListAgent(command.Lister):"},{"line_number":22,"context_line":"    \"\"\"List network agents\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def get_parser(self, prog_name):"},{"line_number":25,"context_line":"        parser \u003d super(ListAgent, self).get_parser(prog_name)"},{"line_number":26,"context_line":"        return parser"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def take_action(self, parsed_args):"},{"line_number":29,"context_line":"        client \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_fa954688","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":21},"updated":"2016-05-13 04:39:39.000000000","message":"You needn\u0027t get_parser if there is no option in this command","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2929cdb30b77a3f715da15af5c67c15ff62726fb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class ListAgent(command.Lister):"},{"line_number":22,"context_line":"    \"\"\"List network agents\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def get_parser(self, prog_name):"},{"line_number":25,"context_line":"        parser \u003d super(ListAgent, self).get_parser(prog_name)"},{"line_number":26,"context_line":"        return parser"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def take_action(self, parsed_args):"},{"line_number":29,"context_line":"        client \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_5d09ecdc","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":21},"in_reply_to":"dab17558_fa954688","updated":"2016-05-13 05:30:01.000000000","message":"++","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class ListAgent(command.Lister):"},{"line_number":22,"context_line":"    \"\"\"List network agents\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def get_parser(self, prog_name):"},{"line_number":25,"context_line":"        parser \u003d super(ListAgent, self).get_parser(prog_name)"},{"line_number":26,"context_line":"        return parser"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def take_action(self, parsed_args):"},{"line_number":29,"context_line":"        client \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_cb820d00","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":21},"in_reply_to":"dab17558_fa954688","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"582cf0d650471c02f91ab2f3c4be2cacce86f85b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027binary\u0027"},{"line_number":38,"context_line":"        )"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        column_headers \u003d columns"},{"line_number":41,"context_line":"        filters \u003d {}"},{"line_number":42,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":43,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_a7a3a74e","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":32},"updated":"2016-05-13 04:39:39.000000000","message":"You need to rewrite column_headers like this:\ncolumn_headers \u003d (\n    \u0027ID\u0027,\n    \u0027Agent Type\u0027,\n    \u0027Host\u0027,\n    \u0027Availability Zones\u0027,\n    \u0027Alive\u0027,\n    \u0027Admin State Up\u0027\n    \u0027Binary\u0027\n)","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027binary\u0027"},{"line_number":38,"context_line":"        )"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        column_headers \u003d columns"},{"line_number":41,"context_line":"        filters \u003d {}"},{"line_number":42,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":43,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_eb771139","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":32},"in_reply_to":"dab17558_9d13540d","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2929cdb30b77a3f715da15af5c67c15ff62726fb","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027binary\u0027"},{"line_number":38,"context_line":"        )"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        column_headers \u003d columns"},{"line_number":41,"context_line":"        filters \u003d {}"},{"line_number":42,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":43,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_9d13540d","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":32},"in_reply_to":"dab17558_a7a3a74e","updated":"2016-05-13 05:30:01.000000000","message":"++","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"582cf0d650471c02f91ab2f3c4be2cacce86f85b","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def take_action(self, parsed_args):"},{"line_number":62,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":63,"context_line":"        obj \u003d client.get_agent(parsed_args.agent, ignore_missing\u003dTrue)"},{"line_number":64,"context_line":"        columns \u003d tuple(sorted(list(obj.keys())))"},{"line_number":65,"context_line":"        data \u003d utils.get_item_properties(obj, columns,)"},{"line_number":66,"context_line":"        return columns, data"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_87bb0375","line":63,"range":{"start_line":63,"start_character":65,"end_line":63,"end_character":69},"updated":"2016-05-13 04:39:39.000000000","message":"False","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def take_action(self, parsed_args):"},{"line_number":62,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":63,"context_line":"        obj \u003d client.get_agent(parsed_args.agent, ignore_missing\u003dTrue)"},{"line_number":64,"context_line":"        columns \u003d tuple(sorted(list(obj.keys())))"},{"line_number":65,"context_line":"        data \u003d utils.get_item_properties(obj, columns,)"},{"line_number":66,"context_line":"        return columns, data"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_4b773d3a","line":63,"range":{"start_line":63,"start_character":65,"end_line":63,"end_character":69},"in_reply_to":"dab17558_87bb0375","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"582cf0d650471c02f91ab2f3c4be2cacce86f85b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        parser.add_argument("},{"line_number":75,"context_line":"            \u0027agent\u0027,"},{"line_number":76,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":77,"context_line":"            help\u003d_(\"Agent to display (name or ID)\")"},{"line_number":78,"context_line":"        )"},{"line_number":79,"context_line":"        return parser"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_3a622ed9","line":77,"range":{"start_line":77,"start_character":29,"end_line":77,"end_character":36},"updated":"2016-05-13 04:39:39.000000000","message":"delete","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        parser.add_argument("},{"line_number":75,"context_line":"            \u0027agent\u0027,"},{"line_number":76,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":77,"context_line":"            help\u003d_(\"Agent to display (name or ID)\")"},{"line_number":78,"context_line":"        )"},{"line_number":79,"context_line":"        return parser"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_2b72b949","line":77,"range":{"start_line":77,"start_character":29,"end_line":77,"end_character":36},"in_reply_to":"dab17558_3a622ed9","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"582cf0d650471c02f91ab2f3c4be2cacce86f85b","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def take_action(self, parsed_args):"},{"line_number":82,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":83,"context_line":"        client.delete_agent(parsed_args.agent, ignore_missing\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_47063b21","line":83,"range":{"start_line":83,"start_character":47,"end_line":83,"end_character":66},"updated":"2016-05-13 04:39:39.000000000","message":"You can remove \"ignore_missing\u003dTrue\" because the default value of \"ignore_missing\" has been \"True\" in delete_agent() method.","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"582cf0d650471c02f91ab2f3c4be2cacce86f85b","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def take_action(self, parsed_args):"},{"line_number":82,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":83,"context_line":"        client.delete_agent(parsed_args.agent, ignore_missing\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_da3de2bc","line":83,"range":{"start_line":83,"start_character":15,"end_line":83,"end_character":27},"updated":"2016-05-13 04:39:39.000000000","message":"You need to get the agent by using get_agent() method before deleting it.","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def take_action(self, parsed_args):"},{"line_number":82,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":83,"context_line":"        client.delete_agent(parsed_args.agent, ignore_missing\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_cb996d70","line":83,"range":{"start_line":83,"start_character":47,"end_line":83,"end_character":66},"in_reply_to":"dab17558_47063b21","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def take_action(self, parsed_args):"},{"line_number":82,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":83,"context_line":"        client.delete_agent(parsed_args.agent, ignore_missing\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_ab9ce95d","line":83,"range":{"start_line":83,"start_character":15,"end_line":83,"end_character":27},"in_reply_to":"dab17558_da3de2bc","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"14c465dfba03438ff11526b0f591df5f6d996363","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import command"},{"line_number":17,"context_line":"from openstackclient.common import utils"},{"line_number":18,"context_line":"from openstackclient.i18n import _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ListAgent(command.Lister):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_919cb35e","line":18,"range":{"start_line":18,"start_character":35,"end_line":18,"end_character":42},"updated":"2016-05-13 21:52:35.000000000","message":"you can remove this, it\u0027s no longer needed, it\u0027ll pass our hacking check","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"6771caf4a8895500e23533c302a5c640d6d0f45e","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import command"},{"line_number":17,"context_line":"from openstackclient.common import utils"},{"line_number":18,"context_line":"from openstackclient.i18n import _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class ListAgent(command.Lister):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_0b0fb588","line":18,"range":{"start_line":18,"start_character":35,"end_line":18,"end_character":42},"in_reply_to":"dab17558_919cb35e","updated":"2016-05-20 14:56:58.000000000","message":"Done","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"14c465dfba03438ff11526b0f591df5f6d996363","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        parser.add_argument("},{"line_number":59,"context_line":"            \u0027agent\u0027,"},{"line_number":60,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":61,"context_line":"            help\u003d_(\"Agent to delete (name or ID)\")"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":"        return parser"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_11a9e37b","line":61,"range":{"start_line":61,"start_character":29,"end_line":61,"end_character":35},"updated":"2016-05-13 21:52:35.000000000","message":"this should be display","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"6771caf4a8895500e23533c302a5c640d6d0f45e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        parser.add_argument("},{"line_number":59,"context_line":"            \u0027agent\u0027,"},{"line_number":60,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":61,"context_line":"            help\u003d_(\"Agent to delete (name or ID)\")"},{"line_number":62,"context_line":"        )"},{"line_number":63,"context_line":"        return parser"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_6b2801e3","line":61,"range":{"start_line":61,"start_character":29,"end_line":61,"end_character":35},"in_reply_to":"dab17558_11a9e37b","updated":"2016-05-20 14:56:58.000000000","message":"Done","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"14c465dfba03438ff11526b0f591df5f6d996363","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        return columns, data"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class DeleteAgent(command.Command):"},{"line_number":74,"context_line":"    \"\"\"Delete network agent\"\"\""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_b1b0d7de","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":35},"updated":"2016-05-13 21:52:35.000000000","message":"can you make the classes alphabetical, just move this over ListAgents and we\u0027re good","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"6771caf4a8895500e23533c302a5c640d6d0f45e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        return columns, data"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class DeleteAgent(command.Command):"},{"line_number":74,"context_line":"    \"\"\"Delete network agent\"\"\""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_4b253d07","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":35},"in_reply_to":"dab17558_b1b0d7de","updated":"2016-05-20 14:56:58.000000000","message":"Done","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"14c465dfba03438ff11526b0f591df5f6d996363","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        parser.add_argument("},{"line_number":79,"context_line":"            \u0027agent\u0027,"},{"line_number":80,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":81,"context_line":"            help\u003d_(\"Agent to display (name or ID)\")"},{"line_number":82,"context_line":"        )"},{"line_number":83,"context_line":"        return parser"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_31aea785","line":81,"range":{"start_line":81,"start_character":29,"end_line":81,"end_character":36},"updated":"2016-05-13 21:52:35.000000000","message":"this should be delete","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"6771caf4a8895500e23533c302a5c640d6d0f45e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        parser.add_argument("},{"line_number":79,"context_line":"            \u0027agent\u0027,"},{"line_number":80,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":81,"context_line":"            help\u003d_(\"Agent to display (name or ID)\")"},{"line_number":82,"context_line":"        )"},{"line_number":83,"context_line":"        return parser"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_8b1ba5c9","line":81,"range":{"start_line":81,"start_character":29,"end_line":81,"end_character":36},"in_reply_to":"dab17558_31aea785","updated":"2016-05-20 14:56:58.000000000","message":"Done","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"7e5a1272132238ffaf2e82e71d78ef7cb266271a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from openstackclient.i18n import _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"def _format_alive(item):"},{"line_number":22,"context_line":"    return \u0027:-)\u0027 if item else \u0027xxx\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _format_availability_zone(item):"},{"line_number":26,"context_line":"    return item if item else \u0027\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"_formatters \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_9a796dff","line":26,"range":{"start_line":21,"start_character":0,"end_line":26,"end_character":31},"updated":"2016-05-13 20:58:36.000000000","message":"This format matches what is currently in python-neutronclient.\n\nI am open to changing it if needed.","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"8d16a7da05684c6336ab0d23309f13cee350564f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from openstackclient.i18n import _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"def _format_alive(item):"},{"line_number":22,"context_line":"    return \u0027:-)\u0027 if item else \u0027xxx\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _format_availability_zone(item):"},{"line_number":26,"context_line":"    return item if item else \u0027\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"_formatters \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_b8b6f487","line":26,"range":{"start_line":21,"start_character":0,"end_line":26,"end_character":31},"in_reply_to":"dab17558_9a796dff","updated":"2016-05-14 02:47:23.000000000","message":"I think you should keep consistent with other network commands in OSC.","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"6e24cd9bdaa25fdd538a724d994a92ea41d75cc2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from openstackclient.i18n import _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"def _format_alive(item):"},{"line_number":22,"context_line":"    return \u0027:-)\u0027 if item else \u0027xxx\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _format_availability_zone(item):"},{"line_number":26,"context_line":"    return item if item else \u0027\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"_formatters \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_3633fc63","line":26,"range":{"start_line":21,"start_character":0,"end_line":26,"end_character":31},"in_reply_to":"dab17558_b8b6f487","updated":"2016-05-20 15:08:59.000000000","message":"Done","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"7e5a1272132238ffaf2e82e71d78ef7cb266271a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \u0027binary\u0027"},{"line_number":48,"context_line":"        )"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        column_headers \u003d columns"},{"line_number":51,"context_line":"        filters \u003d {}"},{"line_number":52,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":53,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_da35b546","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":32},"updated":"2016-05-13 20:58:36.000000000","message":"This mirrors what is in the existing python-neutronclient.\n\nI suggest we leave the headers the same to preserve compatibility with other programs.\n\nI\u0027m open to changing this to the suggested names, just wanted to let everyone know that\u0027s what is currently in python-neutronclient.","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"6e24cd9bdaa25fdd538a724d994a92ea41d75cc2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \u0027binary\u0027"},{"line_number":48,"context_line":"        )"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        column_headers \u003d columns"},{"line_number":51,"context_line":"        filters \u003d {}"},{"line_number":52,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":53,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_cb500d35","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":32},"in_reply_to":"dab17558_18ff40ab","updated":"2016-05-20 15:08:59.000000000","message":"Done","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"8d16a7da05684c6336ab0d23309f13cee350564f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \u0027binary\u0027"},{"line_number":48,"context_line":"        )"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        column_headers \u003d columns"},{"line_number":51,"context_line":"        filters \u003d {}"},{"line_number":52,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":53,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_18ff40ab","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":32},"in_reply_to":"dab17558_b1357747","updated":"2016-05-14 02:47:23.000000000","message":"++","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"857c7f7ba80dae49458b72284af40a1b5d4f64e8","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \u0027binary\u0027"},{"line_number":48,"context_line":"        )"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        column_headers \u003d columns"},{"line_number":51,"context_line":"        filters \u003d {}"},{"line_number":52,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":53,"context_line":"        return (column_headers,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_b1357747","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":32},"in_reply_to":"dab17558_da35b546","updated":"2016-05-13 21:54:46.000000000","message":"OSC won\u0027t be a drop in replacment for neutron CLI. deployers and users will have to switch from using \u0027neutron ....\u0027 to \u0027openstack ....\u0027. please bring back the column headers that were in ps3","commit_id":"2be21b072c1606777e25b68c6342b619c41a9345"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd0e92c69526320e87e59c505259894106447a6b","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":"\"\"\"Network agent action implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import command"},{"line_number":17,"context_line":"from openstackclient.common import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_d970e0a6","line":14,"updated":"2016-05-20 16:09:28.000000000","message":"This part name should be \"network_agent.py\".","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"9deb34b69755946ed5fc2cb3dafff439d15d8b29","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":"\"\"\"Network agent action implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import command"},{"line_number":17,"context_line":"from openstackclient.common import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_3ce51b37","line":14,"in_reply_to":"bab6814e_37013339","updated":"2016-07-28 10:38:59.000000000","message":"Done","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"fa6cb77009a6e3905a1dd7ba9bf70503bae74338","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":"\"\"\"Network agent action implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import command"},{"line_number":17,"context_line":"from openstackclient.common import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_37013339","line":14,"in_reply_to":"bab6814e_37713377","updated":"2016-05-20 17:06:41.000000000","message":"\"network_port.py\" is not used because the resource name is \"port\".  This is the general pattern used for part names which I think we should maintain.","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"9b88e5865b69fe266e31f67b10ecc3450cafef91","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":"\"\"\"Network agent action implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.common import command"},{"line_number":17,"context_line":"from openstackclient.common import utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_37713377","line":14,"in_reply_to":"bab6814e_d970e0a6","updated":"2016-05-20 16:55:00.000000000","message":"I\u0027m not sure I agree.  \"network_port.py\" is not used.  I specify \u0027network agent\u0027 for clarity, as there are compute agents.\n\nPerhaps I can change this line to just be \"Agent action implementations\"","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd0e92c69526320e87e59c505259894106447a6b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class DeleteAgent(command.Command):"},{"line_number":30,"context_line":"    \"\"\"Delete network agent\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_b94ebc6c","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":17},"updated":"2016-05-20 16:09:28.000000000","message":"The class names should be updated to match the command name which is \"network agent\".","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"fa6cb77009a6e3905a1dd7ba9bf70503bae74338","unresolved":false,"context_lines":[{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class DeleteAgent(command.Command):"},{"line_number":30,"context_line":"    \"\"\"Delete network agent\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_b769a3fb","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":17},"in_reply_to":"bab6814e_57fb17c1","updated":"2016-05-20 17:06:41.000000000","message":"There isn\u0027t a need to match the SDK names directly.  Again, the OSC resource name is what is most important in my opinion and is used as the pattern for class and part names.","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"9deb34b69755946ed5fc2cb3dafff439d15d8b29","unresolved":false,"context_lines":[{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class DeleteAgent(command.Command):"},{"line_number":30,"context_line":"    \"\"\"Delete network agent\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_7cd5d341","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":17},"in_reply_to":"bab6814e_b769a3fb","updated":"2016-07-28 10:38:59.000000000","message":"Done","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"9b88e5865b69fe266e31f67b10ecc3450cafef91","unresolved":false,"context_lines":[{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class DeleteAgent(command.Command):"},{"line_number":30,"context_line":"    \"\"\"Delete network agent\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_57fb17c1","line":29,"range":{"start_line":29,"start_character":12,"end_line":29,"end_character":17},"in_reply_to":"bab6814e_b94ebc6c","updated":"2016-05-20 16:55:00.000000000","message":"I have patterned these names in the same way as the Compute Agent.  This also matches the patch in the sdk.","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd0e92c69526320e87e59c505259894106447a6b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def get_parser(self, prog_name):"},{"line_number":33,"context_line":"        parser \u003d super(DeleteAgent, self).get_parser(prog_name)"},{"line_number":34,"context_line":"        parser.add_argument("},{"line_number":35,"context_line":"            \u0027agent\u0027,"},{"line_number":36,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":37,"context_line":"            help\u003d(\"Agent to delete (name or ID)\")"},{"line_number":38,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_997ad886","line":35,"range":{"start_line":35,"start_character":13,"end_line":35,"end_character":18},"updated":"2016-05-20 16:09:28.000000000","message":"This should be \"network-agent\" and is a general comment that applies throughout.","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"9deb34b69755946ed5fc2cb3dafff439d15d8b29","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def get_parser(self, prog_name):"},{"line_number":33,"context_line":"        parser \u003d super(DeleteAgent, self).get_parser(prog_name)"},{"line_number":34,"context_line":"        parser.add_argument("},{"line_number":35,"context_line":"            \u0027agent\u0027,"},{"line_number":36,"context_line":"            metavar\u003d\"\u003cagent\u003e\","},{"line_number":37,"context_line":"            help\u003d(\"Agent to delete (name or ID)\")"},{"line_number":38,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_5ca0cf9f","line":35,"range":{"start_line":35,"start_character":13,"end_line":35,"end_character":18},"in_reply_to":"bab6814e_997ad886","updated":"2016-07-28 10:38:59.000000000","message":"Done. Thanks.","commit_id":"3a5a1c4531d3c4f9be08c3c205fce28c223ca1e3"}],"openstackclient/network/v2/network_agent.py":[{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"6562d4d9b32055c4dbfd069dfe7db30a883cfcbb","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            \u0027Binary\u0027"},{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":"        filters \u003d {}"},{"line_number":95,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":96,"context_line":"        return (column_headers,"},{"line_number":97,"context_line":"                (utils.get_item_properties("},{"line_number":98,"context_line":"                    s, columns, formatters\u003d_formatters,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bacf61ea_9087c611","line":95,"range":{"start_line":95,"start_character":31,"end_line":95,"end_character":38},"updated":"2016-08-03 09:38:02.000000000","message":"this argument looks useless.","commit_id":"6fe7a63b949b77c62b1e5d119b6382ff46be962c"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"4e4a966451d655a49a2b57ff3180590ebd0ace58","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            \u0027Binary\u0027"},{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":"        filters \u003d {}"},{"line_number":95,"context_line":"        data \u003d client.agents(**filters)"},{"line_number":96,"context_line":"        return (column_headers,"},{"line_number":97,"context_line":"                (utils.get_item_properties("},{"line_number":98,"context_line":"                    s, columns, formatters\u003d_formatters,"}],"source_content_type":"text/x-python","patch_set":10,"id":"bacf61ea_c0e68de7","line":95,"range":{"start_line":95,"start_character":31,"end_line":95,"end_character":38},"in_reply_to":"bacf61ea_9087c611","updated":"2016-08-03 11:01:06.000000000","message":"Yes, this can be removed. Thanks.","commit_id":"6fe7a63b949b77c62b1e5d119b6382ff46be962c"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c69c5224da3d97f9de71bacc0afe41ab5dae86b8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            \u0027ID\u0027,"},{"line_number":87,"context_line":"            \u0027Agent Type\u0027,"},{"line_number":88,"context_line":"            \u0027Host\u0027,"},{"line_number":89,"context_line":"            \u0027Availability Zones\u0027,"},{"line_number":90,"context_line":"            \u0027Alive\u0027,"},{"line_number":91,"context_line":"            \u0027Admin State Up\u0027,"},{"line_number":92,"context_line":"            \u0027Binary\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_a43877ef","line":89,"range":{"start_line":89,"start_character":13,"end_line":89,"end_character":31},"updated":"2016-08-04 17:01:10.000000000","message":"Is this really a list?  If so then it should be formatted as such, else change this to \"Availability Zone\".","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"bb3eb1384a2779da1fdd5ef9806cffa019fac952","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            \u0027ID\u0027,"},{"line_number":87,"context_line":"            \u0027Agent Type\u0027,"},{"line_number":88,"context_line":"            \u0027Host\u0027,"},{"line_number":89,"context_line":"            \u0027Availability Zones\u0027,"},{"line_number":90,"context_line":"            \u0027Alive\u0027,"},{"line_number":91,"context_line":"            \u0027Admin State Up\u0027,"},{"line_number":92,"context_line":"            \u0027Binary\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_a85f970d","line":89,"range":{"start_line":89,"start_character":13,"end_line":89,"end_character":31},"in_reply_to":"bacf61ea_a43877ef","updated":"2016-08-05 08:25:24.000000000","message":"It should be \"Availability Zone\". Thanks!","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c69c5224da3d97f9de71bacc0afe41ab5dae86b8","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            \u0027Host\u0027,"},{"line_number":89,"context_line":"            \u0027Availability Zones\u0027,"},{"line_number":90,"context_line":"            \u0027Alive\u0027,"},{"line_number":91,"context_line":"            \u0027Admin State Up\u0027,"},{"line_number":92,"context_line":"            \u0027Binary\u0027"},{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":"        data \u003d client.agents()"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_846f33fb","line":91,"range":{"start_line":91,"start_character":13,"end_line":91,"end_character":27},"updated":"2016-08-04 17:01:10.000000000","message":"Other network commands use \"State\".","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"bb3eb1384a2779da1fdd5ef9806cffa019fac952","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            \u0027Host\u0027,"},{"line_number":89,"context_line":"            \u0027Availability Zones\u0027,"},{"line_number":90,"context_line":"            \u0027Alive\u0027,"},{"line_number":91,"context_line":"            \u0027Admin State Up\u0027,"},{"line_number":92,"context_line":"            \u0027Binary\u0027"},{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":"        data \u003d client.agents()"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_885c531a","line":91,"range":{"start_line":91,"start_character":13,"end_line":91,"end_character":27},"in_reply_to":"bacf61ea_846f33fb","updated":"2016-08-05 08:25:24.000000000","message":"Done","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c69c5224da3d97f9de71bacc0afe41ab5dae86b8","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":115,"context_line":"        obj \u003d client.get_agent(parsed_args.network_agent, ignore_missing\u003dFalse)"},{"line_number":116,"context_line":"        columns \u003d tuple(sorted(list(obj.keys())))"},{"line_number":117,"context_line":"        data \u003d utils.get_item_properties(obj, columns,)"},{"line_number":118,"context_line":"        return columns, data"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_0a3cedc6","line":117,"updated":"2016-08-04 17:01:10.000000000","message":"Missing formatter here","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"bb3eb1384a2779da1fdd5ef9806cffa019fac952","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":115,"context_line":"        obj \u003d client.get_agent(parsed_args.network_agent, ignore_missing\u003dFalse)"},{"line_number":116,"context_line":"        columns \u003d tuple(sorted(list(obj.keys())))"},{"line_number":117,"context_line":"        data \u003d utils.get_item_properties(obj, columns,)"},{"line_number":118,"context_line":"        return columns, data"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_e89b4fc7","line":117,"in_reply_to":"bacf61ea_0a3cedc6","updated":"2016-08-05 08:25:24.000000000","message":"Done","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"}],"openstackclient/tests/network/v2/fakes.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"c69c5224da3d97f9de71bacc0afe41ab5dae86b8","unresolved":false,"context_lines":[{"line_number":553,"context_line":"            network agents"},{"line_number":554,"context_line":"        \"\"\""},{"line_number":555,"context_line":"        if agents is None:"},{"line_number":556,"context_line":"            agents \u003d FakeRouter.create_network_agents(count)"},{"line_number":557,"context_line":"        return mock.MagicMock(side_effect\u003dagents)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_6a05a90f","line":556,"range":{"start_line":556,"start_character":21,"end_line":556,"end_character":31},"updated":"2016-08-04 17:01:10.000000000","message":"FakeNetworkAgent","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"bb3eb1384a2779da1fdd5ef9806cffa019fac952","unresolved":false,"context_lines":[{"line_number":553,"context_line":"            network agents"},{"line_number":554,"context_line":"        \"\"\""},{"line_number":555,"context_line":"        if agents is None:"},{"line_number":556,"context_line":"            agents \u003d FakeRouter.create_network_agents(count)"},{"line_number":557,"context_line":"        return mock.MagicMock(side_effect\u003dagents)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_a88dd77d","line":556,"range":{"start_line":556,"start_character":21,"end_line":556,"end_character":31},"in_reply_to":"bacf61ea_6a05a90f","updated":"2016-08-05 08:25:24.000000000","message":"Done","commit_id":"cfd0a085b1c7e3853b224ee094feab2d49328257"}],"releasenotes/notes/bp-implement-network-agents-5eba48796318f094.yaml":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e6cc3bd3e2a01e72849570ce915229f3a49c4a3e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add ``network agent delete``, ``network agent list`` and"},{"line_number":4,"context_line":"    ``network rbac create`` commands."},{"line_number":5,"context_line":"    [Blueprint `implement-network-agents \u003chttps://blueprints.launchpad.net/python-openstackclient/+spec/implement-network-agents\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bacf61ea_b7004b03","line":4,"range":{"start_line":4,"start_character":6,"end_line":4,"end_character":25},"updated":"2016-08-02 04:20:37.000000000","message":"network agent show*","commit_id":"076007b3ee63a9c833f4cad1b37f68ec0ff5a748"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"a170c581b743bfabcbcc195d457f581e885726fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add ``network agent delete``, ``network agent list`` and"},{"line_number":4,"context_line":"    ``network rbac create`` commands."},{"line_number":5,"context_line":"    [Blueprint `implement-network-agents \u003chttps://blueprints.launchpad.net/python-openstackclient/+spec/implement-network-agents\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bacf61ea_b22e9989","line":4,"range":{"start_line":4,"start_character":6,"end_line":4,"end_character":25},"in_reply_to":"bacf61ea_b7004b03","updated":"2016-08-02 04:24:34.000000000","message":"Done. Thanks.","commit_id":"076007b3ee63a9c833f4cad1b37f68ec0ff5a748"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1ecbb1c121cfc5c7858ea6cfa327a0c61df877c9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add ``network agent delete``, ``network agent list`` and"},{"line_number":4,"context_line":"    ``network rbac show`` commands."},{"line_number":5,"context_line":"    [Blueprint `implement-network-agents \u003chttps://blueprints.launchpad.net/python-openstackclient/+spec/implement-network-agents\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bacf61ea_6fc4225f","line":4,"range":{"start_line":4,"start_character":6,"end_line":4,"end_character":23},"updated":"2016-08-02 13:59:36.000000000","message":"network agent* show :)","commit_id":"b2d8e9bae81d92bf3ce8baa0de17136e3ece8f79"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"51d1c011294235daa19660103b9fe2a8fc897cee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add ``network agent delete``, ``network agent list`` and"},{"line_number":4,"context_line":"    ``network rbac show`` commands."},{"line_number":5,"context_line":"    [Blueprint `implement-network-agents \u003chttps://blueprints.launchpad.net/python-openstackclient/+spec/implement-network-agents\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bacf61ea_79720faf","line":4,"range":{"start_line":4,"start_character":6,"end_line":4,"end_character":23},"in_reply_to":"bacf61ea_1e93f9fb","updated":"2016-08-03 01:59:06.000000000","message":"its all good :)","commit_id":"b2d8e9bae81d92bf3ce8baa0de17136e3ece8f79"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"0ee1c5f0ddfeefa5acadf378a9ec6f9a92de19cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add ``network agent delete``, ``network agent list`` and"},{"line_number":4,"context_line":"    ``network rbac show`` commands."},{"line_number":5,"context_line":"    [Blueprint `implement-network-agents \u003chttps://blueprints.launchpad.net/python-openstackclient/+spec/implement-network-agents\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bacf61ea_1e93f9fb","line":4,"range":{"start_line":4,"start_character":6,"end_line":4,"end_character":23},"in_reply_to":"bacf61ea_6fc4225f","updated":"2016-08-03 01:46:14.000000000","message":"I am sorry for my careless :(\nThank you Steve.","commit_id":"b2d8e9bae81d92bf3ce8baa0de17136e3ece8f79"}],"requirements.txt":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2929cdb30b77a3f715da15af5c67c15ff62726fb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d2.3.4 # BSD"},{"line_number":8,"context_line":"cliff!\u003d1.16.0,!\u003d1.17.0,\u003e\u003d1.15.0 # Apache-2.0"},{"line_number":9,"context_line":"keystoneauth1\u003e\u003d2.1.0 # Apache-2.0"},{"line_number":10,"context_line":"#openstacksdk\u003e\u003d0.8.5 # Apache-2.0"},{"line_number":11,"context_line":"os-client-config\u003e\u003d1.13.1 # Apache-2.0"},{"line_number":12,"context_line":"oslo.config\u003e\u003d3.9.0 # Apache-2.0"},{"line_number":13,"context_line":"oslo.i18n\u003e\u003d2.1.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":2,"id":"dab17558_dd6e7c95","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":13},"updated":"2016-05-13 05:30:01.000000000","message":"i understand this is probably for testing your SDK change, but no need to check this in","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"22c5ee3458bf5c275ebdf55f8cf9b150b8db9600","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d2.3.4 # BSD"},{"line_number":8,"context_line":"cliff!\u003d1.16.0,!\u003d1.17.0,\u003e\u003d1.15.0 # Apache-2.0"},{"line_number":9,"context_line":"keystoneauth1\u003e\u003d2.1.0 # Apache-2.0"},{"line_number":10,"context_line":"#openstacksdk\u003e\u003d0.8.5 # Apache-2.0"},{"line_number":11,"context_line":"os-client-config\u003e\u003d1.13.1 # Apache-2.0"},{"line_number":12,"context_line":"oslo.config\u003e\u003d3.9.0 # Apache-2.0"},{"line_number":13,"context_line":"oslo.i18n\u003e\u003d2.1.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":2,"id":"dab17558_8b04857e","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":13},"in_reply_to":"dab17558_dd6e7c95","updated":"2016-05-13 18:54:51.000000000","message":"Done","commit_id":"6a383ae42583f8d1589b7a77f551ff27a1eb6127"}],"setup.cfg":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"14c465dfba03438ff11526b0f591df5f6d996363","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    image_set \u003d openstackclient.image.v2.image:SetImage"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"openstack.network.v2 \u003d"},{"line_number":327,"context_line":"    network_agent_delete \u003d openstackclient.network.v2.agent:DeleteAgent"},{"line_number":328,"context_line":"    network_agent_list \u003d openstackclient.network.v2.agent:ListAgent"},{"line_number":329,"context_line":"    network_agent_show \u003d openstackclient.network.v2.agent:ShowAgent"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"    address_scope_create \u003d openstackclient.network.v2.address_scope:CreateAddressScope"},{"line_number":332,"context_line":"    address_scope_delete \u003d openstackclient.network.v2.address_scope:DeleteAddressScope"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"dab17558_71ddcf13","line":329,"range":{"start_line":327,"start_character":0,"end_line":329,"end_character":67},"updated":"2016-05-13 21:52:35.000000000","message":"keep these alphabetical, so above the \"network_create\" commands","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"},{"author":{"_account_id":20038,"name":"Michael Gugino","email":"michael.gugino@walmart.com","username":"michaelgugino"},"change_message_id":"dcac840f32dfeb8afe59ba2028b25e5656a28314","unresolved":false,"context_lines":[{"line_number":324,"context_line":"    image_set \u003d openstackclient.image.v2.image:SetImage"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"openstack.network.v2 \u003d"},{"line_number":327,"context_line":"    network_agent_delete \u003d openstackclient.network.v2.agent:DeleteAgent"},{"line_number":328,"context_line":"    network_agent_list \u003d openstackclient.network.v2.agent:ListAgent"},{"line_number":329,"context_line":"    network_agent_show \u003d openstackclient.network.v2.agent:ShowAgent"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"    address_scope_create \u003d openstackclient.network.v2.address_scope:CreateAddressScope"},{"line_number":332,"context_line":"    address_scope_delete \u003d openstackclient.network.v2.address_scope:DeleteAddressScope"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"bab6814e_4baffd29","line":329,"range":{"start_line":327,"start_character":0,"end_line":329,"end_character":67},"in_reply_to":"dab17558_71ddcf13","updated":"2016-05-20 14:58:42.000000000","message":"Done","commit_id":"afe6b9ec143d1d2c44434936b582815d5892a406"}]}
