Acked-by: Vladislav Odintsov <odiv...@gmail.com>

Regards,
Vladislav Odintsov

> On 9 Jul 2021, at 16:10, Vladislav Odintsov <odiv...@gmail.com> wrote:
> 
> From: Dumitru Ceara <dce...@redhat.com>
> 
> Remove the use of sbrec_chassis_is_new() for uncommitted records.  This
> is not the way IDL *_is_new() functions are supposed to be used.
> 
> Note: With this change if the system-id changes there will be a
> transient error in ovn-controller due to ovn-controller trying to insert
> a new chassis_private record.  This is due to the fact that the view of
> the chassis_private table changes and only chassis_private records
> matching the new chassis name are sent to ovn-controller.  This gets
> corrected though in the next iteration of the ovn-controller processing
> loop.
> 
> Suggested-by: Han Zhou <hz...@ovn.org>
> Reported-at: 
> https://mail.openvswitch.org/pipermail/ovs-dev/2020-October/376339.html
> Fixes: dce1af31b550 ("chassis: Fix chassis_private record updates when the 
> system-id changes.")
> Signed-off-by: Dumitru Ceara <dce...@redhat.com>
> Acked-by: Mark Gray <mark.d.g...@redhat.com>
> Signed-off-by: Han Zhou <hz...@ovn.org>
> (cherry picked from commit 1f915da95dc725131b7df094d494af9fda88ea92)
> ---
> controller/ovn-controller.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
> index 3665c7b4e..b154a8486 100644
> --- a/controller/ovn-controller.c
> +++ b/controller/ovn-controller.c
> @@ -181,7 +181,7 @@ update_sb_monitors(struct ovsdb_idl *ovnsb_idl,
>      * chassis */
>     sbrec_port_binding_add_clause_type(&pb, OVSDB_F_EQ, "chassisredirect");
>     sbrec_port_binding_add_clause_type(&pb, OVSDB_F_EQ, "external");
> -    if (chassis && !sbrec_chassis_is_new(chassis)) {
> +    if (chassis) {
>         /* This should be mostly redundant with the other clauses for port
>          * bindings, but it allows us to catch any ports that are assigned to
>          * us but should not be.  That way, we can clear their chassis
> @@ -205,8 +205,8 @@ update_sb_monitors(struct ovsdb_idl *ovnsb_idl,
>                                             &chassis->header_.uuid);
> 
>         /* Monitors Chassis_Private record for current chassis only. */
> -        sbrec_chassis_private_add_clause_chassis(&chprv, OVSDB_F_EQ,
> -                                                 &chassis->header_.uuid);
> +        sbrec_chassis_private_add_clause_name(&chprv, OVSDB_F_EQ,
> +                                              chassis->name);
>     } else {
>         /* During initialization, we monitor all records in Chassis_Private so
>          * that we don't try to recreate existing ones. */
> -- 
> 2.30.0
> 

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to