)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"bac4d5bfb33c31083f4aab7e2e2d023caef6663b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding security groups to existing ports"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Security groups were added to port request body only during creating port. When both port id and security groups were provided in request for launching instance, security groups were not updated in port."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"In this change, security groups are updated even in existing ports."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a80dd14_3f7a5688","line":9,"updated":"2015-03-13 13:14:49.000000000","message":"Also commit message lines should be shorter then 70 symbols.","commit_id":"1717d869e3ef60587a4d52bfbc48c71baed4de80"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"27aba5f46a2af45ac01b95aaab74573df4a22dcc","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            port_req_body[\u0027port\u0027][\u0027admin_state_up\u0027] \u003d True"},{"line_number":264,"context_line":"            port_req_body[\u0027port\u0027][\u0027tenant_id\u0027] \u003d instance.project_id"},{"line_number":265,"context_line":"            if security_group_ids:"},{"line_number":266,"context_line":"                port_req_body[\u0027port\u0027][\u0027security_groups\u0027] \u003d security_group_ids"},{"line_number":267,"context_line":"            if available_macs is not None:"},{"line_number":268,"context_line":"                if not available_macs:"},{"line_number":269,"context_line":"                    raise exception.PortNotFree("}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_aca019a6","side":"PARENT","line":266,"updated":"2015-03-18 17:27:14.000000000","message":"Hmm so not sure if we should stop doing it here - it kind of splits the creation of ports in two phases. IIUC the bug - we should do it in both places?","commit_id":"e63a81127604f698e83cf9ab907b2893ecd9203b"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"e653255c785366d16bf0dcde4d7140260db0c3d0","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            port_req_body[\u0027port\u0027][\u0027admin_state_up\u0027] \u003d True"},{"line_number":264,"context_line":"            port_req_body[\u0027port\u0027][\u0027tenant_id\u0027] \u003d instance.project_id"},{"line_number":265,"context_line":"            if security_group_ids:"},{"line_number":266,"context_line":"                port_req_body[\u0027port\u0027][\u0027security_groups\u0027] \u003d security_group_ids"},{"line_number":267,"context_line":"            if available_macs is not None:"},{"line_number":268,"context_line":"                if not available_macs:"},{"line_number":269,"context_line":"                    raise exception.PortNotFree("}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_ac173953","side":"PARENT","line":266,"in_reply_to":"9a80dd14_aca019a6","updated":"2015-03-18 17:36:06.000000000","message":"This method (_create_port) is called only by allocate_for_instance method (542 line), in which I put these two lines. So here, port_req_body already contains information about security group.","commit_id":"e63a81127604f698e83cf9ab907b2893ecd9203b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0566be319eedc5e4b07a515d0dd9a39de97cb962","unresolved":false,"context_lines":[{"line_number":521,"context_line":"            port_req_body \u003d {\u0027port\u0027: {\u0027device_id\u0027: instance.uuid,"},{"line_number":522,"context_line":"                                      \u0027device_owner\u0027: zone}}"},{"line_number":523,"context_line":"            if security_group_ids:"},{"line_number":524,"context_line":"                port_req_body[\u0027port\u0027][\u0027security_groups\u0027] \u003d security_group_ids"},{"line_number":525,"context_line":"            try:"},{"line_number":526,"context_line":"                self._populate_neutron_extension_values(context,"},{"line_number":527,"context_line":"                                                        instance,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_cbd79321","line":524,"updated":"2015-03-20 13:27:24.000000000","message":"Won\u0027t this wipe out any security groups that were already associated with the pre-existing port (if nova isn\u0027t creating the port)?","commit_id":"d4262d7fb318241db1bb88d1e4f7928fd88ef94e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b0d55e27c6b04ea466c1a0c0138bf3b4e52e60e7","unresolved":false,"context_lines":[{"line_number":521,"context_line":"            port_req_body \u003d {\u0027port\u0027: {\u0027device_id\u0027: instance.uuid,"},{"line_number":522,"context_line":"                                      \u0027device_owner\u0027: zone}}"},{"line_number":523,"context_line":"            if security_group_ids:"},{"line_number":524,"context_line":"                port_req_body[\u0027port\u0027][\u0027security_groups\u0027] \u003d security_group_ids"},{"line_number":525,"context_line":"            try:"},{"line_number":526,"context_line":"                self._populate_neutron_extension_values(context,"},{"line_number":527,"context_line":"                                                        instance,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4b50035e","line":524,"in_reply_to":"9a80dd14_cbd79321","updated":"2015-03-20 13:34:16.000000000","message":"This came up in the mailing list:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2015-February/056339.html\n\nI think this is an API change.\n\nI think our stance is (or should be) that pre-existing ports provided on boot are expected to be managed by and through neutron and nova shouldn\u0027t be mucking with them except to assign the device_id and device_owner.  Nova shouldn\u0027t update or replace the security groups for pre-existing ports.  Nova should only set the security group information on the ports that it creates itself.\n\nSo in the case of pre-existing ports, we could log a debug or info level message for pre-existing ports saying we\u0027re not going to update the security groups on them, but it shouldn\u0027t be a change nor should it be an error since both are API changes that aren\u0027t backwards compatible.","commit_id":"d4262d7fb318241db1bb88d1e4f7928fd88ef94e"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"27aba5f46a2af45ac01b95aaab74573df4a22dcc","unresolved":false,"context_lines":[{"line_number":3582,"context_line":"    }"},{"line_number":3583,"context_line":"    requested_security_groups \u003d [\u0027mysecgroup\u0027]"},{"line_number":3584,"context_line":""},{"line_number":3585,"context_line":"    def test_allocate_for_instance_with_secgroup_and_port(self):"},{"line_number":3586,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":3587,"context_line":"            objects\u003d[objects.NetworkRequest(port_id\u003d\u0027my_portid1\u0027)])"},{"line_number":3588,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_6c61c1d2","line":3585,"updated":"2015-03-18 17:27:14.000000000","message":"Lot of duplication in these tests - can we make it a bit more dense than this?","commit_id":"fad0311966fea45b059bf3d693cefd623126e36b"}]}
