On Tue, May 10, 2022 at 4:22 PM Mark Michelson <[email protected]> wrote:
> Thanks for this, Lorenzo. > > Acked-by: Mark Michelson <[email protected]> > Thanks. I applied this patch to the main branch. Numan > > On 4/27/22 06:47, Lorenzo Bianconi wrote: > > Dump load balancers belonging to the load_balancer groups attached to the > > specified logical switch/logical router running ls-lb-list/lr-lb-list. > > > > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2059261 > > Signed-off-by: Lorenzo Bianconi <[email protected]> > > --- > > tests/ovn-nbctl.at | 70 +++++++++++++++++++++++++++++++++++++++++-- > > utilities/ovn-nbctl.c | 54 +++++++++++++++++++++++++++++++++ > > 2 files changed, 122 insertions(+), 2 deletions(-) > > > > diff --git a/tests/ovn-nbctl.at b/tests/ovn-nbctl.at > > index f9b9defd0..2388eba2e 100644 > > --- a/tests/ovn-nbctl.at > > +++ b/tests/ovn-nbctl.at > > @@ -997,6 +997,30 @@ AT_CHECK([ovn-nbctl ls-lb-del ls0 lb3]) > > AT_CHECK([ovn-nbctl ls-lb-list ls0 | uuidfilt], [0], []) > > AT_CHECK([ovn-nbctl --if-exists ls-lb-del ls0 lb1]) > > > > +AT_CHECK([ovn-nbctl lb-add lb4 40.0.0.10 162.168.10.10,162.168.10.20]) > > +AT_CHECK([ovn-nbctl lb-add lb5 50.0.0.10 172.168.10.10,172.168.10.20]) > > +AT_CHECK([ovn-nbctl lb-add lb6 60.0.0.10 182.168.10.10,182.168.10.20]) > > + > > +lb4=$(fetch_column nb:load_balancer _uuid name=lb4) > > +lb5=$(fetch_column nb:load_balancer _uuid name=lb5) > > +lb6=$(fetch_column nb:load_balancer _uuid name=lb6) > > + > > +lbg=$(ovn-nbctl create load_balancer_group name=lbg -- \ > > + add load_balancer_group lbg load_balancer $lb4 -- \ > > + add load_balancer_group lbg load_balancer $lb5 -- \ > > + add load_balancer_group lbg load_balancer $lb6) > > + > > +AT_CHECK([ovn-nbctl add logical_switch ls0 load_balancer_group $lbg]) > > + > > +AT_CHECK([ovn-nbctl ls-lb-list ls0 | uuidfilt], [0], [dnl > > +UUID LB PROTO > VIP IPs > > +<0> lb4 tcp 40.0.0.10 > 162.168.10.10,162.168.10.20 > > +<1> lb5 tcp 50.0.0.10 > 172.168.10.10,172.168.10.20 > > +<2> lb6 tcp 60.0.0.10 > 182.168.10.10,182.168.10.20 > > +]) > > + > > +AT_CHECK([ovn-nbctl remove logical_switch ls0 load_balancer_group $lbg]) > > + > > dnl Remove all load balancers from logical switch. > > AT_CHECK([ovn-nbctl ls-lb-add ls0 lb0]) > > AT_CHECK([ovn-nbctl ls-lb-add ls0 lb1]) > > @@ -1046,7 +1070,16 @@ AT_CHECK([ovn-nbctl ls-lb-add ls0 lb1]) > > AT_CHECK([ovn-nbctl lb-del lb0]) > > AT_CHECK([ovn-nbctl lb-del lb1]) > > AT_CHECK([ovn-nbctl lr-lb-list lr0 | uuidfilt], [0], []) > > -AT_CHECK([ovn-nbctl ls-lb-list ls0 | uuidfilt], [0], [])]) > > +AT_CHECK([ovn-nbctl ls-lb-list ls0 | uuidfilt], [0], []) > > + > > +AT_CHECK([ovn-nbctl add logical_router lr0 load_balancer_group $lbg]) > > + > > +AT_CHECK([ovn-nbctl lr-lb-list lr0 | uuidfilt], [0], [dnl > > +UUID LB PROTO > VIP IPs > > +<0> lb4 tcp 40.0.0.10 > 162.168.10.10,162.168.10.20 > > +<1> lb5 tcp 50.0.0.10 > 172.168.10.10,172.168.10.20 > > +<2> lb6 tcp 60.0.0.10 > 182.168.10.10,182.168.10.20 > > +])]) > > > > dnl > --------------------------------------------------------------------- > > > > @@ -1271,6 +1304,30 @@ AT_CHECK([ovn-nbctl ls-lb-add ls0 lb3]) > > AT_CHECK([ovn-nbctl ls-lb-del ls0]) > > AT_CHECK([ovn-nbctl ls-lb-list ls0 | uuidfilt], [0], []) > > > > +AT_CHECK([ovn-nbctl lb-add lb4 [[ae07::10]]:80 > [[fd0f::10]]:80,[[fd0f::20]]:80]) > > +AT_CHECK([ovn-nbctl lb-add lb5 [[ae08::10]]:80 > [[fd0f::10]]:80,[[fd0f::20]]:80 udp]) > > +AT_CHECK([ovn-nbctl lb-add lb6 ae09::10 fd0f::10,fd0f::20]) > > + > > +lb4=$(fetch_column nb:load_balancer _uuid name=lb4) > > +lb5=$(fetch_column nb:load_balancer _uuid name=lb5) > > +lb6=$(fetch_column nb:load_balancer _uuid name=lb6) > > + > > +lbg=$(ovn-nbctl create load_balancer_group name=lbg -- \ > > + add load_balancer_group lbg load_balancer $lb4 -- \ > > + add load_balancer_group lbg load_balancer $lb5 -- \ > > + add load_balancer_group lbg load_balancer $lb6) > > + > > +AT_CHECK([ovn-nbctl add logical_switch ls0 load_balancer_group $lbg]) > > + > > +AT_CHECK([ovn-nbctl ls-lb-list ls0 | uuidfilt], [0], [dnl > > +UUID LB PROTO > VIP IPs > > +<0> lb4 tcp [[ae07::10]]:80 > [[fd0f::10]]:80,[[fd0f::20]]:80 > > +<1> lb5 udp [[ae08::10]]:80 > [[fd0f::10]]:80,[[fd0f::20]]:80 > > +<2> lb6 tcp ae09::10 fd0f::10,fd0f::20 > > +]) > > + > > +AT_CHECK([ovn-nbctl remove logical_switch ls0 load_balancer_group $lbg]) > > + > > dnl Add load balancer to logical router. > > AT_CHECK([ovn-nbctl lr-add lr0]) > > AT_CHECK([ovn-nbctl lr-lb-add lr0 lb0]) > > @@ -1305,7 +1362,16 @@ AT_CHECK([ovn-nbctl lr-lb-add lr0 lb0]) > > AT_CHECK([ovn-nbctl lr-lb-add lr0 lb1]) > > AT_CHECK([ovn-nbctl lr-lb-add lr0 lb3]) > > AT_CHECK([ovn-nbctl lr-lb-del lr0]) > > -AT_CHECK([ovn-nbctl lr-lb-list lr0 | uuidfilt], [0], [])]) > > +AT_CHECK([ovn-nbctl lr-lb-list lr0 | uuidfilt], [0], []) > > + > > +AT_CHECK([ovn-nbctl add logical_router lr0 load_balancer_group $lbg]) > > + > > +AT_CHECK([ovn-nbctl lr-lb-list lr0 | uuidfilt], [0], [dnl > > +UUID LB PROTO > VIP IPs > > +<0> lb4 tcp [[ae07::10]]:80 > [[fd0f::10]]:80,[[fd0f::20]]:80 > > +<1> lb5 udp [[ae08::10]]:80 > [[fd0f::10]]:80,[[fd0f::20]]:80 > > +<2> lb6 tcp ae09::10 fd0f::10,fd0f::20 > > +])]) > > > > dnl > --------------------------------------------------------------------- > > > > diff --git a/utilities/ovn-nbctl.c b/utilities/ovn-nbctl.c > > index e747f6933..d09fd5963 100644 > > --- a/utilities/ovn-nbctl.c > > +++ b/utilities/ovn-nbctl.c > > @@ -3233,10 +3233,16 @@ nbctl_pre_lr_lb_list(struct ctl_context *ctx) > > { > > ovsdb_idl_add_column(ctx->idl, &nbrec_logical_router_col_name); > > ovsdb_idl_add_column(ctx->idl, > &nbrec_logical_router_col_load_balancer); > > + ovsdb_idl_add_column(ctx->idl, > > + &nbrec_logical_router_col_load_balancer_group); > > > > ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_col_name); > > ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_col_protocol); > > ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_col_vips); > > + > > + ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_group_col_name); > > + ovsdb_idl_add_column(ctx->idl, > > + &nbrec_load_balancer_group_col_load_balancer); > > } > > > > static void > > @@ -3252,16 +3258,37 @@ nbctl_lr_lb_list(struct ctl_context *ctx) > > ctx->error = error; > > return; > > } > > + > > for (int i = 0; i < lr->n_load_balancer; i++) { > > const struct nbrec_load_balancer *lb > > = lr->load_balancer[i]; > > vip_width = lb_get_max_vip_length(lb, vip_width); > > } > > + for (int i = 0; i < lr->n_load_balancer_group; i++) { > > + const struct nbrec_load_balancer_group *lbg > > + = lr->load_balancer_group[i]; > > + for (int j = 0; j < lbg->n_load_balancer; j++) { > > + const struct nbrec_load_balancer *lb > > + = lbg->load_balancer[j]; > > + vip_width = lb_get_max_vip_length(lb, vip_width); > > + } > > + } > > + > > for (int i = 0; i < lr->n_load_balancer; i++) { > > const struct nbrec_load_balancer *lb > > = lr->load_balancer[i]; > > lb_info_add_smap(lb, &lbs, vip_width); > > } > > + /* Add load balancer groups. */ > > + for (int i = 0; i < lr->n_load_balancer_group; i++) { > > + const struct nbrec_load_balancer_group *lbg > > + = lr->load_balancer_group[i]; > > + for (int j = 0; j < lbg->n_load_balancer; j++) { > > + const struct nbrec_load_balancer *lb > > + = lbg->load_balancer[j]; > > + lb_info_add_smap(lb, &lbs, vip_width); > > + } > > + } > > > > lb_info_print(ctx, &lbs, vip_width); > > smap_destroy(&lbs); > > @@ -3369,10 +3396,16 @@ nbctl_pre_ls_lb_list(struct ctl_context *ctx) > > { > > ovsdb_idl_add_column(ctx->idl, &nbrec_logical_switch_col_name); > > ovsdb_idl_add_column(ctx->idl, > &nbrec_logical_switch_col_load_balancer); > > + ovsdb_idl_add_column(ctx->idl, > > + &nbrec_logical_switch_col_load_balancer_group); > > > > ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_col_name); > > ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_col_protocol); > > ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_col_vips); > > + > > + ovsdb_idl_add_column(ctx->idl, &nbrec_load_balancer_group_col_name); > > + ovsdb_idl_add_column(ctx->idl, > > + &nbrec_load_balancer_group_col_load_balancer); > > } > > > > static void > > @@ -3388,16 +3421,37 @@ nbctl_ls_lb_list(struct ctl_context *ctx) > > ctx->error = error; > > return; > > } > > + > > for (int i = 0; i < ls->n_load_balancer; i++) { > > const struct nbrec_load_balancer *lb > > = ls->load_balancer[i]; > > vip_width = lb_get_max_vip_length(lb, vip_width); > > } > > + for (int i = 0; i < ls->n_load_balancer_group; i++) { > > + const struct nbrec_load_balancer_group *lbg > > + = ls->load_balancer_group[i]; > > + for (int j = 0; j < lbg->n_load_balancer; j++) { > > + const struct nbrec_load_balancer *lb > > + = lbg->load_balancer[j]; > > + vip_width = lb_get_max_vip_length(lb, vip_width); > > + } > > + } > > + > > for (int i = 0; i < ls->n_load_balancer; i++) { > > const struct nbrec_load_balancer *lb > > = ls->load_balancer[i]; > > lb_info_add_smap(lb, &lbs, vip_width); > > } > > + /* Add load balancer groups. */ > > + for (int i = 0; i < ls->n_load_balancer_group; i++) { > > + const struct nbrec_load_balancer_group *lbg > > + = ls->load_balancer_group[i]; > > + for (int j = 0; j < lbg->n_load_balancer; j++) { > > + const struct nbrec_load_balancer *lb > > + = lbg->load_balancer[j]; > > + lb_info_add_smap(lb, &lbs, vip_width); > > + } > > + } > > > > lb_info_print(ctx, &lbs, vip_width); > > smap_destroy(&lbs); > > > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
