)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":24638,"name":"Eric M Gonzalez (tasker)","email":"eric@awnix.com","username":"egrh3"},"change_message_id":"490f824dee3a7b357825d3802e980ae4f95f71c2","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            # If the port already has a migration profile and if"},{"line_number":261,"context_line":"            # it is to be torn down, then we need to clean up"},{"line_number":262,"context_line":"            # the migration profile."},{"line_number":263,"context_line":"            port_profile \u003d p.get(BINDING_PROFILE)"},{"line_number":264,"context_line":"            if not port_profile:"},{"line_number":265,"context_line":"                continue"},{"line_number":266,"context_line":"            if MIGRATING_ATTR in port_profile:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff5d4b2f_2121d2b5","line":263,"range":{"start_line":263,"start_character":12,"end_line":263,"end_character":49},"updated":"2017-09-19 16:18:59.000000000","message":"possibly here as well.","commit_id":"aeafecaabb4b43d663feff4ce01e6b46d39a8f20"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"978a846df47df7d842e34dc119f13709f3dcabf7","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            # it is to be torn down, then we need to clean up"},{"line_number":262,"context_line":"            # the migration profile."},{"line_number":263,"context_line":"            port_profile \u003d p.get(BINDING_PROFILE)"},{"line_number":264,"context_line":"            if not port_profile:"},{"line_number":265,"context_line":"                continue"},{"line_number":266,"context_line":"            if MIGRATING_ATTR in port_profile:"},{"line_number":267,"context_line":"                del port_profile[MIGRATING_ATTR]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff5d4b2f_cc9a2d6d","line":264,"range":{"start_line":264,"start_character":12,"end_line":264,"end_character":32},"updated":"2017-09-19 16:28:28.000000000","message":"This one is fine because this evaluates to True if port_profile is None or {}.","commit_id":"aeafecaabb4b43d663feff4ce01e6b46d39a8f20"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a2e37fa9213833ea765c7616d13565929680c7f","unresolved":false,"context_lines":[{"line_number":2498,"context_line":"        ports \u003d data[\u0027ports\u0027]"},{"line_number":2499,"context_line":"        for p in ports:"},{"line_number":2500,"context_line":"            updates \u003d {}"},{"line_number":2501,"context_line":"            binding_profile \u003d p.get(BINDING_PROFILE, {})"},{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"            # If the host hasn\u0027t changed, like in the case of resizing to the"},{"line_number":2504,"context_line":"            # same host, there is nothing to do."}],"source_content_type":"text/x-python","patch_set":2,"id":"ff5d4b2f_1e7aaf23","line":2501,"range":{"start_line":2501,"start_character":12,"end_line":2501,"end_character":56},"updated":"2017-09-19 15:27:17.000000000","message":"Need to handle the None case here as well.","commit_id":"aeafecaabb4b43d663feff4ce01e6b46d39a8f20"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6220b3deb4849299061d91cac1e1265e3f6ce5e6","unresolved":false,"context_lines":[{"line_number":2498,"context_line":"        ports \u003d data[\u0027ports\u0027]"},{"line_number":2499,"context_line":"        for p in ports:"},{"line_number":2500,"context_line":"            updates \u003d {}"},{"line_number":2501,"context_line":"            binding_profile \u003d p.get(BINDING_PROFILE, {})"},{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"            # If the host hasn\u0027t changed, like in the case of resizing to the"},{"line_number":2504,"context_line":"            # same host, there is nothing to do."}],"source_content_type":"text/x-python","patch_set":2,"id":"ff5d4b2f_ed2deba8","line":2501,"range":{"start_line":2501,"start_character":12,"end_line":2501,"end_character":56},"in_reply_to":"ff5d4b2f_1e7aaf23","updated":"2017-09-19 18:56:09.000000000","message":"Sounds like we should break this out into a helper function and replace each \u0027get\u0027 with it to cover all of these and reduce the chances of erroneous \u0027p.get(BINDING_PROFILE, {})\u0027 being added in the future.","commit_id":"aeafecaabb4b43d663feff4ce01e6b46d39a8f20"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"60f60442e9c08292e1463d38b3c45aa4582c7ab4","unresolved":false,"context_lines":[{"line_number":2498,"context_line":"        ports \u003d data[\u0027ports\u0027]"},{"line_number":2499,"context_line":"        for p in ports:"},{"line_number":2500,"context_line":"            updates \u003d {}"},{"line_number":2501,"context_line":"            binding_profile \u003d p.get(BINDING_PROFILE, {})"},{"line_number":2502,"context_line":""},{"line_number":2503,"context_line":"            # If the host hasn\u0027t changed, like in the case of resizing to the"},{"line_number":2504,"context_line":"            # same host, there is nothing to do."}],"source_content_type":"text/x-python","patch_set":2,"id":"bf57530f_296c1b35","line":2501,"range":{"start_line":2501,"start_character":12,"end_line":2501,"end_character":56},"in_reply_to":"ff5d4b2f_ed2deba8","updated":"2017-09-20 14:04:03.000000000","message":"Done","commit_id":"aeafecaabb4b43d663feff4ce01e6b46d39a8f20"}]}
