)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"1e29d55b34ed4d976f0250d243a9839efe087d32","unresolved":false,"context_lines":[{"line_number":10,"context_line":"It\u0027s part of the neutron feature vm-without-l3-address."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Close-Bug: #1039665"},{"line_number":13,"context_line":"Partially Implements: blueprint vm-without-l3-address"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I419267ea4837e73ee05f3f468e121d070379b20f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_24c6889a","line":13,"updated":"2015-07-28 05:48:38.000000000","message":"Yalei, can you add Depends-On flag to reference to your neutron patch https://review.openstack.org/#/c/200809/","commit_id":"31154b507d54e6b55a6a1cce57516a281d45bb83"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"27c8f95906060880cb21f995d730e1767675a914","unresolved":false,"context_lines":[{"line_number":10,"context_line":"It\u0027s part of the neutron feature vm-without-l3-address."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Close-Bug: #1039665"},{"line_number":13,"context_line":"Partially Implements: blueprint vm-without-l3-address"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I419267ea4837e73ee05f3f468e121d070379b20f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_72ceb0b5","line":13,"in_reply_to":"3a50d1a3_24c6889a","updated":"2015-08-05 09:53:15.000000000","message":"Thanks, Done!","commit_id":"31154b507d54e6b55a6a1cce57516a281d45bb83"}],"nova/api/openstack/compute/plugins/v3/servers.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"8b46dc7252d7a11ddc402f4664621405966f8c27","unresolved":false,"context_lines":[{"line_number":624,"context_line":"                exception.FixedIpAlreadyInUse,"},{"line_number":625,"context_line":"                exception.SecurityGroupNotFound,"},{"line_number":626,"context_line":"                exception.PortRequiresFixedIP,"},{"line_number":627,"context_line":"                exception.NetworkRequiresSubnet,"},{"line_number":628,"context_line":"                exception.NetworkNotFound,"},{"line_number":629,"context_line":"                exception.NetworkDuplicated,"},{"line_number":630,"context_line":"                exception.InvalidBDMSnapshot,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_d96252d8","side":"PARENT","line":627,"range":{"start_line":627,"start_character":16,"end_line":627,"end_character":48},"updated":"2015-08-11 07:20:42.000000000","message":"This could be removed just like PortRequiresFixedIP.","commit_id":"5a986686801640ce87e76d7b2142458ffbe5bc46"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"fa6e44f24a92e7e92184a1a469c287f0cc5c23eb","unresolved":false,"context_lines":[{"line_number":624,"context_line":"                exception.FixedIpAlreadyInUse,"},{"line_number":625,"context_line":"                exception.SecurityGroupNotFound,"},{"line_number":626,"context_line":"                exception.PortRequiresFixedIP,"},{"line_number":627,"context_line":"                exception.NetworkRequiresSubnet,"},{"line_number":628,"context_line":"                exception.NetworkNotFound,"},{"line_number":629,"context_line":"                exception.NetworkDuplicated,"},{"line_number":630,"context_line":"                exception.InvalidBDMSnapshot,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_6a579e02","side":"PARENT","line":627,"in_reply_to":"1a4dcd0f_d96252d8","updated":"2015-08-11 08:31:18.000000000","message":"Done","commit_id":"5a986686801640ce87e76d7b2142458ffbe5bc46"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"86289ccb0c93b307c43c0065fd6995a16b87f610","unresolved":false,"context_lines":[{"line_number":1042,"context_line":"                                           neutron_client\u003dneutron)"},{"line_number":1043,"context_line":"                    if port.get(\u0027device_id\u0027, None):"},{"line_number":1044,"context_line":"                        raise exception.PortInUse(port_id\u003drequest.port_id)"},{"line_number":1045,"context_line":"                    if not port.get(\u0027fixed_ips\u0027):"},{"line_number":1046,"context_line":"                        raise exception.PortRequiresFixedIP("},{"line_number":1047,"context_line":"                            port_id\u003drequest.port_id)"},{"line_number":1048,"context_line":"                    request.network_id \u003d port[\u0027network_id\u0027]"},{"line_number":1049,"context_line":"                else:"},{"line_number":1050,"context_line":"                    ports_needed_per_instance +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_22562dce","side":"PARENT","line":1047,"range":{"start_line":1045,"start_character":0,"end_line":1047,"end_character":52},"updated":"2015-07-29 12:21:42.000000000","message":"This is the only place where PortRequiresFixedIP is raised. So you could either:\n\n - delete the definition of the exception class too, or\n - consider still raising it with a modified condition like in I3c42bc9dc6cc3f1c49fb1a060928fc7701a2189d","commit_id":"5a986686801640ce87e76d7b2142458ffbe5bc46"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"27c8f95906060880cb21f995d730e1767675a914","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"                        raise exception.PortInUse(port_id\u003drequest.port_id)"},{"line_number":1045,"context_line":"                    if not port.get(\u0027fixed_ips\u0027):"},{"line_number":1046,"context_line":"                        raise exception.PortRequiresFixedIP("},{"line_number":1047,"context_line":"                            port_id\u003drequest.port_id)"},{"line_number":1048,"context_line":"                    request.network_id \u003d port[\u0027network_id\u0027]"},{"line_number":1049,"context_line":"                else:"},{"line_number":1050,"context_line":"                    ports_needed_per_instance +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_12416ca9","side":"PARENT","line":1047,"in_reply_to":"3a50d1a3_22562dce","updated":"2015-08-05 09:53:15.000000000","message":"I think I will delete the exceptions, and I am not sure port-sec could be used here. ( I wish could, but it depends on the other patch in neutron)","commit_id":"5a986686801640ce87e76d7b2142458ffbe5bc46"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"86289ccb0c93b307c43c0065fd6995a16b87f610","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"                nets \u003d self._get_available_networks("},{"line_number":1079,"context_line":"                    context, context.project_id, net_ids_requested,"},{"line_number":1080,"context_line":"                    neutron\u003dneutron)"},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":"                for net in nets:"},{"line_number":1083,"context_line":"                    if not net.get(\u0027subnets\u0027):"},{"line_number":1084,"context_line":"                        raise exception.NetworkRequiresSubnet("},{"line_number":1085,"context_line":"                            network_uuid\u003dnet[\u0027id\u0027])"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"                if len(nets) !\u003d len(net_ids_requested):"},{"line_number":1088,"context_line":"                    requested_netid_set \u003d set(net_ids_requested)"},{"line_number":1089,"context_line":"                    returned_netid_set \u003d set([net[\u0027id\u0027] for net in nets])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_220dcde7","side":"PARENT","line":1086,"range":{"start_line":1081,"start_character":0,"end_line":1086,"end_character":0},"updated":"2015-07-29 12:21:42.000000000","message":"The same as in line 1047.","commit_id":"5a986686801640ce87e76d7b2142458ffbe5bc46"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"86289ccb0c93b307c43c0065fd6995a16b87f610","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                continue"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"            nets_in_requested_order.append(network)"},{"line_number":632,"context_line":"            # support unaddressed port"},{"line_number":633,"context_line":"            if not network.get(\u0027subnets\u0027):"},{"line_number":634,"context_line":"                security_groups \u003d []"},{"line_number":635,"context_line":"                security_group_ids \u003d None"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"            # If security groups are requested on an instance then the"},{"line_number":638,"context_line":"            # network must has a subnet associated with it. Some plugins"},{"line_number":639,"context_line":"            # implement the port-security extension which requires"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_c2898970","line":636,"range":{"start_line":632,"start_character":0,"end_line":636,"end_character":0},"updated":"2015-07-29 12:21:42.000000000","message":"I don\u0027t see why this is needed.\n\nFirst this overrides what was explicitly passed to this method. If we have the wrong security groups passed in then it may be better fixed in the caller.\n\nSecond IMHO subnets and security groups should be orthogonal. Their presence should not have side effects on the other.","commit_id":"31154b507d54e6b55a6a1cce57516a281d45bb83"},{"author":{"_account_id":11114,"name":"yalei wang","email":"yalei.wang@intel.com","username":"yalie"},"change_message_id":"27c8f95906060880cb21f995d730e1767675a914","unresolved":false,"context_lines":[{"line_number":633,"context_line":"            if not network.get(\u0027subnets\u0027):"},{"line_number":634,"context_line":"                security_groups \u003d []"},{"line_number":635,"context_line":"                security_group_ids \u003d None"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"            # If security groups are requested on an instance then the"},{"line_number":638,"context_line":"            # network must has a subnet associated with it. Some plugins"},{"line_number":639,"context_line":"            # implement the port-security extension which requires"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_b2c0b8e1","line":636,"in_reply_to":"3a50d1a3_c2898970","updated":"2015-08-05 09:53:15.000000000","message":"I agree, and originally I think sec-group is related to the L3 and ip address, but now seems security-group could be L2 in the future. I will update this part.","commit_id":"31154b507d54e6b55a6a1cce57516a281d45bb83"}]}
