)]}'
{"ironicclient/osc/v1/baremetal_node.py":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"9e7baaf928dd0c0bea71e62e338541c8e7b018a2","unresolved":false,"context_lines":[{"line_number":587,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":588,"context_line":"            help\u003d\u0027Instance information to set on this baremetal node \u0027"},{"line_number":589,"context_line":"                 \u0027(repeat option to set multiple instance infos)\u0027,"},{"line_number":590,"context_line":"        )"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"        return parser"},{"line_number":593,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"fad55976_b89010ee","line":590,"updated":"2016-07-15 22:19:06.000000000","message":"We probably want to add --network-interface here too, right?","commit_id":"aa8a5f67f16e9fb7f62d0d74d07e2e12af572d51"}],"ironicclient/osc/v1/baremetal_port.py":[{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"8ec243de2d290ddd7c4428e16f0ee849b4fbf392","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":53,"context_line":"            help\u003d\"Key/value metadata describing Local link connection \""},{"line_number":54,"context_line":"                 \"information. Valid keys are switch_info, switch_id, \""},{"line_number":55,"context_line":"                 \"port_id. Can be specified multiple times\")"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--pxe-enabled\u0027,"},{"line_number":58,"context_line":"            metavar\u003d\u0027\u003cboolean\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"1aa78d24_e639ffd9","line":55,"updated":"2016-07-15 13:55:59.000000000","message":".","commit_id":"5a9b6021d240d965c52bbcd344f76e34db5ca5ca"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a09892939bd253b3f89b93ea06801a72c7b1b0fa","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":53,"context_line":"            help\u003d\"Key/value metadata describing Local link connection \""},{"line_number":54,"context_line":"                 \"information. Valid keys are switch_info, switch_id, \""},{"line_number":55,"context_line":"                 \"port_id. Can be specified multiple times\")"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--pxe-enabled\u0027,"},{"line_number":58,"context_line":"            metavar\u003d\u0027\u003cboolean\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"fad55976_0a659be0","line":55,"in_reply_to":"1aa78d24_e639ffd9","updated":"2016-07-15 14:36:41.000000000","message":"Done","commit_id":"5a9b6021d240d965c52bbcd344f76e34db5ca5ca"}],"ironicclient/tests/unit/v1/test_node.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":56,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":57,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":58,"context_line":"             \u0027name\u0027: \u0027Port name\u0027,"},{"line_number":59,"context_line":"             \u0027node_id\u0027: \u002766666666-7777-8888-9999-000000000000\u0027,"},{"line_number":60,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":61,"context_line":"             \u0027extra\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_1107e018","line":58,"updated":"2016-03-09 16:57:41.000000000","message":"Portgroup","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":56,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":57,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":58,"context_line":"             \u0027name\u0027: \u0027Port name\u0027,"},{"line_number":59,"context_line":"             \u0027node_id\u0027: \u002766666666-7777-8888-9999-000000000000\u0027,"},{"line_number":60,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":61,"context_line":"             \u0027extra\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_85649de5","line":58,"in_reply_to":"5aef4532_1107e018","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":56,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":57,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":58,"context_line":"             \u0027name\u0027: \u0027Port name\u0027,"},{"line_number":59,"context_line":"             \u0027node_id\u0027: \u002766666666-7777-8888-9999-000000000000\u0027,"},{"line_number":60,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":61,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_115520f9","line":59,"updated":"2016-03-09 16:57:41.000000000","message":"Should be 123 here.","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":56,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":57,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":58,"context_line":"             \u0027name\u0027: \u0027Port name\u0027,"},{"line_number":59,"context_line":"             \u0027node_id\u0027: \u002766666666-7777-8888-9999-000000000000\u0027,"},{"line_number":60,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":61,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_e563e1da","line":59,"in_reply_to":"5aef4532_115520f9","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"3d697933aec149ef829d1294e9d18795e67f7108","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        \u0027address\u0027: \u0027AA:AA:AA:AA:AA:AA\u0027,"},{"line_number":55,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":56,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":57,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":58,"context_line":"             \u0027name\u0027: \u0027Portgroup\u0027,"},{"line_number":59,"context_line":"             \u0027node_id\u0027: 123,"},{"line_number":60,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"fa0719c6_7db128e1","line":57,"range":{"start_line":57,"start_character":22,"end_line":57,"end_character":58},"updated":"2016-03-22 09:55:25.000000000","message":"Should we need a different fake uuid against the PORT\u0027s?","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"524ebd8b6fce7751d0a57752543f7372d53c01eb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        \u0027address\u0027: \u0027AA:AA:AA:AA:AA:AA\u0027,"},{"line_number":55,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":56,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":57,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":58,"context_line":"             \u0027name\u0027: \u0027Portgroup\u0027,"},{"line_number":59,"context_line":"             \u0027node_id\u0027: 123,"},{"line_number":60,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_fb2d07a9","line":57,"range":{"start_line":57,"start_character":22,"end_line":57,"end_character":58},"in_reply_to":"fa0719c6_7db128e1","updated":"2016-04-06 13:15:48.000000000","message":"port and portgroup uuid may be the same.","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"}],"ironicclient/tests/unit/v1/test_portgroup.py":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"49fe187a0b7cede09c54c7fac3e89d0b642d2c8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_a9cb20a3","line":1,"updated":"2015-09-06 12:35:08.000000000","message":"s/2013 Red Hat, Inc/2015  SAP Ltd/ ?","commit_id":"bf43019d94f8bff11b1efaf6db873f0020379996"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":24,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":25,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":26,"context_line":"             \u0027name\u0027: \u0027Port name\u0027,"},{"line_number":27,"context_line":"             \u0027node_uuid\u0027: 12,"},{"line_number":28,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":29,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_711bc4ca","line":27,"updated":"2016-03-09 16:57:41.000000000","message":"Should be uuid here instead of 12.","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":24,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":25,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":26,"context_line":"             \u0027name\u0027: \u0027Port name\u0027,"},{"line_number":27,"context_line":"             \u0027node_uuid\u0027: 12,"},{"line_number":28,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":29,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_05ed2d25","line":27,"in_reply_to":"5aef4532_711bc4ca","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"PORTGROUP2 \u003d {\u0027id\u0027: 988,"},{"line_number":32,"context_line":"              \u0027uuid\u0027: \u002755555555-4444-3333-2222-111111111111\u0027,"},{"line_number":33,"context_line":"              \u0027name\u0027: \u0027Port2 name\u0027,"},{"line_number":34,"context_line":"              \u0027node_uuid\u0027: 103,"},{"line_number":35,"context_line":"              \u0027address\u0027: \u0027AA:AA:AA:BB:BB:BB\u0027,"},{"line_number":36,"context_line":"              \u0027extra\u0027: {}}"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_1181a0c3","line":34,"updated":"2016-03-09 16:57:41.000000000","message":"ditto","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"PORTGROUP2 \u003d {\u0027id\u0027: 988,"},{"line_number":32,"context_line":"              \u0027uuid\u0027: \u002755555555-4444-3333-2222-111111111111\u0027,"},{"line_number":33,"context_line":"              \u0027name\u0027: \u0027Port2 name\u0027,"},{"line_number":34,"context_line":"              \u0027node_uuid\u0027: 103,"},{"line_number":35,"context_line":"              \u0027address\u0027: \u0027AA:AA:AA:BB:BB:BB\u0027,"},{"line_number":36,"context_line":"              \u0027extra\u0027: {}}"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_65f4f1f1","line":34,"in_reply_to":"5aef4532_1181a0c3","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"7a1ceaf60eb5f13f19e1271aeb21c37744ef5543","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    def test_portgroups_list_sort_dir(self):"},{"line_number":222,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_sorting)"},{"line_number":223,"context_line":"        self.mgr \u003d ironicclient.v1.portgroup.PortgroupManager(self.api)"},{"line_number":224,"context_line":"        ports \u003d self.mgr.list(sort_dir\u003d\u0027desc\u0027)"},{"line_number":225,"context_line":"        expect \u003d ["},{"line_number":226,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups/?sort_dir\u003ddesc\u0027, {}, None)"},{"line_number":227,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_2fadf131","line":224,"range":{"start_line":224,"start_character":8,"end_line":224,"end_character":13},"updated":"2016-03-15 12:46:13.000000000","message":"s/ports/portgroups/","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"db095f5bb6497c11c4e48f26a6133d662d1cdc68","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    def test_portgroups_list_sort_dir(self):"},{"line_number":222,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_sorting)"},{"line_number":223,"context_line":"        self.mgr \u003d ironicclient.v1.portgroup.PortgroupManager(self.api)"},{"line_number":224,"context_line":"        ports \u003d self.mgr.list(sort_dir\u003d\u0027desc\u0027)"},{"line_number":225,"context_line":"        expect \u003d ["},{"line_number":226,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups/?sort_dir\u003ddesc\u0027, {}, None)"},{"line_number":227,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_90e542aa","line":224,"range":{"start_line":224,"start_character":8,"end_line":224,"end_character":13},"in_reply_to":"1af94dfe_2fadf131","updated":"2016-03-15 13:33:51.000000000","message":"Done","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"7a1ceaf60eb5f13f19e1271aeb21c37744ef5543","unresolved":false,"context_lines":[{"line_number":226,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups/?sort_dir\u003ddesc\u0027, {}, None)"},{"line_number":227,"context_line":"        ]"},{"line_number":228,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":229,"context_line":"        self.assertEqual(2, len(ports))"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def test_portgroups_show(self):"},{"line_number":232,"context_line":"        portgroup \u003d self.mgr.get(PORTGROUP[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_ef7149e2","line":229,"range":{"start_line":229,"start_character":32,"end_line":229,"end_character":37},"updated":"2016-03-15 12:46:13.000000000","message":"ditto","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"db095f5bb6497c11c4e48f26a6133d662d1cdc68","unresolved":false,"context_lines":[{"line_number":226,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups/?sort_dir\u003ddesc\u0027, {}, None)"},{"line_number":227,"context_line":"        ]"},{"line_number":228,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":229,"context_line":"        self.assertEqual(2, len(ports))"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def test_portgroups_show(self):"},{"line_number":232,"context_line":"        portgroup \u003d self.mgr.get(PORTGROUP[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_d094eae9","line":229,"range":{"start_line":229,"start_character":32,"end_line":229,"end_character":37},"in_reply_to":"1af94dfe_ef7149e2","updated":"2016-03-15 13:33:51.000000000","message":"Done","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"}],"ironicclient/tests/unit/v1/test_portgroup_shell.py":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"49fe187a0b7cede09c54c7fac3e89d0b642d2c8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 IBM Corp"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_69c2e886","line":1,"updated":"2015-09-06 12:35:08.000000000","message":"s/2013 IBM Corg/2015 SAP Ltd/ ?","commit_id":"bf43019d94f8bff11b1efaf6db873f0020379996"}],"ironicclient/v1/node.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"987fe21cc506b73e8545f8088f460eb80d3e624c","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"        :returns: A list of portgroups."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":"        if limit is not None:"},{"line_number":202,"context_line":"            limit \u003d int(limit)"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_4636ca04","line":200,"range":{"start_line":200,"start_character":7,"end_line":200,"end_character":11},"updated":"2015-12-22 22:25:06.000000000","message":"This method raise InvalidAttribute exception, it should be noticed at docstring","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3fdf119f693551f6918bc2491687c1d9bc57dbf7","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"        :returns: A list of portgroups."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":"        if limit is not None:"},{"line_number":202,"context_line":"            limit \u003d int(limit)"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_226c0934","line":200,"range":{"start_line":200,"start_character":7,"end_line":200,"end_character":11},"in_reply_to":"1a7b0d38_4636ca04","updated":"2016-01-18 16:03:29.000000000","message":"Done","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"}],"ironicclient/v1/node_shell.py":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    help\u003d\"Unique name for the node.\")"},{"line_number":242,"context_line":"@cliutils.arg("},{"line_number":243,"context_line":"    \u0027--network-provider\u0027,"},{"line_number":244,"context_line":"    metavar\u003d\u0027\u003cnetwork_provider\u0027,"},{"line_number":245,"context_line":"    help\u003d\"Network provider used for switching node to cleaning/provisioning\""},{"line_number":246,"context_line":"    \" networks.\")"},{"line_number":247,"context_line":"def do_node_create(cc, args):"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_e45e1511","line":244,"range":{"start_line":244,"start_character":13,"end_line":244,"end_character":30},"updated":"2016-03-09 08:20:44.000000000","message":"missing \u0027\u003e\u0027\ns/\u003cnetwork_provider/\u003cnetwork_provider\u003e","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    help\u003d\"Unique name for the node.\")"},{"line_number":242,"context_line":"@cliutils.arg("},{"line_number":243,"context_line":"    \u0027--network-provider\u0027,"},{"line_number":244,"context_line":"    metavar\u003d\u0027\u003cnetwork_provider\u0027,"},{"line_number":245,"context_line":"    help\u003d\"Network provider used for switching node to cleaning/provisioning\""},{"line_number":246,"context_line":"    \" networks.\")"},{"line_number":247,"context_line":"def do_node_create(cc, args):"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_a7afe628","line":244,"range":{"start_line":244,"start_character":13,"end_line":244,"end_character":30},"in_reply_to":"5aef4532_e45e1511","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"058b3443e0750eb8071ed546c9b29626bf265de8","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    \u0027--network-provider\u0027,"},{"line_number":244,"context_line":"    metavar\u003d\u0027\u003cnetwork_provider\u0027,"},{"line_number":245,"context_line":"    help\u003d\"Network provider used for switching node to cleaning/provisioning\""},{"line_number":246,"context_line":"    \" networks.\")"},{"line_number":247,"context_line":"def do_node_create(cc, args):"},{"line_number":248,"context_line":"    \"\"\"Register a new node with the Ironic service.\"\"\""},{"line_number":249,"context_line":"    field_list \u003d [\u0027chassis_uuid\u0027, \u0027driver\u0027, \u0027driver_info\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_4aba7dc1","line":246,"range":{"start_line":246,"start_character":0,"end_line":246,"end_character":4},"updated":"2016-03-09 02:19:47.000000000","message":"more indention for consistency.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    \u0027--network-provider\u0027,"},{"line_number":244,"context_line":"    metavar\u003d\u0027\u003cnetwork_provider\u0027,"},{"line_number":245,"context_line":"    help\u003d\"Network provider used for switching node to cleaning/provisioning\""},{"line_number":246,"context_line":"    \" networks.\")"},{"line_number":247,"context_line":"def do_node_create(cc, args):"},{"line_number":248,"context_line":"    \"\"\"Register a new node with the Ironic service.\"\"\""},{"line_number":249,"context_line":"    field_list \u003d [\u0027chassis_uuid\u0027, \u0027driver\u0027, \u0027driver_info\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_27511637","line":246,"range":{"start_line":246,"start_character":0,"end_line":246,"end_character":4},"in_reply_to":"5aef4532_4aba7dc1","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"058b3443e0750eb8071ed546c9b29626bf265de8","unresolved":false,"context_lines":[{"line_number":454,"context_line":""},{"line_number":455,"context_line":"    params \u003d utils.common_params_for_list(args, fields, field_labels)"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    portgroups \u003d cc.node.list_portgroups(args.node, **params)"},{"line_number":458,"context_line":"    cliutils.print_list(portgroups, fields,"},{"line_number":459,"context_line":"                        field_labels\u003dfield_labels,"},{"line_number":460,"context_line":"                        sortby_index\u003dNone)"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_ad219ba1","line":457,"range":{"start_line":457,"start_character":52,"end_line":457,"end_character":60},"updated":"2016-03-09 02:19:47.000000000","message":"Is sort param omitted here?","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":454,"context_line":""},{"line_number":455,"context_line":"    params \u003d utils.common_params_for_list(args, fields, field_labels)"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    portgroups \u003d cc.node.list_portgroups(args.node, **params)"},{"line_number":458,"context_line":"    cliutils.print_list(portgroups, fields,"},{"line_number":459,"context_line":"                        field_labels\u003dfield_labels,"},{"line_number":460,"context_line":"                        sortby_index\u003dNone)"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_af121855","line":457,"range":{"start_line":457,"start_character":52,"end_line":457,"end_character":60},"in_reply_to":"5aef4532_ad219ba1","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":469,"context_line":"        fields \u003d res_fields.PORTGROUP_RESOURCE.fields"},{"line_number":470,"context_line":"        field_labels \u003d res_fields.PORTGROUP_RESOURCE.labels"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    sort_fields \u003d res_fields.PORT_DETAILED_RESOURCE.sort_fields"},{"line_number":473,"context_line":"    sort_field_labels \u003d res_fields.PORT_DETAILED_RESOURCE.sort_labels"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    params \u003d utils.common_params_for_list(args, sort_fields,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_94b75e39","line":472,"updated":"2016-03-09 16:57:41.000000000","message":"PORTGROUP","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":469,"context_line":"        fields \u003d res_fields.PORTGROUP_RESOURCE.fields"},{"line_number":470,"context_line":"        field_labels \u003d res_fields.PORTGROUP_RESOURCE.labels"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    sort_fields \u003d res_fields.PORT_DETAILED_RESOURCE.sort_fields"},{"line_number":473,"context_line":"    sort_field_labels \u003d res_fields.PORT_DETAILED_RESOURCE.sort_labels"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    params \u003d utils.common_params_for_list(args, sort_fields,"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_65cb51a6","line":472,"in_reply_to":"5aef4532_94b75e39","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        field_labels \u003d res_fields.PORTGROUP_RESOURCE.labels"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    sort_fields \u003d res_fields.PORT_DETAILED_RESOURCE.sort_fields"},{"line_number":473,"context_line":"    sort_field_labels \u003d res_fields.PORT_DETAILED_RESOURCE.sort_labels"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    params \u003d utils.common_params_for_list(args, sort_fields,"},{"line_number":476,"context_line":"                                          sort_field_labels)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_147a2e77","line":473,"updated":"2016-03-09 16:57:41.000000000","message":"PORTGROUP","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        field_labels \u003d res_fields.PORTGROUP_RESOURCE.labels"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    sort_fields \u003d res_fields.PORT_DETAILED_RESOURCE.sort_fields"},{"line_number":473,"context_line":"    sort_field_labels \u003d res_fields.PORT_DETAILED_RESOURCE.sort_labels"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    params \u003d utils.common_params_for_list(args, sort_fields,"},{"line_number":476,"context_line":"                                          sort_field_labels)"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_45ce15b5","line":473,"in_reply_to":"5aef4532_147a2e77","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ee0b0f3e49aa3bdc9ad0b5f692a4b8f6650e2f68","unresolved":false,"context_lines":[{"line_number":205,"context_line":"@cliutils.arg("},{"line_number":206,"context_line":"    \u0027--network-interface\u0027,"},{"line_number":207,"context_line":"    metavar\u003d\u0027\u003cnetwork_interface\u003e\u0027,"},{"line_number":208,"context_line":"    help\u003d\u0027Network interface used for switching node to cleaning/provisioning \u0027"},{"line_number":209,"context_line":"         \u0027networks.\u0027)"},{"line_number":210,"context_line":"def do_node_create(cc, args):"},{"line_number":211,"context_line":"    \"\"\"Register a new node with the Ironic service.\"\"\""}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_d74a0f5b","line":208,"range":{"start_line":208,"start_character":37,"end_line":208,"end_character":76},"updated":"2016-07-13 20:13:44.000000000","message":"nit: Maybe say that it is used for \"network interface handling\" since tenant networking goes beyond cleaning/provisioning,","commit_id":"671d59412ad306028128974716caf64e6b93d7c0"}],"ironicclient/v1/port.py":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class PortManager(base.CreateManager):"},{"line_number":29,"context_line":"    resource_class \u003d Port"},{"line_number":30,"context_line":"    _creation_attributes \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027uuid\u0027,"},{"line_number":31,"context_line":"                            \u0027local_link_connection\u0027, \u0027portgroup_uuid\u0027,"},{"line_number":32,"context_line":"                            \u0027pxe_enabled\u0027]"},{"line_number":33,"context_line":"    _resource_name \u003d \u0027ports\u0027"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def list(self, address\u003dNone, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_645cc5ed","line":32,"range":{"start_line":30,"start_character":27,"end_line":32,"end_character":42},"updated":"2016-03-09 08:20:44.000000000","message":"nits: it is better that we have sorted list here for easy reading.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class PortManager(base.CreateManager):"},{"line_number":29,"context_line":"    resource_class \u003d Port"},{"line_number":30,"context_line":"    _creation_attributes \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027uuid\u0027,"},{"line_number":31,"context_line":"                            \u0027local_link_connection\u0027, \u0027portgroup_uuid\u0027,"},{"line_number":32,"context_line":"                            \u0027pxe_enabled\u0027]"},{"line_number":33,"context_line":"    _resource_name \u003d \u0027ports\u0027"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def list(self, address\u003dNone, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_a58079f8","line":32,"range":{"start_line":30,"start_character":27,"end_line":32,"end_character":42},"in_reply_to":"5aef4532_645cc5ed","updated":"2016-03-09 13:19:42.000000000","message":"Done. Also applied in portgroup.py. This comment also applies in node.py and chassis.py (for later consideration).","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"}],"ironicclient/v1/port_shell.py":[{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"7a8970db6bd991cc3982bc513d1db952033aa7f8","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":149,"context_line":"    help\u003d\"Key/value metadata describing Local link connection information. \""},{"line_number":150,"context_line":"    \"Valid keys include local_link_connection, portgroup_id and pxe_enabled. \""},{"line_number":151,"context_line":"    \"Can be specified multiple times\")"},{"line_number":152,"context_line":"@cliutils.arg("},{"line_number":153,"context_line":"    \u0027--portgroup-uuid\u0027,"},{"line_number":154,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","}],"source_content_type":"text/x-python","patch_set":15,"id":"5a5ae5dd_8c092b98","line":151,"range":{"start_line":151,"start_character":36,"end_line":151,"end_character":38},"updated":"2016-02-03 13:55:19.000000000","message":"should valid keys be: switch_info, switch_id, port_id?","commit_id":"bfd5578ff75db9f75e6c7aa00be8bb37ea6f76fe"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"c025a92835fdfada6b7e24b7cabbad83728c3d7e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":149,"context_line":"    help\u003d\"Key/value metadata describing Local link connection information. \""},{"line_number":150,"context_line":"    \"Valid keys include local_link_connection, portgroup_id and pxe_enabled. \""},{"line_number":151,"context_line":"    \"Can be specified multiple times\")"},{"line_number":152,"context_line":"@cliutils.arg("},{"line_number":153,"context_line":"    \u0027--portgroup-uuid\u0027,"},{"line_number":154,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","}],"source_content_type":"text/x-python","patch_set":15,"id":"5a5ae5dd_543d4cdb","line":151,"range":{"start_line":151,"start_character":36,"end_line":151,"end_character":38},"in_reply_to":"5a5ae5dd_8c092b98","updated":"2016-02-08 08:31:39.000000000","message":"Done","commit_id":"bfd5578ff75db9f75e6c7aa00be8bb37ea6f76fe"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"7c605bec32cae01a85f17c84af5bd95ec98e3753","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":149,"context_line":"    help\u003d\"Key/value metadata describing Local link connection information. \""},{"line_number":150,"context_line":"    \"Valid keys include local_link_connection, portgroup_id and pxe_enabled. \""},{"line_number":151,"context_line":"    \"Can be specified multiple times\")"},{"line_number":152,"context_line":"@cliutils.arg("},{"line_number":153,"context_line":"    \u0027--portgroup-uuid\u0027,"},{"line_number":154,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","}],"source_content_type":"text/x-python","patch_set":15,"id":"5a5ae5dd_417211e7","line":151,"range":{"start_line":151,"start_character":36,"end_line":151,"end_character":38},"in_reply_to":"5a5ae5dd_8c092b98","updated":"2016-02-03 17:11:47.000000000","message":"I think you are right. This should be corrected.","commit_id":"bfd5578ff75db9f75e6c7aa00be8bb37ea6f76fe"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"8ec243de2d290ddd7c4428e16f0ee849b4fbf392","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":150,"context_line":"    help\u003d\"Key/value metadata describing Local link connection information. \""},{"line_number":151,"context_line":"    \"Valid keys are switch_info, switch_id, port_id.\""},{"line_number":152,"context_line":"    \"Can be specified multiple times\")"},{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--pxe-enabled\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\u0027\u003cboolean\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"1aa78d24_a6a41708","line":152,"updated":"2016-07-15 13:55:59.000000000","message":".","commit_id":"5a9b6021d240d965c52bbcd344f76e34db5ca5ca"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a09892939bd253b3f89b93ea06801a72c7b1b0fa","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":150,"context_line":"    help\u003d\"Key/value metadata describing Local link connection information. \""},{"line_number":151,"context_line":"    \"Valid keys are switch_info, switch_id, port_id.\""},{"line_number":152,"context_line":"    \"Can be specified multiple times\")"},{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--pxe-enabled\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\u0027\u003cboolean\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"fad55976_6af1b7cd","line":152,"in_reply_to":"1aa78d24_a6a41708","updated":"2016-07-15 14:36:41.000000000","message":"Done","commit_id":"5a9b6021d240d965c52bbcd344f76e34db5ca5ca"}],"ironicclient/v1/portgroup.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"b552705f82cc1fcbf04de3035eb93b6e83af946b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from ironicclient.common import base"},{"line_number":17,"context_line":"from ironicclient.common import utils"},{"line_number":18,"context_line":"from ironicclient import exc"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a740942_88570157","line":16,"updated":"2015-12-09 05:07:47.000000000","message":"from ironicclient.common.i18n import _\n\nyou use _() below but not import.","commit_id":"2bb0376a89eaa52eee8a804a395add571300d0b5"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"92a4323184648f2ecf78bcbde9111030f1bb20fb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from ironicclient.common import base"},{"line_number":17,"context_line":"from ironicclient.common import utils"},{"line_number":18,"context_line":"from ironicclient import exc"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a710552_84eecf20","line":16,"in_reply_to":"7a740942_88570157","updated":"2015-12-15 11:31:23.000000000","message":"Done","commit_id":"2bb0376a89eaa52eee8a804a395add571300d0b5"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"987fe21cc506b73e8545f8088f460eb80d3e624c","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        :returns: A list of portgroups."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        if limit is not None:"},{"line_number":68,"context_line":"            limit \u003d int(limit)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_a6b0ce8c","line":66,"range":{"start_line":66,"start_character":7,"end_line":66,"end_character":11},"updated":"2015-12-22 22:25:06.000000000","message":"raises is missed here","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3fdf119f693551f6918bc2491687c1d9bc57dbf7","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        :returns: A list of portgroups."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        if limit is not None:"},{"line_number":68,"context_line":"            limit \u003d int(limit)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_827cd5ec","line":66,"range":{"start_line":66,"start_character":7,"end_line":66,"end_character":11},"in_reply_to":"1a7b0d38_a6b0ce8c","updated":"2016-01-18 16:03:29.000000000","message":"Done","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"987fe21cc506b73e8545f8088f460eb80d3e624c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":92,"context_line":"        return self._get(resource_id\u003dportgroup_id, fields\u003dfields)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":95,"context_line":"        path \u003d \u0027?address\u003d%s\u0027 % address"},{"line_number":96,"context_line":"        if fields is not None:"},{"line_number":97,"context_line":"            path +\u003d \u0027\u0026fields\u003d\u0027 + \u0027,\u0027.join(fields)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_66fc263f","line":94,"range":{"start_line":94,"start_character":8,"end_line":94,"end_character":22},"updated":"2015-12-22 22:25:06.000000000","message":"please add docstring here","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3fdf119f693551f6918bc2491687c1d9bc57dbf7","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":92,"context_line":"        return self._get(resource_id\u003dportgroup_id, fields\u003dfields)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":95,"context_line":"        path \u003d \u0027?address\u003d%s\u0027 % address"},{"line_number":96,"context_line":"        if fields is not None:"},{"line_number":97,"context_line":"            path +\u003d \u0027\u0026fields\u003d\u0027 + \u0027,\u0027.join(fields)"}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_5d6fa0fb","line":94,"range":{"start_line":94,"start_character":8,"end_line":94,"end_character":22},"in_reply_to":"1a7b0d38_66fc263f","updated":"2016-01-18 16:03:29.000000000","message":"Done","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"987fe21cc506b73e8545f8088f460eb80d3e624c","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            raise exc.NotFound()"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def delete(self, portgroup_id):"},{"line_number":111,"context_line":"        return self._delete(resource_id\u003dportgroup_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def update(self, portgroup_id, patch):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_06a44255","line":110,"range":{"start_line":110,"start_character":8,"end_line":110,"end_character":14},"updated":"2015-12-22 22:25:06.000000000","message":"ditto","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3fdf119f693551f6918bc2491687c1d9bc57dbf7","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        else:"},{"line_number":108,"context_line":"            raise exc.NotFound()"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def delete(self, portgroup_id):"},{"line_number":111,"context_line":"        return self._delete(resource_id\u003dportgroup_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def update(self, portgroup_id, patch):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_1d7608d7","line":110,"range":{"start_line":110,"start_character":8,"end_line":110,"end_character":14},"in_reply_to":"1a7b0d38_06a44255","updated":"2016-01-18 16:03:29.000000000","message":"Done","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"987fe21cc506b73e8545f8088f460eb80d3e624c","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    def delete(self, portgroup_id):"},{"line_number":111,"context_line":"        return self._delete(resource_id\u003dportgroup_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def update(self, portgroup_id, patch):"},{"line_number":114,"context_line":"        return self._update(resource_id\u003dportgroup_id, patch\u003dpatch)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_869032ee","line":113,"range":{"start_line":113,"start_character":8,"end_line":113,"end_character":14},"updated":"2015-12-22 22:25:06.000000000","message":"ditto","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3fdf119f693551f6918bc2491687c1d9bc57dbf7","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    def delete(self, portgroup_id):"},{"line_number":111,"context_line":"        return self._delete(resource_id\u003dportgroup_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def update(self, portgroup_id, patch):"},{"line_number":114,"context_line":"        return self._update(resource_id\u003dportgroup_id, patch\u003dpatch)"}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_bd801c8c","line":113,"range":{"start_line":113,"start_character":8,"end_line":113,"end_character":14},"in_reply_to":"1a7b0d38_869032ee","updated":"2016-01-18 16:03:29.000000000","message":"Done","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_44b709d8","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":23},"updated":"2016-03-09 08:20:44.000000000","message":"not sure if this is required, by default python code is utf-8 code.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_0fe4eca9","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":23},"in_reply_to":"5aef4532_44b709d8","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":33,"context_line":"             sort_key\u003dNone, sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":34,"context_line":"        \"\"\"Retrieve a list of port groups."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param node: Optional, UUID or name of a node, to get"},{"line_number":37,"context_line":"                       the port groups for that node"},{"line_number":38,"context_line":"        :param address: Optional, MAC address of a port, to get"},{"line_number":39,"context_line":"                       the port group which has this MAC address"},{"line_number":40,"context_line":"        :param marker: Optional, the UUID of a port group, eg the last"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_04ca216d","line":37,"range":{"start_line":36,"start_character":21,"end_line":37,"end_character":52},"updated":"2016-03-09 08:20:44.000000000","message":"missing \u0027.\u0027 at the end.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"             sort_key\u003dNone, sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":34,"context_line":"        \"\"\"Retrieve a list of port groups."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param node: Optional, UUID or name of a node, to get"},{"line_number":37,"context_line":"                       the port groups for that node"},{"line_number":38,"context_line":"        :param address: Optional, MAC address of a port, to get"},{"line_number":39,"context_line":"                       the port group which has this MAC address"},{"line_number":40,"context_line":"        :param marker: Optional, the UUID of a port group, eg the last"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_c57b0527","line":37,"range":{"start_line":36,"start_character":21,"end_line":37,"end_character":52},"in_reply_to":"5aef4532_04ca216d","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        :param node: Optional, UUID or name of a node, to get"},{"line_number":37,"context_line":"                       the port groups for that node"},{"line_number":38,"context_line":"        :param address: Optional, MAC address of a port, to get"},{"line_number":39,"context_line":"                       the port group which has this MAC address"},{"line_number":40,"context_line":"        :param marker: Optional, the UUID of a port group, eg the last"},{"line_number":41,"context_line":"                       port group from a previous result set. Return"},{"line_number":42,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_e49bb570","line":39,"range":{"start_line":39,"start_character":57,"end_line":39,"end_character":64},"updated":"2016-03-09 08:20:44.000000000","message":"ditto","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        :param node: Optional, UUID or name of a node, to get"},{"line_number":37,"context_line":"                       the port groups for that node"},{"line_number":38,"context_line":"        :param address: Optional, MAC address of a port, to get"},{"line_number":39,"context_line":"                       the port group which has this MAC address"},{"line_number":40,"context_line":"        :param marker: Optional, the UUID of a port group, eg the last"},{"line_number":41,"context_line":"                       port group from a previous result set. Return"},{"line_number":42,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_25758931","line":39,"range":{"start_line":39,"start_character":57,"end_line":39,"end_character":64},"in_reply_to":"5aef4532_e49bb570","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"            1) limit \u003e 0, the maximum number of port groups to return."},{"line_number":47,"context_line":"            2) limit \u003d\u003d 0, return the entire list of port groups."},{"line_number":48,"context_line":"            3) limit param is NOT specified (None), the number of items"},{"line_number":49,"context_line":"               returned respect the maximum imposed by the Ironic API"},{"line_number":50,"context_line":"               (see Ironic\u0027s api.max_limit option)."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_a4788d2c","line":48,"range":{"start_line":48,"start_character":15,"end_line":48,"end_character":51},"updated":"2016-03-09 08:20:44.000000000","message":"s/limit param is NOT specified (None)/limit \u003d\u003d None","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"            1) limit \u003e 0, the maximum number of port groups to return."},{"line_number":47,"context_line":"            2) limit \u003d\u003d 0, return the entire list of port groups."},{"line_number":48,"context_line":"            3) limit param is NOT specified (None), the number of items"},{"line_number":49,"context_line":"               returned respect the maximum imposed by the Ironic API"},{"line_number":50,"context_line":"               (see Ironic\u0027s api.max_limit option)."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_05720d49","line":48,"range":{"start_line":48,"start_character":15,"end_line":48,"end_character":51},"in_reply_to":"5aef4532_a4788d2c","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                       when \u0027detail\u0027 is set."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        :returns: A list of portgroups."},{"line_number":65,"context_line":"        :raises: InvalidAttribute"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":"        if limit is not None:"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_a4e36d04","line":65,"range":{"start_line":65,"start_character":9,"end_line":65,"end_character":33},"updated":"2016-03-09 08:20:44.000000000","message":"for what cases?","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                       when \u0027detail\u0027 is set."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        :returns: A list of portgroups."},{"line_number":65,"context_line":"        :raises: InvalidAttribute"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":"        if limit is not None:"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_efed40b8","line":65,"range":{"start_line":65,"start_character":9,"end_line":65,"end_character":33},"in_reply_to":"5aef4532_a4e36d04","updated":"2016-03-09 13:19:42.000000000","message":"Done. Other similar methods also raise this exception without comment (for later consideration).","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"058b3443e0750eb8071ed546c9b29626bf265de8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":95,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param portgroup_id: The uuid of a port."},{"line_number":98,"context_line":"        :returns: a :class:`Portgroup` object."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_ede8c3e4","line":97,"range":{"start_line":97,"start_character":43,"end_line":97,"end_character":47},"updated":"2016-03-09 02:19:47.000000000","message":"s/port/portgroup/?","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":95,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param portgroup_id: The uuid of a port."},{"line_number":98,"context_line":"        :returns: a :class:`Portgroup` object."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_2f32885f","line":97,"range":{"start_line":97,"start_character":43,"end_line":97,"end_character":47},"in_reply_to":"5aef4532_ede8c3e4","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        :param node: Optional, UUID or name of a node, to get"},{"line_number":36,"context_line":"                       the portgroups for that node."},{"line_number":37,"context_line":"        :param address: Optional, MAC address of a port, to get"},{"line_number":38,"context_line":"                       the portgroup which has this MAC address."},{"line_number":39,"context_line":"        :param marker: Optional, the UUID of a portgroup, eg the last"},{"line_number":40,"context_line":"                       portgroup from a previous result set. Return"},{"line_number":41,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_b4cd3a33","line":38,"updated":"2016-03-09 16:57:41.000000000","message":"name should be added too","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        :param node: Optional, UUID or name of a node, to get"},{"line_number":36,"context_line":"                       the portgroups for that node."},{"line_number":37,"context_line":"        :param address: Optional, MAC address of a port, to get"},{"line_number":38,"context_line":"                       the portgroup which has this MAC address."},{"line_number":39,"context_line":"        :param marker: Optional, the UUID of a portgroup, eg the last"},{"line_number":40,"context_line":"                       portgroup from a previous result set. Return"},{"line_number":41,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_7b4c8970","line":38,"in_reply_to":"5aef4532_b4cd3a33","updated":"2016-03-14 13:15:06.000000000","message":"Please see reply to your other comment in portgroup_shell.py.","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        \"\"\""},{"line_number":101,"context_line":"        return self._get(resource_id\u003dportgroup_id, fields\u003dfields)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Find a portgroup based on its MAC address return a Portgroup object."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        :param address: The MAC address of a portgroup."}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_d461e63a","line":103,"updated":"2016-03-09 16:57:41.000000000","message":"By name should be added too","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"7a1ceaf60eb5f13f19e1271aeb21c37744ef5543","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                         default) or \u0027desc\u0027."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        :param detail: Optional, boolean whether to return detailed information"},{"line_number":57,"context_line":"                       about ports groups."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param fields: Optional, a list with a specified set of fields"},{"line_number":60,"context_line":"                       of the resource to be returned. Can not be used"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_8f49a5d3","line":57,"range":{"start_line":57,"start_character":29,"end_line":57,"end_character":41},"updated":"2016-03-15 12:46:13.000000000","message":"s/ports groups/portgroups/","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"db095f5bb6497c11c4e48f26a6133d662d1cdc68","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                         default) or \u0027desc\u0027."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        :param detail: Optional, boolean whether to return detailed information"},{"line_number":57,"context_line":"                       about ports groups."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        :param fields: Optional, a list with a specified set of fields"},{"line_number":60,"context_line":"                       of the resource to be returned. Can not be used"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_50b0da8b","line":57,"range":{"start_line":57,"start_character":29,"end_line":57,"end_character":41},"in_reply_to":"1af94dfe_8f49a5d3","updated":"2016-03-15 13:33:51.000000000","message":"Done","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"f533ade4a24ceced5cd8a35ca1d9068361c45d65","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":95,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param portgroup_id: The uuid of a portgroup."},{"line_number":98,"context_line":"        :returns: a :class:`Portgroup` object."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_4ee5a535","line":97,"range":{"start_line":97,"start_character":8,"end_line":97,"end_character":53},"updated":"2016-04-05 02:00:06.000000000","message":"missing fields docstr here.","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"524ebd8b6fce7751d0a57752543f7372d53c01eb","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":95,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        :param portgroup_id: The uuid of a portgroup."},{"line_number":98,"context_line":"        :returns: a :class:`Portgroup` object."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_1606d21c","line":97,"range":{"start_line":97,"start_character":8,"end_line":97,"end_character":53},"in_reply_to":"9a061dce_4ee5a535","updated":"2016-04-06 13:15:48.000000000","message":"Done","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"f533ade4a24ceced5cd8a35ca1d9068361c45d65","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Find a portgroup based on its MAC address return a Portgroup object."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        :param address: The MAC address of a portgroup."},{"line_number":107,"context_line":"        :returns: a :class:`Portgroup` object."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_eecab9a0","line":106,"range":{"start_line":106,"start_character":6,"end_line":106,"end_character":55},"updated":"2016-04-05 02:00:06.000000000","message":"ditto","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"524ebd8b6fce7751d0a57752543f7372d53c01eb","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":104,"context_line":"        \"\"\"Find a portgroup based on its MAC address return a Portgroup object."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        :param address: The MAC address of a portgroup."},{"line_number":107,"context_line":"        :returns: a :class:`Portgroup` object."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_b6156641","line":106,"range":{"start_line":106,"start_character":6,"end_line":106,"end_character":55},"in_reply_to":"9a061dce_eecab9a0","updated":"2016-04-06 13:15:48.000000000","message":"Done","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"f533ade4a24ceced5cd8a35ca1d9068361c45d65","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            raise exc.NotFound()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def delete(self, portgroup_id):"},{"line_number":126,"context_line":"        \"\"\"Delete the Portgroup from the DB."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        :param portgroup_id: The uuid of a portgroup."}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_ae3721af","line":125,"range":{"start_line":125,"start_character":4,"end_line":125,"end_character":35},"updated":"2016-04-05 02:00:06.000000000","message":"can we have more delete methods such as delete all portgroups for an input node? I think that should be more convenient for user.","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"524ebd8b6fce7751d0a57752543f7372d53c01eb","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            raise exc.NotFound()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def delete(self, portgroup_id):"},{"line_number":126,"context_line":"        \"\"\"Delete the Portgroup from the DB."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        :param portgroup_id: The uuid of a portgroup."}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_d6461a4e","line":125,"range":{"start_line":125,"start_character":4,"end_line":125,"end_character":35},"in_reply_to":"9a061dce_ae3721af","updated":"2016-04-06 13:15:48.000000000","message":"I think it is an rfe rather than bug. Prots doesn\u0027t support such operation also. It may be improved in future.","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"c74ce69b4a77a97b7e05b25c986c16c555804fda","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            raise exc.NotFound()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def delete(self, portgroup_id):"},{"line_number":126,"context_line":"        \"\"\"Delete the Portgroup from the DB."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        :param portgroup_id: The uuid of a portgroup."}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_3f6ac2ee","line":125,"range":{"start_line":125,"start_character":4,"end_line":125,"end_character":35},"in_reply_to":"9a061dce_d6461a4e","updated":"2016-04-06 13:16:35.000000000","message":"*ports","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b2680481fdc517e5a224fff2220e02078ead3f2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"9abb7d3a_87775f39","updated":"2016-05-30 14:52:10.000000000","message":"portgroup-port-list command should be added too","commit_id":"1ca460a4fc9a8bfacd2c254728c0e9d3cb8da44a"}],"ironicclient/v1/portgroup_shell.py":[{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"058b3443e0750eb8071ed546c9b29626bf265de8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    dest\u003d\u0027address\u0027,"},{"line_number":36,"context_line":"    action\u003d\u0027store_true\u0027,"},{"line_number":37,"context_line":"    default\u003dFalse,"},{"line_number":38,"context_line":"    help\u003d\u0027\u003cid\u003e is the MAC address (instead of the UUID) of the port group.\u0027)"},{"line_number":39,"context_line":"@cliutils.arg("},{"line_number":40,"context_line":"    \u0027--fields\u0027,"},{"line_number":41,"context_line":"    nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_edf9e381","line":38,"range":{"start_line":38,"start_character":63,"end_line":38,"end_character":73},"updated":"2016-03-09 02:19:47.000000000","message":"No matter port group or portgroup, but it should be a consistent pattern i think. Personally, i prefer the latter.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    dest\u003d\u0027address\u0027,"},{"line_number":36,"context_line":"    action\u003d\u0027store_true\u0027,"},{"line_number":37,"context_line":"    default\u003dFalse,"},{"line_number":38,"context_line":"    help\u003d\u0027\u003cid\u003e is the MAC address (instead of the UUID) of the port group.\u0027)"},{"line_number":39,"context_line":"@cliutils.arg("},{"line_number":40,"context_line":"    \u0027--fields\u0027,"},{"line_number":41,"context_line":"    nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_4a5422fe","line":38,"range":{"start_line":38,"start_character":63,"end_line":38,"end_character":73},"in_reply_to":"5aef4532_edf9e381","updated":"2016-03-09 13:19:42.000000000","message":"changed all occurrences to portgroup","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"058b3443e0750eb8071ed546c9b29626bf265de8","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    dest\u003d\u0027detail\u0027,"},{"line_number":64,"context_line":"    action\u003d\u0027store_true\u0027,"},{"line_number":65,"context_line":"    default\u003dFalse,"},{"line_number":66,"context_line":"    help\u003d\"Show detailed information about port groups.\")"},{"line_number":67,"context_line":"@cliutils.arg("},{"line_number":68,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":69,"context_line":"    dest\u003d\u0027node\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_0defefb0","line":66,"range":{"start_line":66,"start_character":42,"end_line":66,"end_character":53},"updated":"2016-03-09 02:19:47.000000000","message":"ditto.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    dest\u003d\u0027detail\u0027,"},{"line_number":64,"context_line":"    action\u003d\u0027store_true\u0027,"},{"line_number":65,"context_line":"    default\u003dFalse,"},{"line_number":66,"context_line":"    help\u003d\"Show detailed information about port groups.\")"},{"line_number":67,"context_line":"@cliutils.arg("},{"line_number":68,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":69,"context_line":"    dest\u003d\u0027node\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_aa55e6fa","line":66,"range":{"start_line":66,"start_character":42,"end_line":66,"end_character":53},"in_reply_to":"5aef4532_0defefb0","updated":"2016-03-09 13:19:42.000000000","message":"Done","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    fields \u003d args.fields[0] if args.fields else None"},{"line_number":51,"context_line":"    utils.check_for_invalid_fields("},{"line_number":52,"context_line":"        fields, res_fields.PORTGROUP_DETAILED_RESOURCE.fields)"},{"line_number":53,"context_line":"    if args.address:"},{"line_number":54,"context_line":"        portgroup \u003d cc.portgroup.get_by_address(args.portgroup, fields\u003dfields)"},{"line_number":55,"context_line":"    else:"},{"line_number":56,"context_line":"        utils.check_empty_arg(args.portgroup, \u0027\u003cid\u003e\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_d74e086e","line":53,"updated":"2016-03-09 16:57:41.000000000","message":"ditto name","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    fields \u003d args.fields[0] if args.fields else None"},{"line_number":51,"context_line":"    utils.check_for_invalid_fields("},{"line_number":52,"context_line":"        fields, res_fields.PORTGROUP_DETAILED_RESOURCE.fields)"},{"line_number":53,"context_line":"    if args.address:"},{"line_number":54,"context_line":"        portgroup \u003d cc.portgroup.get_by_address(args.portgroup, fields\u003dfields)"},{"line_number":55,"context_line":"    else:"},{"line_number":56,"context_line":"        utils.check_empty_arg(args.portgroup, \u0027\u003cid\u003e\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_a0e0a0cd","line":53,"in_reply_to":"5aef4532_d74e086e","updated":"2016-03-14 13:15:06.000000000","message":"This already works just like node-show, I have updated the documentation","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":72,"context_line":"@cliutils.arg("},{"line_number":73,"context_line":"    \u0027--address\u0027,"},{"line_number":74,"context_line":"    metavar\u003d\u0027\u003cmac-address\u003e\u0027,"},{"line_number":75,"context_line":"    help\u003d\u0027Only show information for the portgroup with this MAC address.\u0027)"},{"line_number":76,"context_line":"@cliutils.arg("},{"line_number":77,"context_line":"    \u0027--limit\u0027,"},{"line_number":78,"context_line":"    metavar\u003d\u0027\u003climit\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_37676cea","line":75,"updated":"2016-03-09 16:57:41.000000000","message":"ditto name","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":72,"context_line":"@cliutils.arg("},{"line_number":73,"context_line":"    \u0027--address\u0027,"},{"line_number":74,"context_line":"    metavar\u003d\u0027\u003cmac-address\u003e\u0027,"},{"line_number":75,"context_line":"    help\u003d\u0027Only show information for the portgroup with this MAC address.\u0027)"},{"line_number":76,"context_line":"@cliutils.arg("},{"line_number":77,"context_line":"    \u0027--limit\u0027,"},{"line_number":78,"context_line":"    metavar\u003d\u0027\u003climit\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_60c0582b","line":75,"in_reply_to":"5aef4532_37676cea","updated":"2016-03-14 13:15:06.000000000","message":"This was added for parity with port shell commands, but it makes little sense there or here since address is unique and can only ever list one port/portgroup. Same with name, what do you think?","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"7a1ceaf60eb5f13f19e1271aeb21c37744ef5543","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    metavar\u003d\u0027\u003cportgroup\u003e\u0027,"},{"line_number":87,"context_line":"    help\u003d\u0027Portgroup UUID (for example, of the last portgroup in the list \u0027"},{"line_number":88,"context_line":"         \u0027from a previous request). \u0027"},{"line_number":89,"context_line":"         \u0027Returns the list of ports after this UUID.\u0027)"},{"line_number":90,"context_line":"@cliutils.arg("},{"line_number":91,"context_line":"    \u0027--sort-key\u0027,"},{"line_number":92,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_afe101d3","line":89,"range":{"start_line":89,"start_character":30,"end_line":89,"end_character":35},"updated":"2016-03-15 12:46:13.000000000","message":"s/ports/portgroups/","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"db095f5bb6497c11c4e48f26a6133d662d1cdc68","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    metavar\u003d\u0027\u003cportgroup\u003e\u0027,"},{"line_number":87,"context_line":"    help\u003d\u0027Portgroup UUID (for example, of the last portgroup in the list \u0027"},{"line_number":88,"context_line":"         \u0027from a previous request). \u0027"},{"line_number":89,"context_line":"         \u0027Returns the list of ports after this UUID.\u0027)"},{"line_number":90,"context_line":"@cliutils.arg("},{"line_number":91,"context_line":"    \u0027--sort-key\u0027,"},{"line_number":92,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"1af94dfe_30ad4e32","line":89,"range":{"start_line":89,"start_character":30,"end_line":89,"end_character":35},"in_reply_to":"1af94dfe_afe101d3","updated":"2016-03-15 13:33:51.000000000","message":"Done","commit_id":"86a8d55435154e941ca8642f636c0bd04ac41c4f"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"f533ade4a24ceced5cd8a35ca1d9068361c45d65","unresolved":false,"context_lines":[{"line_number":178,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":179,"context_line":"def do_portgroup_delete(cc, args):"},{"line_number":180,"context_line":"    \"\"\"Delete a portgroup.\"\"\""},{"line_number":181,"context_line":"    for p in args.portgroup:"},{"line_number":182,"context_line":"        cc.portgroup.delete(p)"},{"line_number":183,"context_line":"        print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_ee263967","line":183,"range":{"start_line":181,"start_character":2,"end_line":183,"end_character":41},"updated":"2016-04-05 02:00:06.000000000","message":"IMO, a try-catch block is required here to handle the error cases, such as one of portgroups deleting failed, based on current logic, will break the rest of portgroup deletion.","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"524ebd8b6fce7751d0a57752543f7372d53c01eb","unresolved":false,"context_lines":[{"line_number":178,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":179,"context_line":"def do_portgroup_delete(cc, args):"},{"line_number":180,"context_line":"    \"\"\"Delete a portgroup.\"\"\""},{"line_number":181,"context_line":"    for p in args.portgroup:"},{"line_number":182,"context_line":"        cc.portgroup.delete(p)"},{"line_number":183,"context_line":"        print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_8415874a","line":183,"range":{"start_line":181,"start_character":2,"end_line":183,"end_character":41},"in_reply_to":"9a061dce_ee263967","updated":"2016-04-06 13:15:48.000000000","message":"Done","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"3ae54b1e88a7bb43b7b6d42c79fcab5a8856e3fd","unresolved":false,"context_lines":[{"line_number":178,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":179,"context_line":"def do_portgroup_delete(cc, args):"},{"line_number":180,"context_line":"    \"\"\"Delete a portgroup.\"\"\""},{"line_number":181,"context_line":"    for p in args.portgroup:"},{"line_number":182,"context_line":"        cc.portgroup.delete(p)"},{"line_number":183,"context_line":"        print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a061dce_b060ce02","line":183,"range":{"start_line":181,"start_character":2,"end_line":183,"end_character":41},"in_reply_to":"9a061dce_ee263967","updated":"2016-04-06 10:27:33.000000000","message":"I agree with Wang.\nWhile some errors encountered, we should mark it and then delete the rest. Of course at the end of the action, we should raise an exception to notify the users, just like Idbf94038d0bda6cbc2c76fac80ce967dfd4fb809 does.","commit_id":"b3be36400ab6ab321062c2bfd6d10436db6fe9ac"}],"ironicclient/v1/resource_fields.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"8871cac785a702427f363d86fbc74bda237cba2a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":65,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":66,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":67,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":68,"context_line":"    }"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_9f1c9578","line":67,"updated":"2015-12-25 16:15:14.000000000","message":"I believe network_provider should be added too.","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3fdf119f693551f6918bc2491687c1d9bc57dbf7","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":65,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":66,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":67,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":68,"context_line":"    }"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da6ed579_1f02243f","line":67,"in_reply_to":"1a7b0d38_9f1c9578","updated":"2016-01-18 16:03:29.000000000","message":"Done","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"bb372e504a741791d8ec036c7ff2ea7f4542bec1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":65,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":66,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":67,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":68,"context_line":"    }"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa69d971_400e8ee6","line":67,"in_reply_to":"1a7b0d38_9f1c9578","updated":"2016-01-08 00:37:21.000000000","message":"You mean to suggest, network_provider field should show which network this node is connected to? \nIf yes, I can see value in doing so.","commit_id":"167de2ae5894d405c4a53c9bbd6908a11513e322"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"582788feeefdd4497b1de6f72b0aff87f1bb9926","unresolved":false,"context_lines":[{"line_number":217,"context_line":"     ],"},{"line_number":218,"context_line":"    sort_excluded\u003d["},{"line_number":219,"context_line":"        \u0027extra\u0027,"},{"line_number":220,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":221,"context_line":"        # the \"portgroups\" database table. \"node_id\" is stored, but it is"},{"line_number":222,"context_line":"        # internal to ironic. See bug #1443003 for more details."},{"line_number":223,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":224,"context_line":"    ])"},{"line_number":225,"context_line":"PORTGROUP_RESOURCE \u003d Resource("}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_84e8f1b5","line":222,"range":{"start_line":220,"start_character":6,"end_line":222,"end_character":64},"updated":"2016-03-09 08:20:44.000000000","message":"it is better that we move these comments out of this list definition.","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"6926669e0c58fac0dc1d7d9098de0eb6a114e47c","unresolved":false,"context_lines":[{"line_number":217,"context_line":"     ],"},{"line_number":218,"context_line":"    sort_excluded\u003d["},{"line_number":219,"context_line":"        \u0027extra\u0027,"},{"line_number":220,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":221,"context_line":"        # the \"portgroups\" database table. \"node_id\" is stored, but it is"},{"line_number":222,"context_line":"        # internal to ironic. See bug #1443003 for more details."},{"line_number":223,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":224,"context_line":"    ])"},{"line_number":225,"context_line":"PORTGROUP_RESOURCE \u003d Resource("}],"source_content_type":"text/x-python","patch_set":19,"id":"5aef4532_256109d4","line":222,"range":{"start_line":220,"start_character":6,"end_line":222,"end_character":64},"in_reply_to":"5aef4532_84e8f1b5","updated":"2016-03-09 13:19:42.000000000","message":"I kept this comment inline to match the code already present in this file, maybe we can land this patch and then clean up all instances of this comment to one at the top of the file?","commit_id":"74f842da441f4b0ce3587c524a490edf1bce9b20"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"81c3ebd2a5e794b6b4874ee4adb27188189cbca3","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":230,"context_line":"    ])"},{"line_number":231,"context_line":"PORTGROUP_RESOURCE \u003d Resource("},{"line_number":232,"context_line":"    [\u0027uuid\u0027,"},{"line_number":233,"context_line":"     \u0027address\u0027,"},{"line_number":234,"context_line":"     ])"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aef4532_34e64a15","line":232,"updated":"2016-03-09 16:57:41.000000000","message":"Name might be worth including too","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":17465,"name":"William Stevenson","email":"will.stevenson@sap.com","username":"yhvh"},"change_message_id":"2f04b9bf322cb3d2671466e72e6e4a06f9991dfd","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":230,"context_line":"    ])"},{"line_number":231,"context_line":"PORTGROUP_RESOURCE \u003d Resource("},{"line_number":232,"context_line":"    [\u0027uuid\u0027,"},{"line_number":233,"context_line":"     \u0027address\u0027,"},{"line_number":234,"context_line":"     ])"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_1b0f452f","line":232,"in_reply_to":"5aef4532_34e64a15","updated":"2016-03-14 13:15:06.000000000","message":"Done","commit_id":"243ab9b723f6291b4fb14aec080dc7279a567052"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ee0b0f3e49aa3bdc9ad0b5f692a4b8f6650e2f68","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        \u0027updated_at\u0027: \u0027Updated At\u0027,"},{"line_number":66,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":67,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":68,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":69,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_976087d1","line":68,"range":{"start_line":68,"start_character":24,"end_line":68,"end_character":27},"updated":"2016-07-13 20:13:44.000000000","message":"nit: s/Pxe/PXE/","commit_id":"671d59412ad306028128974716caf64e6b93d7c0"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"8ec243de2d290ddd7c4428e16f0ee849b4fbf392","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        \u0027updated_at\u0027: \u0027Updated At\u0027,"},{"line_number":66,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":67,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":68,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":69,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"1aa78d24_e64a9f26","line":68,"range":{"start_line":68,"start_character":24,"end_line":68,"end_character":27},"updated":"2016-07-15 13:55:59.000000000","message":"Look for Julia\u0027s hint about this description.","commit_id":"5a9b6021d240d965c52bbcd344f76e34db5ca5ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"532f8fbc9d7b6d1bcac71ec9f9ddcc1be82f4db0","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        \u0027updated_at\u0027: \u0027Updated At\u0027,"},{"line_number":66,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":67,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":68,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":69,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"fad55976_8d4ec594","line":68,"range":{"start_line":68,"start_character":25,"end_line":68,"end_character":27},"updated":"2016-07-15 14:50:07.000000000","message":"nit: s/xe/XE/","commit_id":"8a4a77ad658bdeefe73e838e22613f9b6115f788"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"69f4b49a4de39ddc912851142cd094be0bf00f34","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        \u0027updated_at\u0027: \u0027Updated At\u0027,"},{"line_number":66,"context_line":"        \u0027uuid\u0027: \u0027UUID\u0027,"},{"line_number":67,"context_line":"        \u0027local_link_connection\u0027: \u0027Local Link Connection\u0027,"},{"line_number":68,"context_line":"        \u0027pxe_enabled\u0027: \u0027Pxe boot enabled\u0027,"},{"line_number":69,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"fad55976_39c43b91","line":68,"range":{"start_line":68,"start_character":25,"end_line":68,"end_character":27},"in_reply_to":"fad55976_8d4ec594","updated":"2016-07-15 15:41:09.000000000","message":"Done","commit_id":"8a4a77ad658bdeefe73e838e22613f9b6115f788"}],"releasenotes/notes/add-neutron-integration-fields-cee7596c49722de6.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"532f8fbc9d7b6d1bcac71ec9f9ddcc1be82f4db0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add support of new fields node.network_interface"},{"line_number":4,"context_line":"    port.local_link_connection, port.pxe_enabled."}],"source_content_type":"text/x-yaml","patch_set":32,"id":"fad55976_9086dc63","line":3,"updated":"2016-07-15 14:50:07.000000000","message":"Ideally we ought to indicate the API version that the user needs to request for these fields to be visible and available to change.","commit_id":"8a4a77ad658bdeefe73e838e22613f9b6115f788"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"69f4b49a4de39ddc912851142cd094be0bf00f34","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add support of new fields node.network_interface"},{"line_number":4,"context_line":"    port.local_link_connection, port.pxe_enabled."}],"source_content_type":"text/x-yaml","patch_set":32,"id":"fad55976_d9cebfb3","line":3,"in_reply_to":"fad55976_9086dc63","updated":"2016-07-15 15:41:09.000000000","message":"Done","commit_id":"8a4a77ad658bdeefe73e838e22613f9b6115f788"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"feed2577e7eee5d210b91a934dd38da388d6927d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      profile."},{"line_number":10,"context_line":"      * ``port.pxe_enabled`` indicates whether PXE is enabled"},{"line_number":11,"context_line":"      for the port."},{"line_number":12,"context_line":"      ``port.local_link_connection`` and ``port.pxe_enabled`` were"},{"line_number":13,"context_line":"      introduced in API 1.19"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"fad55976_b42aed7c","line":12,"range":{"start_line":12,"start_character":62,"end_line":12,"end_character":66},"updated":"2016-07-15 16:46:34.000000000","message":"nit: s/were/was/","commit_id":"7320c970fb74c641ce7850db51b59ae29952cb83"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"feed2577e7eee5d210b91a934dd38da388d6927d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      * ``port.pxe_enabled`` indicates whether PXE is enabled"},{"line_number":11,"context_line":"      for the port."},{"line_number":12,"context_line":"      ``port.local_link_connection`` and ``port.pxe_enabled`` were"},{"line_number":13,"context_line":"      introduced in API 1.19"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"fad55976_34371de5","line":13,"updated":"2016-07-15 16:46:34.000000000","message":"nit: s/1.19/1.19./","commit_id":"7320c970fb74c641ce7850db51b59ae29952cb83"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"9e7baaf928dd0c0bea71e62e338541c8e7b018a2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      for the port."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    ``port.local_link_connection`` and ``port.pxe_enabled`` were"},{"line_number":14,"context_line":"    introduced in API 1.19"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"fad55976_1305bdc1","line":14,"updated":"2016-07-15 22:19:06.000000000","message":"Nit, needs a period here.","commit_id":"aa8a5f67f16e9fb7f62d0d74d07e2e12af572d51"}]}
