mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-23 01:23:00 +02:00
statd: never hide yanger faults
This is basically a functionally revert of:
435c5ca9 statd: allow ethtool --json to fail without breaking operational ds
Having a fail flag that hides all yanger faults is too big of a
hammer. If some hardware doesn't support a particular command such as
"ethtool --json" it should be handled gracefully by yanger. Perhaps by
catching the error and returning an empty dataset for that node.
Signed-off-by: Richard Alpe <richard@bit42.se>
This commit is contained in:
committed by
Joachim Wiberg
parent
5d0f85cb07
commit
e3733982ed
+4
-10
@@ -56,12 +56,8 @@ struct statd {
|
||||
struct ev_loop *ev_loop;
|
||||
};
|
||||
|
||||
/*
|
||||
* The 'fail' parameter is true for most calls to this function, except
|
||||
* when reading ethtool data (below).
|
||||
*/
|
||||
static int ly_add_yanger_data(const struct ly_ctx *ctx, struct lyd_node **parent,
|
||||
char *yanger_args[], bool fail)
|
||||
char *yanger_args[])
|
||||
{
|
||||
FILE *stream;
|
||||
int err;
|
||||
@@ -86,8 +82,6 @@ static int ly_add_yanger_data(const struct ly_ctx *ctx, struct lyd_node **parent
|
||||
ERROR("Error, running yanger");
|
||||
fclose(stream);
|
||||
close(fd);
|
||||
if (!fail)
|
||||
return SR_ERR_OK;
|
||||
return SR_ERR_SYS;
|
||||
}
|
||||
|
||||
@@ -179,7 +173,7 @@ static int sr_iface_cb(sr_session_ctx_t *session, uint32_t, const char *model,
|
||||
yanger_args[2] = "-p";
|
||||
yanger_args[3] = ifname;
|
||||
}
|
||||
err = ly_add_yanger_data(ctx, parent, yanger_args, true);
|
||||
err = ly_add_yanger_data(ctx, parent, yanger_args);
|
||||
if (err)
|
||||
ERROR("Error adding interface yanger data");
|
||||
|
||||
@@ -215,7 +209,7 @@ static int sr_generic_cb(sr_session_ctx_t *session, uint32_t, const char *model,
|
||||
return SR_ERR_INTERNAL;
|
||||
}
|
||||
|
||||
err = ly_add_yanger_data(ctx, parent, yanger_args, true);
|
||||
err = ly_add_yanger_data(ctx, parent, yanger_args);
|
||||
if (err)
|
||||
ERROR("Error adding yanger data");
|
||||
|
||||
@@ -251,7 +245,7 @@ static int sr_ospf_cb(sr_session_ctx_t *session, uint32_t, const char *,
|
||||
return SR_ERR_INTERNAL;
|
||||
}
|
||||
|
||||
err = ly_add_yanger_data(ctx, parent, yanger_args, true);
|
||||
err = ly_add_yanger_data(ctx, parent, yanger_args);
|
||||
if (err)
|
||||
ERROR("Error adding yanger data");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user