)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"38191ad05f7c8e816f4b2e7878582082ea7da014","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In change I11fb5d3ada7f27b39c183157ea73c8b72b4e672e, we started"},{"line_number":10,"context_line":"delegating plugging of OVS ports to os-vif to work around a number of"},{"line_number":11,"context_line":"bugs. However, this was only introduced for live migration. Plugging is"},{"line_number":12,"context_line":"still handled by libvirt for spawn. This results in an odd situation,"},{"line_number":13,"context_line":"whereby an interface of type \u0027bridge\u0027 will be use when creating the"},{"line_number":14,"context_line":"instance initially, only for this to change to \u0027ethernet\u0027 on live"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"89fefa8b_afa15d56","line":11,"range":{"start_line":11,"start_character":6,"end_line":11,"end_character":59},"updated":"2021-06-22 12:18:30.000000000","message":"right that was a bug and not the orginial intention of the patch which is what you are now fixing.","commit_id":"a01bf798a879439276fe138eba89e717a5f0b023"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"38191ad05f7c8e816f4b2e7878582082ea7da014","unresolved":true,"context_lines":[{"line_number":12,"context_line":"still handled by libvirt for spawn. This results in an odd situation,"},{"line_number":13,"context_line":"whereby an interface of type \u0027bridge\u0027 will be use when creating the"},{"line_number":14,"context_line":"instance initially, only for this to change to \u0027ethernet\u0027 on live"},{"line_number":15,"context_line":"migration. Resolve this by *always* delegating plugging to os-vif. This"},{"line_number":16,"context_line":"is achieved by consistently setting the \u0027delegate_create\u0027 attribute of"},{"line_number":17,"context_line":"\u0027nova.network.model.VIF\u0027 to \u0027True\u0027, which will later get transformed to"},{"line_number":18,"context_line":"the \u0027create_port\u0027 attribute of the \u0027os_vif.objects.vif.VIFOpenVSwitch\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8eb32074_cd6663e6","line":15,"range":{"start_line":15,"start_character":11,"end_line":15,"end_character":66},"updated":"2021-06-22 12:18:30.000000000","message":"yep which was what the first patch was intended to do.","commit_id":"a01bf798a879439276fe138eba89e717a5f0b023"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"38191ad05f7c8e816f4b2e7878582082ea7da014","unresolved":true,"context_lines":[{"line_number":24,"context_line":"not: this will be handled by \u0027_nova_to_osvif_vif_ovs\u0027. We also don\u0027t"},{"line_number":25,"context_line":"need to worry about unsetting this attribute before a live migration:"},{"line_number":26,"context_line":"the \u0027delegate_create\u0027 attribute is always overridden as part of"},{"line_number":27,"context_line":"\u0027nova.objects.migrate_data.VIFMigrateData.get_dest_vif\u0027."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: I014c5a81752f86c6b99d19d769c42f318e18e676"},{"line_number":30,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a1d0180e_7952cb6d","line":27,"range":{"start_line":27,"start_character":1,"end_line":27,"end_character":54},"updated":"2021-06-22 12:18:30.000000000","message":"so the theory of why this should work is \nhttps://github.com/openstack/nova/blob/master/nova/objects/migrate_data.py#L82-L109\n\nthis does \n  vif[\u0027delegate_create\u0027] \u003d self.supports_os_vif_delegation\nwhere supports_os_vif_delegation is\n\n    @property\n    def supports_os_vif_delegation(self):\n        return self.profile.get(OS_VIF_DELEGATION, False)\n\nif the destination node is not patched and we are usign multiple port binidngs when it generates teh \nvif profiles the OS_VIF_DELEGATION flag should be omitted and as a result we will return false.\n\nso get_dest_vif should have vif[\u0027delegate_create\u0027]\u003d\u003dFlase for patched destination and true for patch destination which will set vif[\u0027delegate_create\u0027] unconditionally.\n\n\nfor new spawns it does not go throught he migration_data code paths and on any host that has supprot for delegration it will just use it since we hardcode it and on host that dont have this patch applied it will use the old way.\n\nso yes i think this will not break the migration code path for upgrade and will have the correct behaviour on both spawn and migration.","commit_id":"a01bf798a879439276fe138eba89e717a5f0b023"}]}
