From 051be757db25c8ac7e6c4beb1ec219b4fde3641c Mon Sep 17 00:00:00 2001 From: lifeng68 Date: Sat, 5 Dec 2020 10:24:58 +0800 Subject: [PATCH 18/18] clean code: ignore list containers error Signed-off-by: lifeng68 --- src/daemon/executor/container_cb/list.c | 82 +++++++++++++++---------- 1 file changed, 51 insertions(+), 31 deletions(-) diff --git a/src/daemon/executor/container_cb/list.c b/src/daemon/executor/container_cb/list.c index 4c9c9ed..3dea940 100644 --- a/src/daemon/executor/container_cb/list.c +++ b/src/daemon/executor/container_cb/list.c @@ -311,44 +311,73 @@ static void dup_id_name(const container_config_v2_common_config *common_config, } } -static int convert_common_config_info(const map_t *map_labels, const container_config_v2_common_config *common_config, - container_container *isuladinfo) +static void dup_container_labels(const map_t *map_labels, const container_config_v2_common_config *common_config, + container_container *isuladinfo) { int ret = 0; - bool args_err = false; - - if (map_labels == NULL || common_config == NULL || isuladinfo == NULL) { - return -1; - } if (common_config->config == NULL) { - return 0; + return; } - args_err = (common_config->config->labels != NULL && common_config->config->labels->len != 0); - if (args_err) { + + if (common_config->config->labels != NULL && common_config->config->labels->len != 0) { json_map_string_string *labels = common_config->config->labels; ret = replace_labels(isuladinfo, labels, map_labels); - if (ret == -1) { - goto out; + if (ret != 0) { + ERROR("Failed to dup container %s labels", common_config->id); } } + return; +} + +static void dup_container_annotations(const container_config_v2_common_config *common_config, + container_container *isuladinfo) +{ + int ret = 0; + + if (common_config->config == NULL) { + return; + } + ret = replace_annotations(common_config, isuladinfo); - if (ret == -1) { - goto out; + if (ret != 0) { + ERROR("Failed to dup container %s annotations", common_config->id); } - dup_id_name(common_config, isuladinfo); - args_err = (common_config->created != NULL && - util_to_unix_nanos_from_str(common_config->created, &isuladinfo->created) != 0); - if (args_err) { - ret = -1; - goto out; + return; +} + +static void dup_container_created_time(const container_config_v2_common_config *common_config, + container_container *isuladinfo) +{ + if (common_config->created != NULL && + util_to_unix_nanos_from_str(common_config->created, &isuladinfo->created) != 0) { + ERROR("Failed to dup container %s created time", common_config->id); + } + + return; +} + +static int convert_common_config_info(const map_t *map_labels, const container_config_v2_common_config *common_config, + container_container *isuladinfo) +{ + if (map_labels == NULL || common_config == NULL || isuladinfo == NULL) { + return -1; } + + dup_id_name(common_config, isuladinfo); + isuladinfo->restartcount = (uint64_t)common_config->restart_count; -out: - return ret; + + dup_container_labels(map_labels, common_config, isuladinfo); + + dup_container_annotations(common_config, isuladinfo); + + dup_container_created_time(common_config, isuladinfo); + + return 0; } static int container_info_match(const struct list_context *ctx, const map_t *map_labels, @@ -413,7 +442,6 @@ static int fill_isuladinfo(container_container *isuladinfo, const container_conf char *image = NULL; char *timestr = NULL; char *defvalue = "-"; - int64_t created_nanos = 0; ret = convert_common_config_info(map_labels, cont->common_config, isuladinfo); if (ret != 0) { @@ -438,14 +466,6 @@ static int fill_isuladinfo(container_container *isuladinfo, const container_conf isuladinfo->runtime = cont->runtime ? util_strdup_s(cont->runtime) : util_strdup_s("none"); isuladinfo->health_state = container_get_health_state(cont_state); - if (cont->common_config->created != NULL) { - ret = util_to_unix_nanos_from_str(cont->common_config->created, &created_nanos); - if (ret != 0) { - goto out; - } - } - - isuladinfo->created = created_nanos; out: return ret; -- 2.25.1