)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"49c9e95d496eedeeade133c711ac1ccf89238a60","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Change-Id: Id8afa902026ce4466e96cc7bfb7fb97447d65809"},{"line_number":12,"context_line":"Co-Authored-By: Vasyl Saienko (vsaienko@mirantis.com)"},{"line_number":13,"context_line":"Co-Authored-By: William Stevenson (will.stevenson@sap.com)"},{"line_number":14,"context_line":"Partial-bug: #1526403"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"7a77a97e_f271d378","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":21},"updated":"2016-11-22 11:46:43.000000000","message":"we have a separate bug to track portgroup work bug/1618754","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kyrylo Romanenko \u003ckromanenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-11-25 15:53:44 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add possibility to work with portgroups"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds commands that allows to work with ironic portgroups."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"3a71b18c_fd598936","line":7,"updated":"2016-12-08 23:07:56.000000000","message":"nit, It would have been better if the word \u0027command\u0027 or \u0027CLI\u0027 had been here. Eg, \u0027Add python API and CLI for port groups\u0027","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kyrylo Romanenko \u003ckromanenko@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-11-25 15:53:44 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add possibility to work with portgroups"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds commands that allows to work with ironic portgroups."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"1a6eadb0_62e7e840","line":7,"in_reply_to":"3a71b18c_fd598936","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6b91daa68537f6baffa2f926f37cc3794978538a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"The following ironic CLI commands are introduced:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":" * ironic portgroup-list"},{"line_number":13,"context_line":" * ironic portgroup-create"},{"line_number":14,"context_line":" * ironic portgroup-show"},{"line_number":15,"context_line":" * ironic portgroup-port-list"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"1a6eadb0_b3adb98a","line":13,"updated":"2016-12-13 06:37:58.000000000","message":"missed delete/update","commit_id":"bc69c75473cdc377b4faa15477aac7fa3d7e164d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"74aa14eba911e4c7f5af8f390bc8efb296076703","unresolved":false,"context_lines":[{"line_number":10,"context_line":"The following ironic CLI commands are introduced:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":" * ironic portgroup-list"},{"line_number":13,"context_line":" * ironic portgroup-create"},{"line_number":14,"context_line":" * ironic portgroup-show"},{"line_number":15,"context_line":" * ironic portgroup-port-list"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"1a6eadb0_6b7ec5e5","line":13,"in_reply_to":"1a6eadb0_b3adb98a","updated":"2016-12-13 08:45:01.000000000","message":"Done","commit_id":"bc69c75473cdc377b4faa15477aac7fa3d7e164d"}],"ironicclient/tests/unit/osc/v1/test_baremetal_port.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        self.baremetal_mock.port.list.assert_called_with(**kwargs)"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"        collist \u003d (\u0027UUID\u0027, \u0027Address\u0027, \u0027Created At\u0027, \u0027Extra\u0027, \u0027Node UUID\u0027,"},{"line_number":437,"context_line":"                   \u0027Local Link Connection\u0027, \u0027Portgroup UUID\u0027,"},{"line_number":438,"context_line":"                   \u0027PXE boot enabled\u0027, \u0027Updated At\u0027, \u0027Internal Info\u0027)"},{"line_number":439,"context_line":"        self.assertEqual(collist, columns)"},{"line_number":440,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_173e0bb8","line":437,"updated":"2016-12-14 13:29:56.000000000","message":"Should it go to osc patch instead? We don\u0027t do requests with api version high enough to see this field.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        self.baremetal_mock.port.list.assert_called_with(**kwargs)"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"        collist \u003d (\u0027UUID\u0027, \u0027Address\u0027, \u0027Created At\u0027, \u0027Extra\u0027, \u0027Node UUID\u0027,"},{"line_number":437,"context_line":"                   \u0027Local Link Connection\u0027, \u0027Portgroup UUID\u0027,"},{"line_number":438,"context_line":"                   \u0027PXE boot enabled\u0027, \u0027Updated At\u0027, \u0027Internal Info\u0027)"},{"line_number":439,"context_line":"        self.assertEqual(collist, columns)"},{"line_number":440,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_dac66e48","line":437,"in_reply_to":"1a6eadb0_173e0bb8","updated":"2016-12-14 16:59:36.000000000","message":"In our tests we return always latest version of resource so this is needed to have unittests green.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"}],"ironicclient/tests/unit/v1/test_node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b39832475b5c72ff77f56852bbdc3eba11e95e52","unresolved":false,"context_lines":[{"line_number":798,"context_line":"            (\u0027PUT\u0027, \u0027/v1/nodes/%s/maintenance\u0027 % NODE1[\u0027uuid\u0027], {}, body),"},{"line_number":799,"context_line":"        ]"},{"line_number":800,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":801,"context_line":"        self.assertIsNone(maintenance)"},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"    def test_node_set_maintenance_false(self):"},{"line_number":804,"context_line":"        maintenance \u003d self.mgr.set_maintenance(NODE1[\u0027uuid\u0027], \u0027false\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_39eeeb8b","side":"PARENT","line":801,"updated":"2016-11-23 14:06:13.000000000","message":"why is this deleted?","commit_id":"b12261f3e10972ad47b3f0cc155a39c647a410ad"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"dc2f5aa1657e3cc6ff83819ebb34e5560636ba50","unresolved":false,"context_lines":[{"line_number":798,"context_line":"            (\u0027PUT\u0027, \u0027/v1/nodes/%s/maintenance\u0027 % NODE1[\u0027uuid\u0027], {}, body),"},{"line_number":799,"context_line":"        ]"},{"line_number":800,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":801,"context_line":"        self.assertIsNone(maintenance)"},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"    def test_node_set_maintenance_false(self):"},{"line_number":804,"context_line":"        maintenance \u003d self.mgr.set_maintenance(NODE1[\u0027uuid\u0027], \u0027false\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_c02ea2f9","side":"PARENT","line":801,"in_reply_to":"5a74a57a_39eeeb8b","updated":"2016-11-24 14:24:35.000000000","message":"Returned it back.","commit_id":"b12261f3e10972ad47b3f0cc155a39c647a410ad"}],"ironicclient/tests/unit/v1/test_node_shell.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"        n_shell.do_node_create(client_mock, args)"},{"line_number":1128,"context_line":"        client_mock.node.create.assert_called_once_with("},{"line_number":1129,"context_line":"            network_interface\u003d\u0027neutron\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_bd9d51bd","line":1129,"updated":"2016-12-08 23:07:56.000000000","message":"what does this test have to do with the portgroup changes?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"        n_shell.do_node_create(client_mock, args)"},{"line_number":1128,"context_line":"        client_mock.node.create.assert_called_once_with("},{"line_number":1129,"context_line":"            network_interface\u003d\u0027neutron\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_625528c5","line":1129,"in_reply_to":"3a71b18c_bd9d51bd","updated":"2016-12-12 18:38:48.000000000","message":"This test was missed when we introduced network_interface. Going to add it as separate change.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"}],"ironicclient/tests/unit/v1/test_portgroup.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b39832475b5c72ff77f56852bbdc3eba11e95e52","unresolved":false,"context_lines":[{"line_number":184,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups\u0027, {}, None),"},{"line_number":185,"context_line":"        ]"},{"line_number":186,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":187,"context_line":"        self.assertEqual(1, len(portgroups))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_portgroups_list_by_address(self):"},{"line_number":190,"context_line":"        portgroups \u003d self.mgr.list(address\u003dPORTGROUP[\u0027address\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_f9e553a8","line":187,"updated":"2016-11-23 14:06:13.000000000","message":"please add at least basic sanity check on the contents of the response (no need to check all fields)","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"dc2f5aa1657e3cc6ff83819ebb34e5560636ba50","unresolved":false,"context_lines":[{"line_number":184,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups\u0027, {}, None),"},{"line_number":185,"context_line":"        ]"},{"line_number":186,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":187,"context_line":"        self.assertEqual(1, len(portgroups))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def test_portgroups_list_by_address(self):"},{"line_number":190,"context_line":"        portgroups \u003d self.mgr.list(address\u003dPORTGROUP[\u0027address\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_77e3d505","line":187,"in_reply_to":"5a74a57a_f9e553a8","updated":"2016-11-24 14:24:35.000000000","message":"ok. working on that.","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b39832475b5c72ff77f56852bbdc3eba11e95e52","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups/?limit\u003d1\u0027, {}, None),"},{"line_number":221,"context_line":"        ]"},{"line_number":222,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":223,"context_line":"        self.assertThat(portgroups, HasLength(1))"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    def test_portgroups_list_marker(self):"},{"line_number":226,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_pagination)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_19e3efa4","line":223,"updated":"2016-11-23 14:06:13.000000000","message":"I\u0027d prefer we use either assertEqual(1, len(..)) or assertThat(.., HasLength) but not both (I prefer the former)","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"dc2f5aa1657e3cc6ff83819ebb34e5560636ba50","unresolved":false,"context_lines":[{"line_number":220,"context_line":"            (\u0027GET\u0027, \u0027/v1/portgroups/?limit\u003d1\u0027, {}, None),"},{"line_number":221,"context_line":"        ]"},{"line_number":222,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":223,"context_line":"        self.assertThat(portgroups, HasLength(1))"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    def test_portgroups_list_marker(self):"},{"line_number":226,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_pagination)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_80a66a51","line":223,"in_reply_to":"5a74a57a_19e3efa4","updated":"2016-11-24 14:24:35.000000000","message":"Changed to use assertEqual(x, len(y)) style.","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":27,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":28,"context_line":"             \u0027name\u0027: \u0027Portgroup name\u0027,"},{"line_number":29,"context_line":"             \u0027node_uuid\u0027: \u002766666666-7777-8888-9999-111111111111\u0027,"},{"line_number":30,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":31,"context_line":"             \u0027extra\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_bdd2b159","line":28,"updated":"2016-12-08 23:07:56.000000000","message":"i doubt that we allow blank spaces in the name","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":27,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":28,"context_line":"             \u0027name\u0027: \u0027Portgroup name\u0027,"},{"line_number":29,"context_line":"             \u0027node_uuid\u0027: \u002766666666-7777-8888-9999-111111111111\u0027,"},{"line_number":30,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":31,"context_line":"             \u0027extra\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_82eec4ea","line":28,"in_reply_to":"3a71b18c_bdd2b159","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"PORT \u003d {\u0027id\u0027: 456,"},{"line_number":53,"context_line":"        \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":54,"context_line":"        \u0027node_id\u0027: 123,"},{"line_number":55,"context_line":"        \u0027address\u0027: \u0027AA:AA:AA:AA:AA:AA\u0027,"},{"line_number":56,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_bd39d1a5","line":54,"updated":"2016-12-08 23:07:56.000000000","message":"should this be node_uuid? (I\u0027m not actually sure what kind of object this is supposed to be.)","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"daa3e680e801f9883b5b2b504c0a89d72536bb54","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"PORT \u003d {\u0027id\u0027: 456,"},{"line_number":53,"context_line":"        \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":54,"context_line":"        \u0027node_id\u0027: 123,"},{"line_number":55,"context_line":"        \u0027address\u0027: \u0027AA:AA:AA:AA:AA:AA\u0027,"},{"line_number":56,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_4cff5f01","line":54,"in_reply_to":"1a6eadb0_22d170fc","updated":"2016-12-13 09:24:39.000000000","message":"CLI works with API so here should be API objects.\nFix node_id --\u003e node_uuid, chassis_id --\u003e chassis_uuid and removed \u0027id\u0027 fields as they are not valid for API objects.\n\nhttps://review.openstack.org/#/c/410112","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"PORT \u003d {\u0027id\u0027: 456,"},{"line_number":53,"context_line":"        \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":54,"context_line":"        \u0027node_id\u0027: 123,"},{"line_number":55,"context_line":"        \u0027address\u0027: \u0027AA:AA:AA:AA:AA:AA\u0027,"},{"line_number":56,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_22d170fc","line":54,"in_reply_to":"3a71b18c_a15b4ef5","updated":"2016-12-12 18:38:48.000000000","message":"We using the same for node: https://github.com/openstack/python-ironicclient/blob/master/ironicclient/tests/unit/v1/test_node.py#L56\nGoing to fix it as separate change if you do not mind.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"efe65fdb623bdb446347a0eb6658eade4f6c89ab","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"PORT \u003d {\u0027id\u0027: 456,"},{"line_number":53,"context_line":"        \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":54,"context_line":"        \u0027node_id\u0027: 123,"},{"line_number":55,"context_line":"        \u0027address\u0027: \u0027AA:AA:AA:AA:AA:AA\u0027,"},{"line_number":56,"context_line":"        \u0027extra\u0027: {}}"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_a15b4ef5","line":54,"in_reply_to":"3a71b18c_bd39d1a5","updated":"2016-12-09 15:42:59.000000000","message":"It is later compared to api response, so I believe it\u0027s API object, not db one.\nNode_uuid should be used.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            {\"portgroups\": [PORTGROUP]},"},{"line_number":112,"context_line":"        ),"},{"line_number":113,"context_line":"    },"},{"line_number":114,"context_line":"    \u0027/v1/portgroups/%s/ports\u0027 % NODE1[\u0027name\u0027]:"},{"line_number":115,"context_line":"    {"},{"line_number":116,"context_line":"        \u0027GET\u0027: ("},{"line_number":117,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_5d035db8","line":114,"updated":"2016-12-08 23:07:56.000000000","message":"huh? shouldn\u0027t that be portgroup name, not node name?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            {\"portgroups\": [PORTGROUP]},"},{"line_number":112,"context_line":"        ),"},{"line_number":113,"context_line":"    },"},{"line_number":114,"context_line":"    \u0027/v1/portgroups/%s/ports\u0027 % NODE1[\u0027name\u0027]:"},{"line_number":115,"context_line":"    {"},{"line_number":116,"context_line":"        \u0027GET\u0027: ("},{"line_number":117,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_223fb026","line":114,"in_reply_to":"3a71b18c_5d035db8","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"7ed29e207bf291cd69a73dde106e0aa435f7d131","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    {"},{"line_number":116,"context_line":"        \u0027GET\u0027: ("},{"line_number":117,"context_line":"            {},"},{"line_number":118,"context_line":"            {\"ports\": [PORT]},"},{"line_number":119,"context_line":"        ),"},{"line_number":120,"context_line":"    },"},{"line_number":121,"context_line":"    \u0027/v1/portgroups/%s/ports\u0027 % NODE1[\u0027uuid\u0027]:"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_a7d2f232","line":118,"range":{"start_line":118,"start_character":23,"end_line":118,"end_character":27},"updated":"2016-12-12 17:46:02.000000000","message":"Also, if it gets returned, portgroup_uuid should be specified inside too.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    {"},{"line_number":116,"context_line":"        \u0027GET\u0027: ("},{"line_number":117,"context_line":"            {},"},{"line_number":118,"context_line":"            {\"ports\": [PORT]},"},{"line_number":119,"context_line":"        ),"},{"line_number":120,"context_line":"    },"},{"line_number":121,"context_line":"    \u0027/v1/portgroups/%s/ports\u0027 % NODE1[\u0027uuid\u0027]:"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_528635ba","line":118,"range":{"start_line":118,"start_character":23,"end_line":118,"end_character":27},"in_reply_to":"1a6eadb0_a7d2f232","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            {\"ports\": [PORT]},"},{"line_number":119,"context_line":"        ),"},{"line_number":120,"context_line":"    },"},{"line_number":121,"context_line":"    \u0027/v1/portgroups/%s/ports\u0027 % NODE1[\u0027uuid\u0027]:"},{"line_number":122,"context_line":"    {"},{"line_number":123,"context_line":"        \u0027GET\u0027: ("},{"line_number":124,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_9d2b3533","line":121,"updated":"2016-12-08 23:07:56.000000000","message":"ditto","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            {\"ports\": [PORT]},"},{"line_number":119,"context_line":"        ),"},{"line_number":120,"context_line":"    },"},{"line_number":121,"context_line":"    \u0027/v1/portgroups/%s/ports\u0027 % NODE1[\u0027uuid\u0027]:"},{"line_number":122,"context_line":"    {"},{"line_number":123,"context_line":"        \u0027GET\u0027: ("},{"line_number":124,"context_line":"            {},"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_423cac2f","line":121,"in_reply_to":"3a71b18c_9d2b3533","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"7ed29e207bf291cd69a73dde106e0aa435f7d131","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":186,"context_line":"        self.assertEqual(1, len(portgroups))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        expected_resp \u003d ({}, {\"portgroups\": [PORTGROUP]},)"},{"line_number":189,"context_line":"        self.assertEqual(expected_resp,"},{"line_number":190,"context_line":"                         self.api.responses[\u0027/v1/portgroups\u0027][\u0027GET\u0027])"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_5cff2c34","line":188,"updated":"2016-12-12 17:46:02.000000000","message":"ditto, both should be here","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":186,"context_line":"        self.assertEqual(1, len(portgroups))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        expected_resp \u003d ({}, {\"portgroups\": [PORTGROUP]},)"},{"line_number":189,"context_line":"        self.assertEqual(expected_resp,"},{"line_number":190,"context_line":"                         self.api.responses[\u0027/v1/portgroups\u0027][\u0027GET\u0027])"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_d267a523","line":188,"in_reply_to":"1a6eadb0_5cff2c34","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"7ed29e207bf291cd69a73dde106e0aa435f7d131","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":224,"context_line":"        self.assertEqual(1, len(portgroups))"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        expected_resp \u003d ({}, {\"portgroups\": [PORTGROUP]},)"},{"line_number":227,"context_line":"        self.assertEqual(expected_resp,"},{"line_number":228,"context_line":"                         self.api.responses[\u0027/v1/portgroups\u0027][\u0027GET\u0027])"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_bceda090","line":226,"updated":"2016-12-12 17:46:02.000000000","message":"This should return both portgroups","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":224,"context_line":"        self.assertEqual(1, len(portgroups))"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        expected_resp \u003d ({}, {\"portgroups\": [PORTGROUP]},)"},{"line_number":227,"context_line":"        self.assertEqual(expected_resp,"},{"line_number":228,"context_line":"                         self.api.responses[\u0027/v1/portgroups\u0027][\u0027GET\u0027])"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_1272fde5","line":226,"in_reply_to":"1a6eadb0_bceda090","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":27,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":28,"context_line":"             \u0027name\u0027: \u0027Portgroup-name\u0027,"},{"line_number":29,"context_line":"             \u0027node_uuid\u0027: \u002766666666-7777-8888-9999-111111111111\u0027,"},{"line_number":30,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":31,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_f7734f7e","line":29,"range":{"start_line":29,"start_character":51,"end_line":29,"end_character":63},"updated":"2016-12-14 13:29:56.000000000","message":"should this be 0000?","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":26,"context_line":"PORTGROUP \u003d {\u0027id\u0027: 987,"},{"line_number":27,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":28,"context_line":"             \u0027name\u0027: \u0027Portgroup-name\u0027,"},{"line_number":29,"context_line":"             \u0027node_uuid\u0027: \u002766666666-7777-8888-9999-111111111111\u0027,"},{"line_number":30,"context_line":"             \u0027address\u0027: \u0027AA:BB:CC:DD:EE:FF\u0027,"},{"line_number":31,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_7aff1a67","line":29,"range":{"start_line":29,"start_character":51,"end_line":29,"end_character":63},"in_reply_to":"1a6eadb0_f7734f7e","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    {"},{"line_number":134,"context_line":"        \u0027GET\u0027: ("},{"line_number":135,"context_line":"            {},"},{"line_number":136,"context_line":"            {\"portgroups\": [PORTGROUP],"},{"line_number":137,"context_line":"             \"next\": \"http://127.0.0.1:6385/v1/portgroups/?limit\u003d1\"}"},{"line_number":138,"context_line":"        ),"},{"line_number":139,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_574b23b0","line":136,"range":{"start_line":136,"start_character":28,"end_line":136,"end_character":37},"updated":"2016-12-14 13:29:56.000000000","message":"I don\u0027t get why this returns only one portgroup, does it emulate the api max length or something config oprtion?","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    {"},{"line_number":134,"context_line":"        \u0027GET\u0027: ("},{"line_number":135,"context_line":"            {},"},{"line_number":136,"context_line":"            {\"portgroups\": [PORTGROUP],"},{"line_number":137,"context_line":"             \"next\": \"http://127.0.0.1:6385/v1/portgroups/?limit\u003d1\"}"},{"line_number":138,"context_line":"        ),"},{"line_number":139,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_5acb3e1e","line":136,"range":{"start_line":136,"start_character":28,"end_line":136,"end_character":37},"in_reply_to":"1a6eadb0_574b23b0","updated":"2016-12-14 16:59:36.000000000","message":"I think it is emulation when ironic API max number of resources per request is set to 1.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        self.assertEqual(expected_resp,"},{"line_number":229,"context_line":"                         self.api.responses[\u0027/v1/portgroups\u0027][\u0027GET\u0027])"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def test_portgroups_list_limit(self):"},{"line_number":232,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_pagination)"},{"line_number":233,"context_line":"        self.mgr \u003d ironicclient.v1.portgroup.PortgroupManager(self.api)"},{"line_number":234,"context_line":"        portgroups \u003d self.mgr.list(limit\u003d1)"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_37ddc70e","line":231,"updated":"2016-12-14 13:29:56.000000000","message":"Feels like different fake_responses should go into different test classes.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        self.assertEqual(expected_resp,"},{"line_number":229,"context_line":"                         self.api.responses[\u0027/v1/portgroups\u0027][\u0027GET\u0027])"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def test_portgroups_list_limit(self):"},{"line_number":232,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_pagination)"},{"line_number":233,"context_line":"        self.mgr \u003d ironicclient.v1.portgroup.PortgroupManager(self.api)"},{"line_number":234,"context_line":"        portgroups \u003d self.mgr.list(limit\u003d1)"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_503b1f9c","line":231,"in_reply_to":"1a6eadb0_37ddc70e","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"}],"ironicclient/tests/unit/v1/test_portgroup_shell.py":[{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"efe65fdb623bdb446347a0eb6658eade4f6c89ab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 SAP Ltd."},{"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":17,"id":"3a71b18c_61077681","line":1,"updated":"2016-12-09 15:42:59.000000000","message":"It is a new file, and the year should match the current one (2016 :))","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 SAP Ltd."},{"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":17,"id":"1a6eadb0_2277b0d5","line":1,"in_reply_to":"3a71b18c_61077681","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"efe65fdb623bdb446347a0eb6658eade4f6c89ab","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        pg_shell.do_portgroup_show(client_mock, args)"},{"line_number":46,"context_line":"        client_mock.portgroup.get.assert_called_once_with(\u0027portgroup_uuid\u0027,"},{"line_number":47,"context_line":"                                                          fields\u003dNone)"},{"line_number":48,"context_line":"        # assert get_by_address() wasn\u0027t called"},{"line_number":49,"context_line":"        self.assertFalse(client_mock.portgroup.get_by_address.called)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def test_do_portgroup_show_space_uuid(self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_c1204a4c","line":48,"updated":"2016-12-09 15:42:59.000000000","message":"I think the assert below is self explanatory, and this comment is unnecessary :)","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        pg_shell.do_portgroup_show(client_mock, args)"},{"line_number":46,"context_line":"        client_mock.portgroup.get.assert_called_once_with(\u0027portgroup_uuid\u0027,"},{"line_number":47,"context_line":"                                                          fields\u003dNone)"},{"line_number":48,"context_line":"        # assert get_by_address() wasn\u0027t called"},{"line_number":49,"context_line":"        self.assertFalse(client_mock.portgroup.get_by_address.called)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def test_do_portgroup_show_space_uuid(self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_225ed045","line":48,"in_reply_to":"3a71b18c_c1204a4c","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"efe65fdb623bdb446347a0eb6658eade4f6c89ab","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        pg_shell.do_portgroup_show(client_mock, args)"},{"line_number":80,"context_line":"        client_mock.portgroup.get_by_address.assert_called_once_with("},{"line_number":81,"context_line":"            \u0027portgroup_address\u0027, fields\u003dNone)"},{"line_number":82,"context_line":"        # assert get() wasn\u0027t called"},{"line_number":83,"context_line":"        self.assertFalse(client_mock.portgroup.get.called)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_do_portgroup_update(self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_61d69628","line":82,"updated":"2016-12-09 15:42:59.000000000","message":"ditto","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        pg_shell.do_portgroup_show(client_mock, args)"},{"line_number":80,"context_line":"        client_mock.portgroup.get_by_address.assert_called_once_with("},{"line_number":81,"context_line":"            \u0027portgroup_address\u0027, fields\u003dNone)"},{"line_number":82,"context_line":"        # assert get() wasn\u0027t called"},{"line_number":83,"context_line":"        self.assertFalse(client_mock.portgroup.get.called)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_do_portgroup_update(self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_2225f0c1","line":82,"in_reply_to":"3a71b18c_61d69628","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"}],"ironicclient/v1/client.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.node \u003d node.NodeManager(self.http_client)"},{"line_number":64,"context_line":"        self.port \u003d port.PortManager(self.http_client)"},{"line_number":65,"context_line":"        self.driver \u003d driver.DriverManager(self.http_client)"},{"line_number":66,"context_line":"        self.portgroup \u003d portgroup.PortgroupManager(self.http_client)"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_7493d6fa","line":66,"updated":"2016-12-08 23:07:56.000000000","message":"just a nit, I would have put this next to self.port.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"}],"ironicclient/v1/node.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                        sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":194,"context_line":"        \"\"\"List all the portgroups for a given node."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        :param node_id: The UUID of the node."},{"line_number":197,"context_line":"        :param marker: Optional, the UUID of a portgroup, eg the last"},{"line_number":198,"context_line":"                       portgroup from a previous result set. Return"},{"line_number":199,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_170c643a","line":196,"updated":"2016-12-08 23:07:56.000000000","message":"i thought the name of the node could be specified too (even though we call it node_id).","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                        sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":194,"context_line":"        \"\"\"List all the portgroups for a given node."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        :param node_id: The UUID of the node."},{"line_number":197,"context_line":"        :param marker: Optional, the UUID of a portgroup, eg the last"},{"line_number":198,"context_line":"                       portgroup from a previous result set. Return"},{"line_number":199,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_0d81054b","line":196,"in_reply_to":"3a71b18c_170c643a","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            return self._list_pagination(self._path(path), \"ports\","},{"line_number":190,"context_line":"                                         limit\u003dlimit)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def list_portgroups(self, node_id, marker\u003dNone, limit\u003dNone, sort_key\u003dNone,"},{"line_number":193,"context_line":"                        sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":194,"context_line":"        \"\"\"List all the portgroups for a given node."},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_c7f249d2","line":192,"updated":"2016-12-13 21:06:46.000000000","message":"we aren\u0027t exposing this at the CLI level. Did we want this in the python API?","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            return self._list_pagination(self._path(path), \"ports\","},{"line_number":190,"context_line":"                                         limit\u003dlimit)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def list_portgroups(self, node_id, marker\u003dNone, limit\u003dNone, sort_key\u003dNone,"},{"line_number":193,"context_line":"                        sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":194,"context_line":"        \"\"\"List all the portgroups for a given node."},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_c1b4d5d2","line":192,"in_reply_to":"1a6eadb0_c7f249d2","updated":"2016-12-14 13:29:56.000000000","message":"Hm, we do, we have portgroups subcontroller in nodes.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3458a86fcb5ef355f6155f07b7492f26372b550d","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            return self._list_pagination(self._path(path), \"ports\","},{"line_number":190,"context_line":"                                         limit\u003dlimit)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def list_portgroups(self, node_id, marker\u003dNone, limit\u003dNone, sort_key\u003dNone,"},{"line_number":193,"context_line":"                        sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":194,"context_line":"        \"\"\"List all the portgroups for a given node."},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_69ebd178","line":192,"updated":"2016-12-14 20:03:40.000000000","message":"Continuing the discussion in patch set #19. I don\u0027t know why we want to provide this, since there is no CLI for it. I don\u0027t see why having a portgroups subcontroller in nodes (REST API) means that we have to provide a python API for this. (Or is that some sort of convention?)\n\nAnd if we decide that we do want to provide this -- we should probably mention it in the release notes.","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a22fe0a0a6f711cac4c7f83e56dc8aa52147c2c3","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            return self._list_pagination(self._path(path), \"ports\","},{"line_number":190,"context_line":"                                         limit\u003dlimit)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def list_portgroups(self, node_id, marker\u003dNone, limit\u003dNone, sort_key\u003dNone,"},{"line_number":193,"context_line":"                        sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":194,"context_line":"        \"\"\"List all the portgroups for a given node."},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_6102f30c","line":192,"in_reply_to":"1a6eadb0_69ebd178","updated":"2016-12-15 08:42:12.000000000","message":"We may add this function in future if it is needed. For now I agree, that there is no need to keep it in the client.","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"}],"ironicclient/v1/port_shell.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"05f9f40409dd023fb8e12f07c054c9efab328273","unresolved":false,"context_lines":[{"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--portgroup-uuid\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","},{"line_number":156,"context_line":"    help\u003d\u0027UUID of the portgroup that this port belongs to.\u0027)"},{"line_number":157,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_d3d16031","line":154,"range":{"start_line":154,"start_character":5,"end_line":154,"end_character":21},"updated":"2016-11-21 14:45:04.000000000","message":"Not only uuid here, so I\u0027d vote for just --portgroup. Also, the values in --portgroup and --node should not be specified together.","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"49c9e95d496eedeeade133c711ac1ccf89238a60","unresolved":false,"context_lines":[{"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--portgroup-uuid\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","},{"line_number":156,"context_line":"    help\u003d\u0027UUID of the portgroup that this port belongs to.\u0027)"},{"line_number":157,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_44447a1a","line":154,"range":{"start_line":154,"start_character":5,"end_line":154,"end_character":21},"in_reply_to":"7a77a97e_d3d16031","updated":"2016-11-22 11:46:43.000000000","message":"Done specifying portgroup. To create port both --portgroup and --node are mandatory and should be defined.","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b39832475b5c72ff77f56852bbdc3eba11e95e52","unresolved":false,"context_lines":[{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup_uuid\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID or Name of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("},{"line_number":159,"context_line":"    \u0027--pxe-enabled\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_59f3a773","line":156,"updated":"2016-11-23 14:06:13.000000000","message":"if we support names here, why is it called uuid?","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7a5d717571e3cf40a8ecd9fa2c070276733d321e","unresolved":false,"context_lines":[{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup_uuid\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID or Name of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("},{"line_number":159,"context_line":"    \u0027--pxe-enabled\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a6eadb0_52e4750c","line":156,"in_reply_to":"5a74a57a_59f3a773","updated":"2016-12-12 18:39:31.000000000","message":"Afaik, API receives portgroup_uuid which may be uuid only https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/port.py#L136","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"dc2f5aa1657e3cc6ff83819ebb34e5560636ba50","unresolved":false,"context_lines":[{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup_uuid\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID or Name of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("},{"line_number":159,"context_line":"    \u0027--pxe-enabled\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_20faf6bd","line":156,"in_reply_to":"5a74a57a_59f3a773","updated":"2016-11-24 14:24:35.000000000","message":"Done","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID or Name of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("},{"line_number":159,"context_line":"    \u0027--pxe-enabled\u0027,"},{"line_number":160,"context_line":"    metavar\u003d\u0027\u003cboolean\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_775598c4","line":157,"updated":"2016-12-08 23:07:56.000000000","message":"we should go through and change all user-facing \u0027portgroup\u0027 to \u0027port group\u0027 but that can be done outside this patch since it is all over.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"4edaeefb864867b680284da0148765228c3d7cc2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("},{"line_number":159,"context_line":"    \u0027--pxe-enabled\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_8b6ec1c7","line":156,"updated":"2016-12-13 08:31:31.000000000","message":"should be portgroup_uuid as API accepts this key.","commit_id":"bc69c75473cdc377b4faa15477aac7fa3d7e164d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"74aa14eba911e4c7f5af8f390bc8efb296076703","unresolved":false,"context_lines":[{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("},{"line_number":159,"context_line":"    \u0027--pxe-enabled\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_cb6d1934","line":156,"in_reply_to":"1a6eadb0_8b6ec1c7","updated":"2016-12-13 08:45:01.000000000","message":"Done","commit_id":"bc69c75473cdc377b4faa15477aac7fa3d7e164d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    \"Can be specified multiple times.\")"},{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup_uuid\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_876931c1","line":155,"updated":"2016-12-13 21:06:46.000000000","message":"to be consistent with the node, i think we should use \u0027portgroup\u0027 here. (This is used/displayed in the command line help i think.)","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    \"Can be specified multiple times.\")"},{"line_number":153,"context_line":"@cliutils.arg("},{"line_number":154,"context_line":"    \u0027--portgroup\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\"\u003cportgroup_uuid\u003e\","},{"line_number":156,"context_line":"    dest\u003d\u0027portgroup_uuid\u0027,"},{"line_number":157,"context_line":"    help\u003d\u0027UUID of the portgroup that this port belongs to.\u0027)"},{"line_number":158,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_1a038610","line":155,"in_reply_to":"1a6eadb0_876931c1","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"}],"ironicclient/v1/portgroup.py":[{"author":{"_account_id":20522,"name":"Aline Bousquet","email":"albousque@gmail.com","username":"alineb"},"change_message_id":"41465e98fd521a4ee1c8aee0c32d311c861cc832","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":150,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        :param portgroup_id: The uuid of a portgroup."},{"line_number":153,"context_line":"        :param fields: Optional, a list with a specified set of fields"},{"line_number":154,"context_line":"                       of the resource to be returned. Can not be used"},{"line_number":155,"context_line":"                       when \u0027detail\u0027 is set."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_b7e4fcab","line":152,"range":{"start_line":152,"start_character":33,"end_line":152,"end_character":37},"updated":"2016-09-08 13:18:28.000000000","message":"Is portgroup_id always a uuid or can it be a name?","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"10a466f3cdd5b844d498e56e3c94ed3fa71dd0b1","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":150,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        :param portgroup_id: The uuid of a portgroup."},{"line_number":153,"context_line":"        :param fields: Optional, a list with a specified set of fields"},{"line_number":154,"context_line":"                       of the resource to be returned. Can not be used"},{"line_number":155,"context_line":"                       when \u0027detail\u0027 is set."}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_8a4ccc43","line":152,"range":{"start_line":152,"start_character":33,"end_line":152,"end_character":37},"in_reply_to":"9a89bdaa_b7e4fcab","updated":"2016-09-29 14:49:04.000000000","message":"It works with name too. Portgroup-show subcommand accepts  name as argument.","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"efe65fdb623bdb446347a0eb6658eade4f6c89ab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 SAP Ltd."},{"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":17,"id":"3a71b18c_617cd6eb","line":1,"updated":"2016-12-09 15:42:59.000000000","message":"ditto (2016)","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 SAP Ltd."},{"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":17,"id":"1a6eadb0_2ddde170","line":1,"in_reply_to":"3a71b18c_617cd6eb","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class Portgroup(base.Resource):"},{"line_number":22,"context_line":"    def __repr__(self):"},{"line_number":23,"context_line":"        return \"\u003cPortGroup %s\u003e\" % self._info"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class PortgroupManager(base.CreateManager):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_175b84f7","line":23,"updated":"2016-12-08 23:07:56.000000000","message":"the class is \u0027Portgroup\u0027, not \u0027PortGroup\u0027.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class Portgroup(base.Resource):"},{"line_number":22,"context_line":"    def __repr__(self):"},{"line_number":23,"context_line":"        return \"\u003cPortGroup %s\u003e\" % self._info"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class PortgroupManager(base.CreateManager):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_4dda1d7a","line":23,"in_reply_to":"3a71b18c_175b84f7","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                         limit\u003dlimit)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":151,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":154,"context_line":"        :param fields: Optional, a list with a specified set of fields"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_17eaa4ac","line":151,"updated":"2016-12-08 23:07:56.000000000","message":"How about\n\nGet a port group with the specified identifier.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                         limit\u003dlimit)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":151,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":154,"context_line":"        :param fields: Optional, a list with a specified set of fields"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_cdd46d49","line":151,"in_reply_to":"3a71b18c_17eaa4ac","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":151,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":154,"context_line":"        :param fields: Optional, a list with a specified set of fields"},{"line_number":155,"context_line":"                       of the resource to be returned. Can not be used"},{"line_number":156,"context_line":"                       when \u0027detail\u0027 is set."}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_b703b075","line":153,"updated":"2016-12-08 23:07:56.000000000","message":"s/uuid/UUID/","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    def get(self, portgroup_id, fields\u003dNone):"},{"line_number":151,"context_line":"        \"\"\"Find a portgroup based on its id return a Portgroup object."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":154,"context_line":"        :param fields: Optional, a list with a specified set of fields"},{"line_number":155,"context_line":"                       of the resource to be returned. Can not be used"},{"line_number":156,"context_line":"                       when \u0027detail\u0027 is set."}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_4dc13d80","line":153,"in_reply_to":"3a71b18c_b703b075","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        return self._get(resource_id\u003dportgroup_id, fields\u003dfields)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":164,"context_line":"        \"\"\"Find a portgroup based on its MAC address return a Portgroup object."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        :param address: The MAC address of a portgroup."},{"line_number":167,"context_line":"        :param fields: Optional, a list with a specified set of fields"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_b72ad0e5","line":164,"updated":"2016-12-08 23:07:56.000000000","message":"Get a port group with the specified MAC address ?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        return self._get(resource_id\u003dportgroup_id, fields\u003dfields)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def get_by_address(self, address, fields\u003dNone):"},{"line_number":164,"context_line":"        \"\"\"Find a portgroup based on its MAC address return a Portgroup object."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        :param address: The MAC address of a portgroup."},{"line_number":167,"context_line":"        :param fields: Optional, a list with a specified set of fields"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_8dbb550e","line":164,"in_reply_to":"3a71b18c_b72ad0e5","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    def delete(self, portgroup_id):"},{"line_number":190,"context_line":"        \"\"\"Delete the Portgroup from the DB."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        \"\"\""},{"line_number":195,"context_line":"        return self._delete(resource_id\u003dportgroup_id)"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_573a5c35","line":192,"updated":"2016-12-08 23:07:56.000000000","message":"s/uuid/UUID/","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    def delete(self, portgroup_id):"},{"line_number":190,"context_line":"        \"\"\"Delete the Portgroup from the DB."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        \"\"\""},{"line_number":195,"context_line":"        return self._delete(resource_id\u003dportgroup_id)"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_2da321a0","line":192,"in_reply_to":"3a71b18c_573a5c35","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    def update(self, portgroup_id, patch):"},{"line_number":198,"context_line":"        \"\"\"Update the Portgroup."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":201,"context_line":"        :param patch: New version of a given resource."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_d714aca0","line":200,"updated":"2016-12-08 23:07:56.000000000","message":"ditto","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    def update(self, portgroup_id, patch):"},{"line_number":198,"context_line":"        \"\"\"Update the Portgroup."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":201,"context_line":"        :param patch: New version of a given resource."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_0d5d85e9","line":200,"in_reply_to":"3a71b18c_d714aca0","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        \"\"\"Update the Portgroup."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":201,"context_line":"        :param patch: New version of a given resource."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":"        return self._update(resource_id\u003dportgroup_id, patch\u003dpatch)"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_772038f8","line":201,"updated":"2016-12-08 23:07:56.000000000","message":"it only has the changes/updates, right? It isn\u0027t the entire new version of a portgroup, is it?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        \"\"\"Update the Portgroup."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param portgroup_id: The uuid or name of a portgroup."},{"line_number":201,"context_line":"        :param patch: New version of a given resource."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        \"\"\""},{"line_number":204,"context_line":"        return self._update(resource_id\u003dportgroup_id, patch\u003dpatch)"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_ad49f190","line":201,"in_reply_to":"3a71b18c_772038f8","updated":"2016-12-12 18:38:48.000000000","message":"No, it is update only.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":20522,"name":"Aline Bousquet","email":"albousque@gmail.com","username":"alineb"},"change_message_id":"43a9b70d24bdc71ffd3654b0e81b6f932d40cfbb","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 portgroups."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param node_uuid: Optional, UUID or name of a node, to get"},{"line_number":37,"context_line":"                       the portgroups for that node."},{"line_number":38,"context_line":"        :param address: Optional, MAC address of a portgroup, to get"},{"line_number":39,"context_line":"                       the portgroup which has this MAC address."}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_9dbb55c4","line":36,"range":{"start_line":36,"start_character":15,"end_line":36,"end_character":24},"updated":"2016-12-13 17:21:04.000000000","message":"nit: s/node_uuid/node/","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","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 portgroups."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param node_uuid: Optional, UUID or name of a node, to get"},{"line_number":37,"context_line":"                       the portgroups for that node."},{"line_number":38,"context_line":"        :param address: Optional, MAC address of a portgroup, to get"},{"line_number":39,"context_line":"                       the portgroup which has this MAC address."}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_fd35e4d9","line":36,"range":{"start_line":36,"start_character":15,"end_line":36,"end_character":24},"in_reply_to":"1a6eadb0_9dbb55c4","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":20522,"name":"Aline Bousquet","email":"albousque@gmail.com","username":"alineb"},"change_message_id":"43a9b70d24bdc71ffd3654b0e81b6f932d40cfbb","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                       when \u0027detail\u0027 is set."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        :returns: A list of ports."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        if limit is not None:"},{"line_number":128,"context_line":"            limit \u003d int(limit)"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_9df35573","line":125,"updated":"2016-12-13 17:21:04.000000000","message":"nit: Maybe add \u0027:raises: InvalidAttribute\u0027 here?","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                       when \u0027detail\u0027 is set."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        :returns: A list of ports."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        if limit is not None:"},{"line_number":128,"context_line":"            limit \u003d int(limit)"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_3d83dc57","line":125,"in_reply_to":"1a6eadb0_9df35573","updated":"2016-12-14 16:59:36.000000000","message":"list of possible API exceptions is defined on API side, no need to duplicate it here.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"}],"ironicclient/v1/portgroup_shell.py":[{"author":{"_account_id":20522,"name":"Aline Bousquet","email":"albousque@gmail.com","username":"alineb"},"change_message_id":"41465e98fd521a4ee1c8aee0c32d311c861cc832","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    default\u003dFalse,"},{"line_number":69,"context_line":"    help\u003d\"Show detailed information about portgroups.\")"},{"line_number":70,"context_line":"@cliutils.arg("},{"line_number":71,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":72,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_0c7f5fe0","line":71,"updated":"2016-09-08 13:18:28.000000000","message":"Maybe you could also add the possibility to use \u0027--node_uuid\u0027 for consistency with do_portgroup_create?","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f95d6b0f837cc6d5b73227dc9bd85bd272d8a439","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    default\u003dFalse,"},{"line_number":69,"context_line":"    help\u003d\"Show detailed information about portgroups.\")"},{"line_number":70,"context_line":"@cliutils.arg("},{"line_number":71,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":72,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_12fb4848","line":71,"in_reply_to":"9a89bdaa_0c7f5fe0","updated":"2016-10-07 08:42:58.000000000","message":"Done","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"ee3b072dbb2c7e334f1578cb3d645c6c80300d4a","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            cc.portgroup.delete(p)"},{"line_number":256,"context_line":"            print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":257,"context_line":"        except exceptions.ClientException as e:"},{"line_number":258,"context_line":"            failures.append(_(\"Failed to delete node %(node)s: %(error)s\")"},{"line_number":259,"context_line":"                            % {\u0027node\u0027: p, \u0027error\u0027: e})"},{"line_number":260,"context_line":"    if failures:"},{"line_number":261,"context_line":"        raise exceptions.ClientException(\"\\n\".join(failures))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_0fd1ae57","line":258,"range":{"start_line":258,"start_character":48,"end_line":258,"end_character":59},"updated":"2016-09-29 14:38:17.000000000","message":"Here it should be about portgroup.","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f95d6b0f837cc6d5b73227dc9bd85bd272d8a439","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            cc.portgroup.delete(p)"},{"line_number":256,"context_line":"            print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":257,"context_line":"        except exceptions.ClientException as e:"},{"line_number":258,"context_line":"            failures.append(_(\"Failed to delete node %(node)s: %(error)s\")"},{"line_number":259,"context_line":"                            % {\u0027node\u0027: p, \u0027error\u0027: e})"},{"line_number":260,"context_line":"    if failures:"},{"line_number":261,"context_line":"        raise exceptions.ClientException(\"\\n\".join(failures))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_929d980c","line":258,"range":{"start_line":258,"start_character":48,"end_line":258,"end_character":59},"in_reply_to":"3a98d1f4_0fd1ae57","updated":"2016-10-07 08:42:58.000000000","message":"Done","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"ee3b072dbb2c7e334f1578cb3d645c6c80300d4a","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":257,"context_line":"        except exceptions.ClientException as e:"},{"line_number":258,"context_line":"            failures.append(_(\"Failed to delete node %(node)s: %(error)s\")"},{"line_number":259,"context_line":"                            % {\u0027node\u0027: p, \u0027error\u0027: e})"},{"line_number":260,"context_line":"    if failures:"},{"line_number":261,"context_line":"        raise exceptions.ClientException(\"\\n\".join(failures))"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_6fceb2b5","line":259,"range":{"start_line":259,"start_character":32,"end_line":259,"end_character":36},"updated":"2016-09-29 14:38:17.000000000","message":"portgroup","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f95d6b0f837cc6d5b73227dc9bd85bd272d8a439","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            print(\u0027Deleted portgroup %s\u0027 % p)"},{"line_number":257,"context_line":"        except exceptions.ClientException as e:"},{"line_number":258,"context_line":"            failures.append(_(\"Failed to delete node %(node)s: %(error)s\")"},{"line_number":259,"context_line":"                            % {\u0027node\u0027: p, \u0027error\u0027: e})"},{"line_number":260,"context_line":"    if failures:"},{"line_number":261,"context_line":"        raise exceptions.ClientException(\"\\n\".join(failures))"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_d28ba0c1","line":259,"range":{"start_line":259,"start_character":32,"end_line":259,"end_character":36},"in_reply_to":"3a98d1f4_6fceb2b5","updated":"2016-10-07 08:42:58.000000000","message":"Done","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"05f9f40409dd023fb8e12f07c054c9efab328273","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    metavar\u003d\"\u003ckey\u003dvalue\u003e\","},{"line_number":163,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":164,"context_line":"    help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":165,"context_line":"         \"Can be specified multiple times.\")"},{"line_number":166,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":167,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":168,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_f392dc4a","line":165,"updated":"2016-11-21 14:45:04.000000000","message":"standalone_ports_supported here too?","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"49c9e95d496eedeeade133c711ac1ccf89238a60","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    metavar\u003d\"\u003ckey\u003dvalue\u003e\","},{"line_number":163,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":164,"context_line":"    help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":165,"context_line":"         \"Can be specified multiple times.\")"},{"line_number":166,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":167,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":168,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_e794a8e9","line":165,"in_reply_to":"7a77a97e_f392dc4a","updated":"2016-11-22 11:46:43.000000000","message":"Done","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"05f9f40409dd023fb8e12f07c054c9efab328273","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":249,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":250,"context_line":"def do_portgroup_delete(cc, args):"},{"line_number":251,"context_line":"    \"\"\"Delete a portgroup.\"\"\""},{"line_number":252,"context_line":"    failures \u003d []"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_13aaf885","line":249,"updated":"2016-11-21 14:45:04.000000000","message":"or name","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"49c9e95d496eedeeade133c711ac1ccf89238a60","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":249,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":250,"context_line":"def do_portgroup_delete(cc, args):"},{"line_number":251,"context_line":"    \"\"\"Delete a portgroup.\"\"\""},{"line_number":252,"context_line":"    failures \u003d []"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_a762b0d6","line":249,"in_reply_to":"7a77a97e_13aaf885","updated":"2016-11-22 11:46:43.000000000","message":"Done","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"05f9f40409dd023fb8e12f07c054c9efab328273","unresolved":false,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027,"},{"line_number":265,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":266,"context_line":"@cliutils.arg("},{"line_number":267,"context_line":"    \u0027op\u0027,"},{"line_number":268,"context_line":"    metavar\u003d\u0027\u003cop\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_d39fa063","line":265,"updated":"2016-11-21 14:45:04.000000000","message":"or name","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"49c9e95d496eedeeade133c711ac1ccf89238a60","unresolved":false,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"@cliutils.arg(\u0027portgroup\u0027, metavar\u003d\u0027\u003cportgroup\u003e\u0027,"},{"line_number":265,"context_line":"              help\u003d\"UUID of the portgroup.\")"},{"line_number":266,"context_line":"@cliutils.arg("},{"line_number":267,"context_line":"    \u0027op\u0027,"},{"line_number":268,"context_line":"    metavar\u003d\u0027\u003cop\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_c75dec16","line":265,"in_reply_to":"7a77a97e_d39fa063","updated":"2016-11-22 11:46:43.000000000","message":"Done","commit_id":"c1504006e35d324dd12f15d1a120060d4394f904"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b39832475b5c72ff77f56852bbdc3eba11e95e52","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    default\u003dFalse,"},{"line_number":69,"context_line":"    help\u003d\"Show detailed information about portgroups.\")"},{"line_number":70,"context_line":"@cliutils.arg("},{"line_number":71,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":72,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_79e8637d","line":71,"updated":"2016-11-23 14:06:13.000000000","message":"let\u0027s not add --node_uuid, --node is enough","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"dc2f5aa1657e3cc6ff83819ebb34e5560636ba50","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    default\u003dFalse,"},{"line_number":69,"context_line":"    help\u003d\"Show detailed information about portgroups.\")"},{"line_number":70,"context_line":"@cliutils.arg("},{"line_number":71,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":72,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_a0d0c654","line":71,"in_reply_to":"5a74a57a_79e8637d","updated":"2016-11-24 14:24:35.000000000","message":"Done","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b39832475b5c72ff77f56852bbdc3eba11e95e52","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    required\u003dTrue,"},{"line_number":149,"context_line":"    help\u003d\u0027MAC address for this portgroup.\u0027)"},{"line_number":150,"context_line":"@cliutils.arg("},{"line_number":151,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":152,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_99ed3f8e","line":151,"updated":"2016-11-23 14:06:13.000000000","message":"ditto","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"dc2f5aa1657e3cc6ff83819ebb34e5560636ba50","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    required\u003dTrue,"},{"line_number":149,"context_line":"    help\u003d\u0027MAC address for this portgroup.\u0027)"},{"line_number":150,"context_line":"@cliutils.arg("},{"line_number":151,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":152,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a74a57a_c00862dc","line":151,"in_reply_to":"5a74a57a_99ed3f8e","updated":"2016-11-24 14:24:35.000000000","message":"Done","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7a5d717571e3cf40a8ecd9fa2c070276733d321e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    required\u003dTrue,"},{"line_number":149,"context_line":"    help\u003d\u0027MAC address for this portgroup.\u0027)"},{"line_number":150,"context_line":"@cliutils.arg("},{"line_number":151,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":152,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a6eadb0_92aa8d6f","line":151,"in_reply_to":"5a74a57a_99ed3f8e","updated":"2016-12-12 18:39:31.000000000","message":"We can\u0027t use name here, it is not allowed on API side: https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/portgroup.py#L83","commit_id":"ae6ca09fe6281bc504728893a5607b1046d55381"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b04f23ad0fc451a79e0e33971aef48b386d36b91","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    help\u003d\u0027MAC address for this portgroup.\u0027)"},{"line_number":150,"context_line":"@cliutils.arg("},{"line_number":151,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":152,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"},{"line_number":155,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a74a57a_75f9044d","line":152,"updated":"2016-11-24 18:51:55.000000000","message":"just node","commit_id":"b871825ce113acc1e14974cd71d1e101605b5708"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"7bd1c5d1c051a6722ecd266e2fe49d6729c9dbea","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    help\u003d\u0027MAC address for this portgroup.\u0027)"},{"line_number":150,"context_line":"@cliutils.arg("},{"line_number":151,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":152,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"},{"line_number":155,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a74a57a_5b319704","line":152,"in_reply_to":"5a74a57a_75f9044d","updated":"2016-11-24 20:47:18.000000000","message":"Done","commit_id":"b871825ce113acc1e14974cd71d1e101605b5708"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":72,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"},{"line_number":75,"context_line":"@cliutils.arg("},{"line_number":76,"context_line":"    \u0027--address\u0027,"},{"line_number":77,"context_line":"    metavar\u003d\u0027\u003cmac-address\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_375ec045","line":74,"updated":"2016-12-08 23:07:56.000000000","message":"I think we can allow node UUID or node name","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    \u0027-n\u0027, \u0027--node\u0027,"},{"line_number":72,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"},{"line_number":75,"context_line":"@cliutils.arg("},{"line_number":76,"context_line":"    \u0027--address\u0027,"},{"line_number":77,"context_line":"    metavar\u003d\u0027\u003cmac-address\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_7276d13f","line":74,"in_reply_to":"3a71b18c_375ec045","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    portgroup \u003d cc.portgroup.list(**params)"},{"line_number":140,"context_line":"    cliutils.print_list(portgroup, fields,"},{"line_number":141,"context_line":"                        field_labels\u003dfield_labels,"},{"line_number":142,"context_line":"                        sortby_index\u003dNone)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_022344a8","line":142,"updated":"2016-12-08 23:07:56.000000000","message":"and \u0027json_flag\u003dargs.json\u0027","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    portgroup \u003d cc.portgroup.list(**params)"},{"line_number":140,"context_line":"    cliutils.print_list(portgroup, fields,"},{"line_number":141,"context_line":"                        field_labels\u003dfield_labels,"},{"line_number":142,"context_line":"                        sortby_index\u003dNone)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_486f6b92","line":142,"in_reply_to":"3a71b18c_022344a8","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"},{"line_number":155,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"},{"line_number":156,"context_line":"@cliutils.arg("},{"line_number":157,"context_line":"    \u0027--name\u0027,"},{"line_number":158,"context_line":"    metavar\u003d\"\u003cname\u003e\","}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_e2564805","line":155,"updated":"2016-12-08 23:07:56.000000000","message":"or name of the node","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    dest\u003d\u0027node\u0027,"},{"line_number":153,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":154,"context_line":"    required\u003dTrue,"},{"line_number":155,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"},{"line_number":156,"context_line":"@cliutils.arg("},{"line_number":157,"context_line":"    \u0027--name\u0027,"},{"line_number":158,"context_line":"    metavar\u003d\"\u003cname\u003e\","}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_a8047fc6","line":155,"in_reply_to":"3a71b18c_e2564805","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    fields \u003d utils.args_array_to_dict(fields, \u0027extra\u0027)"},{"line_number":178,"context_line":"    portgroup \u003d cc.portgroup.create(**fields)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    field_list.append(\u0027uuid\u0027)"},{"line_number":181,"context_line":"    data \u003d dict([(f, getattr(portgroup, f, \u0027\u0027)) for f in field_list])"},{"line_number":182,"context_line":"    cliutils.print_dict(data, wrap\u003d72, json_flag\u003dargs.json)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_e27ba879","line":180,"updated":"2016-12-08 23:07:56.000000000","message":"hmm. it isn\u0027t in the spec, but is there any reason not to allow the caller to specify the UUID for the portgroup? We allows it for ports and nodes. and chassis. I think we should allow it here too for consistency.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    fields \u003d utils.args_array_to_dict(fields, \u0027extra\u0027)"},{"line_number":178,"context_line":"    portgroup \u003d cc.portgroup.create(**fields)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    field_list.append(\u0027uuid\u0027)"},{"line_number":181,"context_line":"    data \u003d dict([(f, getattr(portgroup, f, \u0027\u0027)) for f in field_list])"},{"line_number":182,"context_line":"    cliutils.print_dict(data, wrap\u003d72, json_flag\u003dargs.json)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_68db471c","line":180,"in_reply_to":"3a71b18c_e27ba879","updated":"2016-12-12 18:38:48.000000000","message":"We do, but we shouldn\u0027t... Might be will fix it in future.","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"4edaeefb864867b680284da0148765228c3d7cc2","unresolved":false,"context_lines":[{"line_number":170,"context_line":"         \u0027in stand alone mode.\u0027)"},{"line_number":171,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":172,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":173,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027, \u0027uuid\u0027"},{"line_number":174,"context_line":"                  \u0027standalone_ports_supported\u0027]"},{"line_number":175,"context_line":"    fields \u003d dict((k, v) for (k, v) in vars(args).items()"},{"line_number":176,"context_line":"                  if k in field_list and not (v is None))"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_0b6391dd","line":173,"updated":"2016-12-13 08:31:31.000000000","message":"missed ,","commit_id":"bc69c75473cdc377b4faa15477aac7fa3d7e164d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"74aa14eba911e4c7f5af8f390bc8efb296076703","unresolved":false,"context_lines":[{"line_number":170,"context_line":"         \u0027in stand alone mode.\u0027)"},{"line_number":171,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":172,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":173,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027, \u0027uuid\u0027"},{"line_number":174,"context_line":"                  \u0027standalone_ports_supported\u0027]"},{"line_number":175,"context_line":"    fields \u003d dict((k, v) for (k, v) in vars(args).items()"},{"line_number":176,"context_line":"                  if k in field_list and not (v is None))"}],"source_content_type":"text/x-python","patch_set":18,"id":"1a6eadb0_cb543956","line":173,"in_reply_to":"1a6eadb0_0b6391dd","updated":"2016-12-13 08:45:01.000000000","message":"Done","commit_id":"bc69c75473cdc377b4faa15477aac7fa3d7e164d"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    dest\u003d\u0027fields\u0027,"},{"line_number":46,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"},{"line_number":47,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":48,"context_line":"    default\u003d[],"},{"line_number":49,"context_line":"    help\u003d\"One or more portgroup fields. Only these fields will be fetched \""},{"line_number":50,"context_line":"         \"from the server.\")"},{"line_number":51,"context_line":"def do_portgroup_show(cc, args):"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_3ce92c15","line":48,"range":{"start_line":48,"start_character":4,"end_line":48,"end_character":15},"updated":"2016-12-14 13:29:56.000000000","message":"If we don\u0027t write this line, we won\u0027t have to do args.fields[0] on line 53 iirc. maybe that\u0027s ok to leave it as is and fix separately everywhere.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    dest\u003d\u0027fields\u0027,"},{"line_number":46,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"},{"line_number":47,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":48,"context_line":"    default\u003d[],"},{"line_number":49,"context_line":"    help\u003d\"One or more portgroup fields. Only these fields will be fetched \""},{"line_number":50,"context_line":"         \"from the server.\")"},{"line_number":51,"context_line":"def do_portgroup_show(cc, args):"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_9df790f4","line":48,"range":{"start_line":48,"start_character":4,"end_line":48,"end_character":15},"in_reply_to":"1a6eadb0_3ce92c15","updated":"2016-12-14 16:59:36.000000000","message":"I will fix everywhere as follow up.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"},{"line_number":75,"context_line":"@cliutils.arg("},{"line_number":76,"context_line":"    \u0027--address\u0027,"},{"line_number":77,"context_line":"    metavar\u003d\u0027\u003cmac-address\u003e\u0027,"},{"line_number":78,"context_line":"    help\u003d\u0027Only show information for the portgroup with this MAC address.\u0027)"},{"line_number":79,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_1ce4700b","line":76,"updated":"2016-12-14 13:29:56.000000000","message":"-a possible here too?","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":74,"context_line":"    help\u003d\u0027UUID of the node that this portgroup belongs to.\u0027)"},{"line_number":75,"context_line":"@cliutils.arg("},{"line_number":76,"context_line":"    \u0027--address\u0027,"},{"line_number":77,"context_line":"    metavar\u003d\u0027\u003cmac-address\u003e\u0027,"},{"line_number":78,"context_line":"    help\u003d\u0027Only show information for the portgroup with this MAC address.\u0027)"},{"line_number":79,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_bdc52c8f","line":76,"in_reply_to":"1a6eadb0_1ce4700b","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"0e3ce964980fd63fa08eae37f8124878697ca10c","unresolved":false,"context_lines":[{"line_number":170,"context_line":"         \u0027in stand alone mode.\u0027)"},{"line_number":171,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":172,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":173,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027, \u0027uuid\u0027,"},{"line_number":174,"context_line":"                  \u0027standalone_ports_supported\u0027]"},{"line_number":175,"context_line":"    fields \u003d dict((k, v) for (k, v) in vars(args).items()"},{"line_number":176,"context_line":"                  if k in field_list and not (v is None))"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_bce8dcb5","line":173,"range":{"start_line":173,"start_character":60,"end_line":173,"end_character":64},"updated":"2016-12-14 13:29:56.000000000","message":"You don\u0027t have --uuid parameter in decorators.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":170,"context_line":"         \u0027in stand alone mode.\u0027)"},{"line_number":171,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":172,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":173,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027, \u0027uuid\u0027,"},{"line_number":174,"context_line":"                  \u0027standalone_ports_supported\u0027]"},{"line_number":175,"context_line":"    fields \u003d dict((k, v) for (k, v) in vars(args).items()"},{"line_number":176,"context_line":"                  if k in field_list and not (v is None))"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_7dde3440","line":173,"range":{"start_line":173,"start_character":60,"end_line":173,"end_character":64},"in_reply_to":"1a6eadb0_bce8dcb5","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3458a86fcb5ef355f6155f07b7492f26372b550d","unresolved":false,"context_lines":[{"line_number":171,"context_line":"@cliutils.arg("},{"line_number":172,"context_line":"    \u0027-u\u0027, \u0027--uuid\u0027,"},{"line_number":173,"context_line":"    metavar\u003d\u0027\u003cuuid\u003e\u0027,"},{"line_number":174,"context_line":"    help\u003d\"UUID of the portgroup.\")"},{"line_number":175,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":176,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":177,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027, \u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_a9f7a989","line":174,"updated":"2016-12-14 20:03:40.000000000","message":"nit s/UUID/Unique UUID/","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a22fe0a0a6f711cac4c7f83e56dc8aa52147c2c3","unresolved":false,"context_lines":[{"line_number":171,"context_line":"@cliutils.arg("},{"line_number":172,"context_line":"    \u0027-u\u0027, \u0027--uuid\u0027,"},{"line_number":173,"context_line":"    metavar\u003d\u0027\u003cuuid\u003e\u0027,"},{"line_number":174,"context_line":"    help\u003d\"UUID of the portgroup.\")"},{"line_number":175,"context_line":"def do_portgroup_create(cc, args):"},{"line_number":176,"context_line":"    \"\"\"Create a new portgroup.\"\"\""},{"line_number":177,"context_line":"    field_list \u003d [\u0027address\u0027, \u0027extra\u0027, \u0027node_uuid\u0027, \u0027name\u0027, \u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_415417c9","line":174,"in_reply_to":"1a6eadb0_a9f7a989","updated":"2016-12-15 08:42:12.000000000","message":"UUID abbreviature already contain Unique keyword, and in other places we just using UUID.","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"}],"ironicclient/v1/resource_fields.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f1cf90f9ac49c74a7b35295198a7642ad6c13101","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027pxe_enabled\u0027: \u0027PXE boot enabled\u0027,"},{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027individual_mode_supported\u0027: \u0027Individual Mode Supported\u0027"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_0d300407","line":73,"range":{"start_line":73,"start_character":9,"end_line":73,"end_character":34},"updated":"2016-08-31 10:21:08.000000000","message":"Field was renamed to standalone_ports_supported","commit_id":"118715b2d02c00fc5d4e78be7965a0a824c9a3ea"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"4af8a929667e62d13753e36f172bbddb1152a4f1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027pxe_enabled\u0027: \u0027PXE boot enabled\u0027,"},{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Individual Mode Supported\u0027"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_a8c0a82b","line":73,"range":{"start_line":73,"start_character":39,"end_line":73,"end_character":49},"updated":"2016-09-06 10:12:37.000000000","message":"Here it should not be changed?","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f95d6b0f837cc6d5b73227dc9bd85bd272d8a439","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027pxe_enabled\u0027: \u0027PXE boot enabled\u0027,"},{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Individual Mode Supported\u0027"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_72c3aced","line":73,"range":{"start_line":73,"start_character":39,"end_line":73,"end_character":49},"in_reply_to":"9a89bdaa_a8c0a82b","updated":"2016-10-07 08:42:58.000000000","message":"Done","commit_id":"0fe4533460d2bb493661c4c96b2ff50057ebbf7d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027pxe_enabled\u0027: \u0027PXE boot enabled\u0027,"},{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone ports Supported\u0027"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_c206ac84","line":73,"updated":"2016-12-08 23:07:56.000000000","message":"looks like it should be s/ports/Ports/","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027pxe_enabled\u0027: \u0027PXE boot enabled\u0027,"},{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone ports Supported\u0027"},{"line_number":74,"context_line":"    }"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_e8fd976f","line":73,"in_reply_to":"3a71b18c_c206ac84","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":206,"context_line":"     ],"},{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":210,"context_line":"        # the \"ports\" database table. \"node_id\" is stored, but it is internal"},{"line_number":211,"context_line":"        # to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_423a9c35","line":209,"updated":"2016-12-08 23:07:56.000000000","message":"or port_uuid","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":206,"context_line":"     ],"},{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":210,"context_line":"        # the \"ports\" database table. \"node_id\" is stored, but it is internal"},{"line_number":211,"context_line":"        # to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_2854ef52","line":209,"in_reply_to":"3a71b18c_423a9c35","updated":"2016-12-12 18:38:48.000000000","message":"port_uuid is in ports table, I thing you meant portgroup_uuid?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":210,"context_line":"        # the \"ports\" database table. \"node_id\" is stored, but it is internal"},{"line_number":211,"context_line":"        # to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":213,"context_line":"        \u0027internal_info\u0027,"},{"line_number":214,"context_line":"    ])"},{"line_number":215,"context_line":"PORT_RESOURCE \u003d Resource("}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_821bd4c9","line":212,"updated":"2016-12-08 23:07:56.000000000","message":"+ portgroup_uuid","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":210,"context_line":"        # the \"ports\" database table. \"node_id\" is stored, but it is internal"},{"line_number":211,"context_line":"        # to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":213,"context_line":"        \u0027internal_info\u0027,"},{"line_number":214,"context_line":"    ])"},{"line_number":215,"context_line":"PORT_RESOURCE \u003d Resource("}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_088813e7","line":212,"in_reply_to":"3a71b18c_821bd4c9","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":226,"context_line":"     \u0027standalone_ports_supported\u0027,"},{"line_number":227,"context_line":"     \u0027node_uuid\u0027,"},{"line_number":228,"context_line":"     \u0027name\u0027,"},{"line_number":229,"context_line":"     \u0027updated_at\u0027,"},{"line_number":230,"context_line":"     ],"},{"line_number":231,"context_line":"    sort_excluded\u003d["},{"line_number":232,"context_line":"        \u0027extra\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_e2d008cc","line":229,"updated":"2016-12-08 23:07:56.000000000","message":"did we decide not to show internal_info?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":226,"context_line":"     \u0027standalone_ports_supported\u0027,"},{"line_number":227,"context_line":"     \u0027node_uuid\u0027,"},{"line_number":228,"context_line":"     \u0027name\u0027,"},{"line_number":229,"context_line":"     \u0027updated_at\u0027,"},{"line_number":230,"context_line":"     ],"},{"line_number":231,"context_line":"    sort_excluded\u003d["},{"line_number":232,"context_line":"        \u0027extra\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_28778fd5","line":229,"in_reply_to":"3a71b18c_e2d008cc","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":234,"context_line":"        # the \"portgroups\" database table. \"node_id\" is stored, but it is"},{"line_number":235,"context_line":"        # internal to ironic. See bug #1443003 for more details."},{"line_number":236,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":237,"context_line":"    ])"},{"line_number":238,"context_line":"PORTGROUP_RESOURCE \u003d Resource("},{"line_number":239,"context_line":"    [\u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a71b18c_02a2644b","line":236,"updated":"2016-12-08 23:07:56.000000000","message":"also internal_info","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        # The server cannot sort on \"node_uuid\" because it isn\u0027t a column in"},{"line_number":234,"context_line":"        # the \"portgroups\" database table. \"node_id\" is stored, but it is"},{"line_number":235,"context_line":"        # internal to ironic. See bug #1443003 for more details."},{"line_number":236,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":237,"context_line":"    ])"},{"line_number":238,"context_line":"PORTGROUP_RESOURCE \u003d Resource("},{"line_number":239,"context_line":"    [\u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a6eadb0_887ee3ac","line":236,"in_reply_to":"3a71b18c_02a2644b","updated":"2016-12-12 18:38:48.000000000","message":"Done","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[{"line_number":206,"context_line":"     ],"},{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" or \"portgroup_uuid\" because it"},{"line_number":210,"context_line":"        # isn\u0027t a column in the \"ports\" database table. \"node_id\" is stored,"},{"line_number":211,"context_line":"        # but it is internal to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_8773f17f","line":209,"updated":"2016-12-13 21:06:46.000000000","message":"s/it isn\u0027t a column/they aren\u0027t columns/","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":206,"context_line":"     ],"},{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" or \"portgroup_uuid\" because it"},{"line_number":210,"context_line":"        # isn\u0027t a column in the \"ports\" database table. \"node_id\" is stored,"},{"line_number":211,"context_line":"        # but it is internal to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_fdc96479","line":209,"in_reply_to":"1a6eadb0_8773f17f","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" or \"portgroup_uuid\" because it"},{"line_number":210,"context_line":"        # isn\u0027t a column in the \"ports\" database table. \"node_id\" is stored,"},{"line_number":211,"context_line":"        # but it is internal to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":213,"context_line":"        \u0027portgroup_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_273bfd9d","line":210,"updated":"2016-12-13 21:06:46.000000000","message":"s/is stored/and \"portgroup_id\" are stored/","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" or \"portgroup_uuid\" because it"},{"line_number":210,"context_line":"        # isn\u0027t a column in the \"ports\" database table. \"node_id\" is stored,"},{"line_number":211,"context_line":"        # but it is internal to ironic. See bug #1443003 for more details."},{"line_number":212,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":213,"context_line":"        \u0027portgroup_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_1d73804e","line":210,"in_reply_to":"1a6eadb0_273bfd9d","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[{"line_number":228,"context_line":"     \u0027node_uuid\u0027,"},{"line_number":229,"context_line":"     \u0027name\u0027,"},{"line_number":230,"context_line":"     \u0027updated_at\u0027,"},{"line_number":231,"context_line":"     \u0027internal_info\u0027"},{"line_number":232,"context_line":"     ],"},{"line_number":233,"context_line":"    sort_excluded\u003d["},{"line_number":234,"context_line":"        \u0027extra\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_c76de999","line":231,"updated":"2016-12-13 21:06:46.000000000","message":"some people like a \u0027,\u0027 at the end here.","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":228,"context_line":"     \u0027node_uuid\u0027,"},{"line_number":229,"context_line":"     \u0027name\u0027,"},{"line_number":230,"context_line":"     \u0027updated_at\u0027,"},{"line_number":231,"context_line":"     \u0027internal_info\u0027"},{"line_number":232,"context_line":"     ],"},{"line_number":233,"context_line":"    sort_excluded\u003d["},{"line_number":234,"context_line":"        \u0027extra\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_5dba58c1","line":231,"in_reply_to":"1a6eadb0_c76de999","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        # the \"portgroups\" database table. \"node_id\" is stored, but it is"},{"line_number":237,"context_line":"        # internal to ironic. See bug #1443003 for more details."},{"line_number":238,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":239,"context_line":"        \u0027internal_info\u0027"},{"line_number":240,"context_line":"    ])"},{"line_number":241,"context_line":"PORTGROUP_RESOURCE \u003d Resource("},{"line_number":242,"context_line":"    [\u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_e768258a","line":239,"updated":"2016-12-13 21:06:46.000000000","message":"ditto","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        # the \"portgroups\" database table. \"node_id\" is stored, but it is"},{"line_number":237,"context_line":"        # internal to ironic. See bug #1443003 for more details."},{"line_number":238,"context_line":"        \u0027node_uuid\u0027,"},{"line_number":239,"context_line":"        \u0027internal_info\u0027"},{"line_number":240,"context_line":"    ])"},{"line_number":241,"context_line":"PORTGROUP_RESOURCE \u003d Resource("},{"line_number":242,"context_line":"    [\u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"1a6eadb0_7db1d4e0","line":239,"in_reply_to":"1a6eadb0_e768258a","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3458a86fcb5ef355f6155f07b7492f26372b550d","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" or \"portgroup_uuid\" because"},{"line_number":210,"context_line":"        # they aren\u0027t a columns in the \"ports\" database table. \"node_id\" and"},{"line_number":211,"context_line":"        # \"portgroup_id\" are stored, but it is internal to ironic."},{"line_number":212,"context_line":"        # See bug #1443003 for more details."},{"line_number":213,"context_line":"        \u0027node_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_c94785ba","line":210,"updated":"2016-12-14 20:03:40.000000000","message":"nit: s/a columns/columns/","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a22fe0a0a6f711cac4c7f83e56dc8aa52147c2c3","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    sort_excluded\u003d["},{"line_number":208,"context_line":"        \u0027extra\u0027,"},{"line_number":209,"context_line":"        # The server cannot sort on \"node_uuid\" or \"portgroup_uuid\" because"},{"line_number":210,"context_line":"        # they aren\u0027t a columns in the \"ports\" database table. \"node_id\" and"},{"line_number":211,"context_line":"        # \"portgroup_id\" are stored, but it is internal to ironic."},{"line_number":212,"context_line":"        # See bug #1443003 for more details."},{"line_number":213,"context_line":"        \u0027node_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a6eadb0_8160efa6","line":210,"in_reply_to":"1a6eadb0_c94785ba","updated":"2016-12-15 08:42:12.000000000","message":"Done","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"}],"releasenotes/notes/add-portgroups-support-c3cf3826093ee815.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Extend the IronicClient with new commands:"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    * ironic portgroup-create"},{"line_number":7,"context_line":"    * ironic portgroup-show"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3a71b18c_e2b5687e","line":4,"updated":"2016-12-08 23:07:56.000000000","message":"s/Extend/Extends/","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Extend the IronicClient with new commands:"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    * ironic portgroup-create"},{"line_number":7,"context_line":"    * ironic portgroup-show"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"1a6eadb0_9c8d447e","line":4,"in_reply_to":"3a71b18c_41635a1a","updated":"2016-12-12 18:38:48.000000000","message":"1. The openstack client changes are in next patch in this chain.\n\n2. Replaced with Ironic CLI","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":23883,"name":"Joanna Taryma","email":"joanna.taryma@intel.com","username":"jtaryma"},"change_message_id":"efe65fdb623bdb446347a0eb6658eade4f6c89ab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Extend the IronicClient with new commands:"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    * ironic portgroup-create"},{"line_number":7,"context_line":"    * ironic portgroup-show"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3a71b18c_41635a1a","line":4,"in_reply_to":"3a71b18c_e2b5687e","updated":"2016-12-09 15:42:59.000000000","message":"1. Will it affect openstack client?\n2. Is \"IronicClient\" official way of letter capitalization? If not, maybe ironic client would look better?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e2365bd775e6cc4b968fc34e5064816209e0be80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"3a71b18c_a249b090","line":11,"updated":"2016-12-08 23:07:56.000000000","message":"what about portgroup-port-list \u0026 node-portgroup-list?","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"63377734ccff0234b3d12f0880f1862dc4e4f59a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"1a6eadb0_7c906896","line":11,"in_reply_to":"3a71b18c_a249b090","updated":"2016-12-12 18:38:48.000000000","message":"We not introduce node-portgroup-list  according to: https://review.openstack.org/#/c/393660/6/specs/approved/ironic-ml2-integration.rst@1106","commit_id":"392f7f34a026829e88e5cac242102ff68a66eee4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"071c7ba08fd686344ad396f60e34b8417435815f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"1a6eadb0_e74585b3","line":12,"updated":"2016-12-13 21:06:46.000000000","message":"Also extends ironic port-create with --portgroup","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"85cacf7a9c1128f3ccbc5dcdd43794027a870908","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"1a6eadb0_5de178cf","line":12,"in_reply_to":"1a6eadb0_e74585b3","updated":"2016-12-14 16:59:36.000000000","message":"Done","commit_id":"800e2258443dd0119419a086e15fdbd5f96ce67b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3458a86fcb5ef355f6155f07b7492f26372b550d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    * ironic portgroup-update"},{"line_number":11,"context_line":"    * ironic portgroup-port-list"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Also extends ironic port-create with --portgroup"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1a6eadb0_89282de4","line":13,"updated":"2016-12-14 20:03:40.000000000","message":"nit, missing period at the end.","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a22fe0a0a6f711cac4c7f83e56dc8aa52147c2c3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    * ironic portgroup-update"},{"line_number":11,"context_line":"    * ironic portgroup-port-list"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Also extends ironic port-create with --portgroup"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1a6eadb0_3433d7f7","line":13,"in_reply_to":"1a6eadb0_89282de4","updated":"2016-12-15 08:42:12.000000000","message":"Done","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3458a86fcb5ef355f6155f07b7492f26372b550d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"1a6eadb0_acc33788","line":14,"updated":"2016-12-14 20:03:40.000000000","message":"I was just thinking, I don\u0027t know if we do this, but would it be useful to indicate which API version to use with these? (1.24 or higher I think).","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a22fe0a0a6f711cac4c7f83e56dc8aa52147c2c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"1a6eadb0_744f0f6b","line":14,"in_reply_to":"1a6eadb0_acc33788","updated":"2016-12-15 08:42:12.000000000","message":"Done","commit_id":"4b56576c7fa5e9f7b7bcb09f2ac24f7fe01f976c"}]}
