mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-29 20:23:01 +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;
|
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,
|
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;
|
FILE *stream;
|
||||||
int err;
|
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");
|
ERROR("Error, running yanger");
|
||||||
fclose(stream);
|
fclose(stream);
|
||||||
close(fd);
|
close(fd);
|
||||||
if (!fail)
|
|
||||||
return SR_ERR_OK;
|
|
||||||
return SR_ERR_SYS;
|
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[2] = "-p";
|
||||||
yanger_args[3] = ifname;
|
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)
|
if (err)
|
||||||
ERROR("Error adding interface yanger data");
|
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;
|
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)
|
if (err)
|
||||||
ERROR("Error adding yanger data");
|
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;
|
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)
|
if (err)
|
||||||
ERROR("Error adding yanger data");
|
ERROR("Error adding yanger data");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user