)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"09566b33d49227f26550cb350c782fb68128ef9f","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_7d30d0e8","line":5251,"updated":"2015-06-08 08:01:45.000000000","message":"This problem is strictly related to Neutron, Also we probably want to clean this error every where we call the method get_instance_nw_info - I do not believe is the good place here. You should probable update the method \u0027_build_network_info_model\u0027 in network/neutronv2/api.py","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b5722a2aad72e9a48401d60df4d53775c756b92f","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_fa749168","line":5251,"in_reply_to":"3afb71cf_307ee119","updated":"2015-06-09 08:03:14.000000000","message":"I\u0027m not sure it will be easy to update a public method of the API and my approach about to pass driver in the constructor of the API is probably not the best too.\n\nWhat about to make the method _build_network_info_model emits event \"network-vif-deleted\"?","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"63d8423160a3317eb8007b572e5dd8766c70cac2","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_715ac2f3","line":5251,"in_reply_to":"3afb71cf_4a627e3f","updated":"2015-06-10 12:22:19.000000000","message":"ok, sounds like we should give that a try unless anyone has an objection to it.","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"a787c38e682336ac9464a732a55d1138915a5351","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_307ee119","line":5251,"in_reply_to":"3afb71cf_54ab9f1d","updated":"2015-06-08 18:56:18.000000000","message":"Yes, the fix won\u0027t fix the problem in all the situations. Two things: \n -- not sure people would agree to pass in a driver instance to the neutron api\n -- But would it be ok to pass in a callback for obsolete ports?\n -- Detach interface seems to be making sense in certain vm states. The callback would check the vm states before calling detach.\n\nIn either case (passing a driver or a callback), this seems to be a big change since it modifies the API interface (get_instance_nw_info). What do you think? Should we go down this path?","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"92da89bd888c55be6307790169d52deb921aa6b9","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_f9d60626","line":5251,"in_reply_to":"3afb71cf_7d30d0e8","updated":"2015-06-08 14:00:09.000000000","message":"As you can see, _build_network_info_model() can detect an obsolete port. But the issue is how it can call the compute manager to detach the obsolete port, which is what we want to achieve here.\n\nOn the other hand, Making get_instance_nw_info to return obsolete ports would seem to cause more changes than needed. \n\nAlso on your point \"we probably want to clean this error every where we call the method get_instance_nw_info - I do not believe is the good place here\", can you clarify it a bit more? The method is used in various situations. Particularly in this place we can clean up the error for a running instance.Do you see it makes sense to do the same in some other places?","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"168a7774e8997bba6a255b475c0821dc0bc30584","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_4a627e3f","line":5251,"in_reply_to":"3afb71cf_a6f5d857","updated":"2015-06-10 07:36:33.000000000","message":"Well i was expected you can call the instance event handler but after to digg in the code that seems difficult. I guess you need to add new public API method as callback yes.","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"149998b935b22ccaf33c36a5229a878ed0aa2c37","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_54ab9f1d","line":5251,"in_reply_to":"3afb71cf_f9d60626","updated":"2015-06-08 14:25:56.000000000","message":"My mistake we do not pass the compute manager when instancing network.API().\n\nThe problem is network_info can have been refreshed before enter in the periodic task since the method \u0027self.network_api.get_instance_nw_info(context, instance)\u0027 is called in several places. So when entering in the periodic task old_nw_info and new_nw_info will be the same.\n\nMy thinking was to have the instance of the compute manager in network API and so call the driver to detach interface in the \u0027_build_network_info_model\u0027 BUT as it is your change do not fix the problem. Perhaps update the API to pass an instance of driver?","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"f46559dd6ff39c361a38f7a636a24f8c080e6b27","unresolved":false,"context_lines":[{"line_number":5248,"context_line":"            try:"},{"line_number":5249,"context_line":"                # Call to network API to get instance info.. this will"},{"line_number":5250,"context_line":"                # force an update to the instance\u0027s info_cache."},{"line_number":5251,"context_line":"                # obsolete ports need to be detached from the instance."},{"line_number":5252,"context_line":"                old_nw_info \u003d instance.info_cache.network_info"},{"line_number":5253,"context_line":"                new_nw_info \u003d self.network_api.get_instance_nw_info(context,"},{"line_number":5254,"context_line":"                                                                    instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_a6f5d857","line":5251,"in_reply_to":"3afb71cf_fa749168","updated":"2015-06-09 13:07:21.000000000","message":"Hmm, can you elaborate on that proposal?","commit_id":"01375eb49b8efb4e049bd8b738a0b6f71edf2071"}]}
