lcr/0008-improve-error-of-lcr-apis.patch
jake 9f47321607 !272 sync from upstream
* sync from upstream
2023-12-11 10:35:06 +00:00

170 lines
7.3 KiB
Diff

From 978f1df2f4e5317ce6f0ab8db29cc07d9c7fe30c Mon Sep 17 00:00:00 2001
From: haozi007 <liuhao27@huawei.com>
Date: Thu, 16 Nov 2023 10:58:52 +0800
Subject: [PATCH 08/13] improve error of lcr apis
Signed-off-by: haozi007 <liuhao27@huawei.com>
---
src/runtime/error.h | 1 +
src/runtime/lcrcontainer.c | 41 +++++++++++++++++++++++++-------------
2 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/src/runtime/error.h b/src/runtime/error.h
index a778302..dee86ca 100644
--- a/src/runtime/error.h
+++ b/src/runtime/error.h
@@ -52,6 +52,7 @@ extern __thread engine_error_t g_lcr_error;
XX(ERR_FORMAT, "Error message is too long") \
XX(ERR_INPUT, "Invalid input parameter") \
XX(ERR_INTERNAL, "Server internal error") \
+ XX(ERR_CONFIG, "Invalid container config") \
\
/* err in runtime module */ \
XX(ERR_RUNTIME, DEF_ERR_RUNTIME_STR) \
diff --git a/src/runtime/lcrcontainer.c b/src/runtime/lcrcontainer.c
index a9b06c5..0b430ca 100644
--- a/src/runtime/lcrcontainer.c
+++ b/src/runtime/lcrcontainer.c
@@ -355,7 +355,8 @@ bool lcr_kill(const char *name, const char *lcrpath, uint32_t signal)
c = lxc_container_new(name, path);
if (c == NULL) {
- ERROR("Failed to stop container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for kill: %s", name);
+ ERROR("Failed to load config for kill: %s.", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -403,7 +404,8 @@ bool lcr_delete(const char *name, const char *lcrpath)
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, path);
if (c == NULL) {
- ERROR("Failed to delete container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for delete: %s", name);
+ ERROR("Failed to load config for delete: %s.", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -476,7 +478,8 @@ bool lcr_exec(const struct lcr_exec_request *request, int *exit_code)
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to delete container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for exec: %s", name);
+ ERROR("Failed to load config for exec: %s.", name);
goto out;
}
@@ -521,7 +524,8 @@ bool lcr_clean(const char *name, const char *lcrpath, const char *logpath, const
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to delete container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for clean: %s", name);
+ ERROR("Failed to load config for clean: %s.", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -565,7 +569,8 @@ bool lcr_state(const char *name, const char *lcrpath, struct lcr_container_state
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failure to retrieve state infomation on %s", tmp_path);
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for state: %s", name);
+ ERROR("Failed to load config %s for state: %s", tmp_path, name);
isula_libutils_free_log_prefix();
return false;
}
@@ -602,7 +607,8 @@ bool lcr_get_container_pids(const char *name, const char *lcrpath, pid_t **pids,
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failure to retrieve state infomation on %s", tmp_path);
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for get pids of: %s", name);
+ ERROR("Failed to load config for get pids of: %s", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -653,7 +659,8 @@ bool lcr_pause(const char *name, const char *lcrpath)
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to pause container");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for pause: %s", name);
+ ERROR("Failed to load config for pause: %s.", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -696,7 +703,8 @@ bool lcr_resume(const char *name, const char *lcrpath)
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to resume container");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for resume: %s", name);
+ ERROR("Failed to load config for resume: %s.", name);
goto out;
}
@@ -740,7 +748,8 @@ bool lcr_resize(const char *name, const char *lcrpath, unsigned int height, unsi
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to pause container");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for resize: %s", name);
+ ERROR("Failed to load config for resize: %s", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -763,7 +772,7 @@ bool lcr_resize(const char *name, const char *lcrpath, unsigned int height, unsi
}
if (!c->set_terminal_winch(c, height, width)) {
- ERROR("Failed to pause");
+ ERROR("Failed to resize: %s", name);
bret = false;
goto out_put;
}
@@ -790,7 +799,8 @@ bool lcr_exec_resize(const char *name, const char *lcrpath, const char *suffix,
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to pause container");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for exec resize: %s", name);
+ ERROR("Failed to load config for exec resize: %s.", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -839,7 +849,8 @@ bool lcr_console(const char *name, const char *lcrpath, const char *in_fifo, con
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to create container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for attach: %s", name);
+ ERROR("Failed to load config for attach: %s.", name);
bresult = false;
goto out;
}
@@ -977,7 +988,8 @@ bool lcr_get_console_config(const char *name, const char *lcrpath, struct lcr_co
isula_libutils_set_log_prefix(name);
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to create container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for get console config of: %s", name);
+ ERROR("Failed to load config for get config of: %s.", name);
isula_libutils_free_log_prefix();
return false;
}
@@ -1027,7 +1039,8 @@ bool lcr_update(const char *name, const char *lcrpath, const struct lcr_cgroup_r
c = lxc_container_new(name, tmp_path);
if (c == NULL) {
- ERROR("Failed to new container.");
+ lcr_set_error_message(LCR_ERR_CONFIG, "Failed to load config for udpate: %s", name);
+ ERROR("Failed to load config for update: %s.", name);
goto out_free;
}
--
2.33.0