[ovs-dev] [PATCH 09/11] ovn-nbctl: Use ctl_error() in command handlers.
Jakub Sitnicki
jkbs at redhat.com
Tue Jul 17 13:34:13 UTC 2018
Instead of dying with ctl_fatal(), propagate the error thru the context.
This will allow us to report errors when running in daemon mode.
This patch is a result of applying the following semantic patch:
@@
identifier F, C;
expression S;
@@
static void F(struct ctl_context *C) {
<...
- ctl_fatal(S);
+ ctl_error(C, S);
+ return;
...>
}
@@
identifier F, C;
expression S, A;
@@
static void F(struct ctl_context *C) {
<...
- ctl_fatal(S, A);
+ ctl_error(C, S, A);
+ return;
...>
}
Signed-off-by: Jakub Sitnicki <jkbs at redhat.com>
---
ovn/utilities/ovn-nbctl.c | 36 ++++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c
index cf2b8eced..8301e74cc 100644
--- a/ovn/utilities/ovn-nbctl.c
+++ b/ovn/utilities/ovn-nbctl.c
@@ -1147,8 +1147,9 @@ nbctl_lsp_del(struct ctl_context *ctx)
}
/* Can't happen because of the database schema. */
- ctl_fatal("logical port %s is not part of any logical switch",
+ ctl_error(ctx, "logical port %s is not part of any logical switch",
ctx->argv[1]);
+ return;
}
static void
@@ -1230,10 +1231,11 @@ nbctl_lsp_set_addresses(struct ctl_context *ctx)
&& strcmp(ctx->argv[i], "router")
&& !ovs_scan(ctx->argv[i], ETH_ADDR_SCAN_FMT,
ETH_ADDR_SCAN_ARGS(ea))) {
- ctl_fatal("%s: Invalid address format. See ovn-nb(5). "
+ ctl_error(ctx, "%s: Invalid address format. See ovn-nb(5). "
"Hint: An Ethernet address must be "
"listed before an IP address, together as a single "
"argument.", ctx->argv[i]);
+ return;
}
}
@@ -1480,7 +1482,9 @@ nbctl_lsp_set_dhcpv4_options(struct ctl_context *ctx)
error = ip_parse_cidr(dhcp_opt->cidr, &ip, &plen);
if (error){
free(error);
- ctl_fatal("DHCP options cidr '%s' is not IPv4", dhcp_opt->cidr);
+ ctl_error(ctx, "DHCP options cidr '%s' is not IPv4",
+ dhcp_opt->cidr);
+ return;
}
}
nbrec_logical_switch_port_set_dhcpv4_options(lsp, dhcp_opt);
@@ -1512,7 +1516,9 @@ nbctl_lsp_set_dhcpv6_options(struct ctl_context *ctx)
error = ipv6_parse_cidr(dhcp_opt->cidr, &ip, &plen);
if (error) {
free(error);
- ctl_fatal("DHCP options cidr '%s' is not IPv6", dhcp_opt->cidr);
+ ctl_error(ctx, "DHCP options cidr '%s' is not IPv6",
+ dhcp_opt->cidr);
+ return;
}
}
nbrec_logical_switch_port_set_dhcpv6_options(lsp, dhcp_opt);
@@ -1883,7 +1889,8 @@ nbctl_acl_del(struct ctl_context *ctx)
}
if (ctx->argc == 4) {
- ctl_fatal("cannot specify priority without match");
+ ctl_error(ctx, "cannot specify priority without match");
+ return;
}
/* Remove the matching rule. */
@@ -2120,7 +2127,8 @@ nbctl_qos_del(struct ctl_context *ctx)
}
if (ctx->argc == 4) {
- ctl_fatal("cannot specify priority without match");
+ ctl_error(ctx, "cannot specify priority without match");
+ return;
}
/* Remove the matching rule. */
@@ -2501,8 +2509,9 @@ nbctl_lr_lb_del(struct ctl_context *ctx)
bool must_exist = !shash_find(&ctx->options, "--if-exists");
if (must_exist) {
- ctl_fatal("load balancer %s is not part of any logical router.",
- del_lb->name);
+ ctl_error(ctx, "load balancer %s is not part of any logical router.",
+ del_lb->name);
+ return;
}
}
@@ -2625,8 +2634,9 @@ nbctl_ls_lb_del(struct ctl_context *ctx)
bool must_exist = !shash_find(&ctx->options, "--if-exists");
if (must_exist) {
- ctl_fatal("load balancer %s is not part of any logical switch.",
- del_lb->name);
+ ctl_error(ctx, "load balancer %s is not part of any logical switch.",
+ del_lb->name);
+ return;
}
}
@@ -2770,7 +2780,8 @@ nbctl_dhcp_options_create(struct ctl_context *ctx)
error = ipv6_parse_cidr(ctx->argv[1], &ipv6, &plen);
if (error) {
free(error);
- ctl_fatal("Invalid cidr format '%s'", ctx->argv[1]);
+ ctl_error(ctx, "Invalid cidr format '%s'", ctx->argv[1]);
+ return;
}
}
@@ -3774,8 +3785,9 @@ nbctl_lrp_del(struct ctl_context *ctx)
}
/* Can't happen because of the database schema. */
- ctl_fatal("logical port %s is not part of any logical router",
+ ctl_error(ctx, "logical port %s is not part of any logical router",
ctx->argv[1]);
+ return;
}
/* Print a list of logical router ports. */
--
2.14.4
More information about the dev
mailing list