提交 417ef0d9 编写于 作者: O openeuler-ci-bot 提交者: Gitee

!666 回退 'Pull Request !664 : do not use docker.io'

Merge pull request !666 from lifeng_isula/revert-merge-664-master
#######################################################################
##- @Copyright (C) Huawei Technologies., Ltd. 2019. All rights reserved.
# - iSulad licensed under the Mulan PSL v2.
# - You can use this software according to the terms and conditions of the Mulan PSL v2.
# - You may obtain a copy of Mulan PSL v2 at:
# - http://license.coscl.org.cn/MulanPSL2
# - THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
# - IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
# - PURPOSE.
# - See the Mulan PSL v2 for more details.
##- @Description: generate cetification
##- @Author: wujing
##- @Create: 2019-04-25
#######################################################################
#!/bin/bash
#set -x
LWC_PATH=/usr
DEFAULT_ROOTFS_PATH=/dev/ram0
ISULA_COMMON_OPTION=
SOCKET_PATH=unix:///var/run/docker.sock
SPACE_REPLACE_MAGIC="[#)"
export IMAGE_NONE_PATH=$DEFAULT_ROOTFS_PATH
info_isula_command_help()
{
echo "See 'docker $1 --help'." 1>&2
}
error_invalid_flag()
{
echo "flag provided but not defined: $2" 1>&2
info_isula_command_help $1
}
INFO_DOCKER_COMMAND_NO_ARGUMENT()
{
echo "\"docker $1\" requires at least 1 argument(s)." 1>&2
info_isula_command_help $1
}
LOG_ERROR()
{
echo "[ERROR] $1" 1>&2
}
RUN_USAGE="
Usage: docker run [OPTIONS] none|IMAGE [COMMAND] [ARG...]
Run a command in a new container
Options:
--cap-add=[] Add Linux capabilities
--cap-drop=[] Drop Linux capabilities
--cpuset-cpus CPUs in which to allow execution (e.g. 0-3, 0,1)
--cpu-shares CPU shares (relative weight)
--cpu-quota Limit CPU CFS (Completely Fair Scheduler) quota
-d, --detach Run container in background and print container ID
--device=[] Add a host device to the container
-e, --env=[] Set environment variables
--entrypoint Entrypoint to run when starting the container
--external-rootfs=PATH Specify the custom rootfs that is not managed by isulad for the container, directory or block device
--help Print usage
--hook-spec File containing hook definition(prestart, poststart, poststop)
-h, --hostname Container host name
--hugetlb-limit=[] Huge page limit (format: [size:]<limit>, e.g. --hugetlb-limit 2MB:32MB)
-i, --interactive Keep STDIN open even if not attached
--log-opt=[] Log driver options
-m, --memory Memory limit
--memory-swap Swap limit equal to memory plus swap: '-1' to enable unlimited swap
--mount Attach a filesystem mount to the service
--name=NAME NAME of the container
--net=none Connect a container to a network
--privileged Give extended privileges to this container
-R, --runtime Runtime to use for containers(default: lcr)
--restart=no Restart policy to apply when a container exits(no, always, on-failure[:max-retries])
-t, --tty Allocate a pseudo-TTY
-u, --user Username or UID (format: <name|uid>[:<group|gid>])
-v, --volume=[] Bind mount a volume"
command_run()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT run
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$RUN_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula run $ISULA_COMMON_OPTION "$@"
}
STOP_USAGE="
Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop a running container.
Sending SIGTERM and then SIGKILL after a grace period
Options:
--help Print usage
-t, --time int Seconds to wait for stop before killing it (default 10)"
command_stop()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT stop
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$STOP_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula stop $ISULA_COMMON_OPTION "$@"
}
KILL_USAGE="
Usage: docker kill [OPTIONS] CONTAINER [CONTAINER...]
Kill one or more running containers
Options:
--help Print usage
-s, --signal string Signal to send to the container (default "KILL")"
command_kill()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT kill
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$KILL_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula kill $ISULA_COMMON_OPTION "$@"
}
PS_USAGE="
Usage: docker ps [OPTIONS]
List containers
Options:
-a, --all Show all containers (default shows just running)
--help Print usage
-q, --quiet Only display containers name"
command_ps()
{
shift
for param in $*
do
if [ --help == $param ]; then
echo "$PS_USAGE"
exit 0
fi
done
RET=0
$LWC_PATH/bin/isula ps $ISULA_COMMON_OPTION "$@"
let "RET=$?"
if [ $RET == 1 -o $RET == 125 ]; then
info_isula_command_help ps
fi
exit $RET
}
PULL_USAGE="
Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Pull an image or a repository from a registry
--help Print STOP_USAGE"
command_pull()
{
shift
while true ; do
case "$1" in
--help)
echo "$PULL_USAGE"
exit 0 ;;
*)
break ;;
esac # --- end of case ---
done
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT pull
exit 1
fi
IMAGE_NAME=`echo "$1" | awk -F : '{print $1}'`
echo "Pulling repository docker.io/library/$IMAGE_NAME"
echo "Error while pulling image: Get https://index.docker.io/v1/repositories/library/$IMAGE_NAME/images" 1>&2
exit 1
}
command_version()
{
exec $LWC_PATH/bin/isula version $ISULA_COMMON_OPTION
}
INSPECT_USAGE="
Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
Return low-level information on a container or image
Options:
-f, --format string Format the output using the given Go template
--help Print usage"
command_inspect()
{
shift
while true ; do
case "$1" in
--help)
echo "$INSPECT_USAGE"
exit 0;;
-f | --format)
FORMAT="$2"
shift 2 ;;
--format=*)
FORMAT="${1#*=}"
shift ;;
-f=*)
FORMAT="${1#*=}"
shift ;;
--)
shift
break ;;
-*)
error_invalid_flag inspect $1
exit 125 ;;
*)
break ;;
esac # --- end of case ---
done
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT inspect
exit 1
fi
if [ -z "$FORMAT" ] ; then
exec $LWC_PATH/bin/isula inspect $ISULA_COMMON_OPTION $ISULA_INSPECT_OPTION "$@"
else
exec $LWC_PATH/bin/isula inspect $ISULA_COMMON_OPTION $ISULA_INSPECT_OPTION -f "$FORMAT" "$@"
fi
}
EXEC_USAGE="
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
-d, --detach Detached mode: run command in the background
--help Print usage"
command_exec()
{
shift
if [ -z "$*" ] ; then
INFO_DOCKER_COMMAND_NO_ARGUMENT exec
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$EXEC_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula exec $ISULA_COMMON_OPTION "$@"
}
RM_USAGE="
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
-f, --force Force the removal of a running container (uses SIGKILL)
--help Print usage"
command_rm()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT rm
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$RM_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula rm $ISULA_COMMON_OPTION "$@"
}
RMI_USAGE="
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
Options:
-f, --force Force removal of the image
--help Print usage"
command_rmi()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT rmi
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$RMI_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula rmi $ISULA_COMMON_OPTION "$@"
}
LOAD_USAGE="
Usage: docker load [OPTIONS] --input=FILE --type=TYPE
load an image from a manifest
Options:
--help Print usage
-i, --input Read from a manifest
-t, --type Image type, only support 'embedded' currently"
command_load()
{
shift
for param in $*
do
if [ --help == $param ]; then
echo "$LOAD_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula load $ISULA_COMMON_OPTION "$@"
}
IMAGES_USAGE="
Usage: docker images
List images
Options:
--help Print usage
-q, --quiet Only display image names"
command_images()
{
shift
for param in $*
do
if [ --help == $param ]; then
echo "$IMAGES_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula images $ISULA_COMMON_OPTION "$@"
}
RESTART_USAGE="
Usage: docker restart [OPTIONS] CONTAINER [CONTAINER...]
Restart a container
Options:
--help Print usage
-t, --time int Seconds to wait for stop before killing the container (default 10)"
command_restart()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT restart
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$RESTART_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula restart $ISULA_COMMON_OPTION "$@"
}
WAIT_USAGE="
Usage: docker wait CONTAINER
Block until one container stop, then print their exit codes
Options:
--help Print usage"
command_wait()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT wait
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$WAIT_USAGE"
exit 0
fi
done
exec $LWC_PATH/bin/isula wait $ISULA_COMMON_OPTION "$@"
}
LOGS_USAGE="
Usage: docker logs [OPTIONS] CONTAINER
Fetch the logs of a container
Options:
-f, --follow Follow log output
--help Print usage
--tail=all Number of lines to show from the end of the logs"
command_logs()
{
shift
if [ -z "$*" ]; then
INFO_DOCKER_COMMAND_NO_ARGUMENT logs
exit 1
fi
for param in $*
do
if [ --help == $param ]; then
echo "$LOGS_USAGE"
exit 0
fi
done
RET=0
$LWC_PATH/bin/isula logs $ISULA_COMMON_OPTION "$@"
let "RET=$?"
if [ $RET == 1 ]; then
info_isula_command_help logs
fi
exit $RET
}
DOCKER_COMMAND_USAGE="
Usage: docker [OPTIONS] COMMAND [arg...]
docker [ --help | -v | --version ]
A self-sufficient runtime for containers
Options:
--help Print usage
-H, --host=[] Daemon socket(s) to connect to
-v, --version Print version information and quit
Commands:
exec Run a command in a running container
images List images
inspect Return low-level information on a container or image
kill Kill one or more running containers
load Load an image from a manifest
logs Fetch the logs of a container
ps List containers
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
stop Stop one or more running containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes
Run 'docker COMMAND --help' for more information on a command."
command_docker()
{
case $1 in
run)
command_run "$@" ;;
stop)
command_stop "$@" ;;
kill)
command_kill "$@" ;;
ps)
command_ps "$@" ;;
pull)
command_pull "$@";;
version)
command_version "$@";;
inspect)
command_inspect "$@";;
exec)
command_exec "$@";;
rm)
command_rm "$@";;
rmi)
command_rmi "$@";;
load)
command_load "$@";;
images)
command_images "$@";;
restart)
command_restart "$@";;
wait)
command_wait "$@";;
logs)
command_logs "$@";;
*)
echo "docker: '$1' is not a docker command." ;
echo "See 'docker --help'" ;
exit 1 ;;
esac
}
if [ -z "$*" ] ; then
echo "$DOCKER_COMMAND_USAGE"
exit 0
fi
while true ; do
case $1 in
--help | help | "")
echo "$DOCKER_COMMAND_USAGE" ;
exit 0 ;;
-H | --host)
SOCKET_PATH="$2"
shift 2 ;;
--host=*)
SOCKET_PATH=${1#*=}
shift ;;
-v | --version)
echo "Docker version 1.11.2, build df5f654"
exit 0 ;;
*)
break;;
esac
done
ISULA_COMMON_OPTION="$ISULA_COMMON_OPTION -H $SOCKET_PATH"
command_docker "$@";
......@@ -57,7 +57,7 @@ char *oci_resolve_image_name(const char *name)
return oci_normalize_image_name(name);
}
static void oci_strip_isulaio(const imagetool_image *image)
static void oci_strip_dockerio(const imagetool_image *image)
{
char *repo_tag = NULL;
char *repo_digest = NULL;
......@@ -69,14 +69,14 @@ static void oci_strip_isulaio(const imagetool_image *image)
for (i = 0; i < image->repo_tags_len; i++) {
repo_tag = image->repo_tags[i];
image->repo_tags[i] = oci_strip_isulaio_prefix(repo_tag);
image->repo_tags[i] = oci_strip_dockerio_prefix(repo_tag);
free(repo_tag);
repo_tag = NULL;
}
for (i = 0; i < image->repo_digests_len; i++) {
repo_digest = image->repo_digests[i];
image->repo_digests[i] = oci_strip_isulaio_prefix(repo_digest);
image->repo_digests[i] = oci_strip_dockerio_prefix(repo_digest);
free(repo_digest);
repo_digest = NULL;
}
......@@ -395,7 +395,7 @@ out:
return ret;
}
static void oci_strip_all_isulaios(const imagetool_images_list *images)
static void oci_strip_all_dockerios(const imagetool_images_list *images)
{
size_t i = 0;
......@@ -404,7 +404,7 @@ static void oci_strip_all_isulaios(const imagetool_images_list *images)
}
for (i = 0; i < images->images_len; i++) {
oci_strip_isulaio(images->images[i]);
oci_strip_dockerio(images->images[i]);
}
return;
......@@ -432,7 +432,7 @@ int oci_list_images(const im_list_request *request, imagetool_images_list **imag
ret = oci_list_all_images(*images);
}
oci_strip_all_isulaios(*images);
oci_strip_all_dockerios(*images);
out:
if (ret != 0) {
......@@ -494,7 +494,7 @@ int oci_status_image(im_status_request *request, im_status_response **response)
goto pack_response;
}
oci_strip_isulaio(image_info);
oci_strip_dockerio(image_info);
(*response)->image_info->image = image_info;
image_info = NULL;
......
......@@ -580,7 +580,7 @@ static char *build_get_token_url(challenge *c, char *username, char *scope)
}
// url format example:
// https://auth.isula.io/token?account=name&service=registry.isula.io&scope=repository:samalba/my-app:pull
// https://auth.docker.io/token?account=name&service=registry.docker.io&scope=repository:samalba/my-app:pull
url_len += strlen(c->realm) + strlen("?");
if (username != NULL) {
url_len += strlen("account=") + strlen(username) + strlen("&");
......
......@@ -90,7 +90,7 @@ static int parse_challenges(pull_descriptor *desc, char *schema, char *params)
// Support "Bearer" and "Basic" only.
if (!strcasecmp(schema, "Bearer")) {
// params:
// realm="https://auth.isula.io/token",service="registry.isula.io"
// realm="https://auth.docker.io/token",service="registry.docker.io"
params = util_trim_space(params);
kv_strs = util_string_split(params, ',');
len = util_array_len((const char **)kv_strs);
......@@ -168,7 +168,7 @@ static int parse_auth(pull_descriptor *desc, char *auth)
}
// parts[0]: Bearer
// parts[1]: realm="https://auth.isula.io/token",service="registry.isula.io"
// parts[1]: realm="https://auth.docker.io/token",service="registry.docker.io"
ret = parse_challenges(desc, parts[0], parts[1]);
if (ret != 0) {
ERROR("Parse challenges failed, schema: %s, params: %s", parts[0], parts[1]);
......@@ -256,7 +256,7 @@ static int parse_ping_header(pull_descriptor *desc, char *http_head)
// HTTP/1.1 401 Unauthorized
// Content-Type: application/json
// Docker-Distribution-Api-Version: registry/2.0
// Www-Authenticate: Bearer realm="https://auth.isula.io/token",service="registry.isula.io"
// Www-Authenticate: Bearer realm="https://auth.docker.io/token",service="registry.docker.io"
// Date: Mon, 16 Mar 2020 01:16:09 GMT
// Content-Length: 87
// Strict-Transport-Security: max-age=31536000
......@@ -337,7 +337,7 @@ int registry_pingv2(pull_descriptor *desc, char *protocol)
}
// Sending url
// https://registry-1.isula.io/v2/
// https://registry-1.docker.io/v2/
INFO("sending ping url: %s", url);
ret = http_request_buf(desc, url, (const char **)headers, &output, HEAD_ONLY);
if (ret != 0) {
......
......@@ -513,43 +513,6 @@ static int do_append_image(storage_image *im)
return 0;
}
static void replace_default_hostname(char **name)
{
int nret = 0;
char tmp_name[PATH_MAX] = { 0x00 };
nret = snprintf(tmp_name, sizeof(tmp_name), "%s%s", DEFAULT_HOSTNAME, *name + strlen(OLD_HOSTNAME));
if (nret < 0 || (size_t)nret >= sizeof(tmp_name)) {
ERROR("Failed to replace default hostname");
return;
}
free(*name);
*name = util_strdup_s(tmp_name);
return;
}
static int update_default_hostname(storage_image *im)
{
int ret = 0;
size_t i = 0;
bool updated = false;
for (i = 0; i < im->names_len; i++) {
if (util_has_prefix(im->names[i], OLD_HOSTNAME)) {
replace_default_hostname(&im->names[i]);
updated = true;
}
}
if (updated) {
ret = save_image(im);
}
return ret;
}
static int append_image_by_directory(const char *image_dir)
{
int ret = 0;
......@@ -570,12 +533,6 @@ static int append_image_by_directory(const char *image_dir)
return -1;
}
ret = update_default_hostname(im);
if (ret != 0) {
ERROR("Failed to update default hostname");
goto out;
}
if (do_append_image(im) != 0) {
ERROR("Failed to append images");
ret = -1;
......
......@@ -165,19 +165,19 @@ char *oci_normalize_image_name(const char *name)
char temp[PATH_MAX] = { 0 };
char **parts = NULL;
char *last_part = NULL;
char *add_isulaio = "";
char *add_dockerio = "";
char *add_library = "";
char *add_default_tag = "";
// Add prefix isula.io if necessary
// Add prefix docker.io if necessary
parts = util_string_split(name, '/');
if ((parts != NULL && *parts != NULL && !strings_contains_any(*parts, ".:") && strcmp(*parts, "localhost")) ||
(strstr(name, "/") == NULL)) {
add_isulaio = DEFAULT_HOSTNAME;
add_dockerio = DEFAULT_HOSTNAME;
}
// Add library if necessary
if (strlen(add_isulaio) != 0 && strstr(name, "/") == NULL) {
if (strlen(add_dockerio) != 0 && strstr(name, "/") == NULL) {
add_library = DEFAULT_REPO_PREFIX;
}
......@@ -190,7 +190,7 @@ char *oci_normalize_image_name(const char *name)
util_free_array(parts);
// Normalize image name
int nret = snprintf(temp, sizeof(temp), "%s%s%s%s", add_isulaio, add_library, name, add_default_tag);
int nret = snprintf(temp, sizeof(temp), "%s%s%s%s", add_dockerio, add_library, name, add_default_tag);
if (nret < 0 || (size_t)nret >= sizeof(temp)) {
ERROR("sprint temp image name failed");
return NULL;
......@@ -238,7 +238,7 @@ int oci_split_image_name(const char *image_name, char **host, char **name, char
return 0;
}
char *oci_strip_isulaio_prefix(const char *name)
char *oci_strip_dockerio_prefix(const char *name)
{
char prefix[PATH_MAX] = { 0 };
size_t size = 0;
......@@ -254,13 +254,13 @@ char *oci_strip_isulaio_prefix(const char *name)
return NULL;
}
// Strip isula.io/library
// Strip docker.io/library
size = strlen(prefix);
if (strncmp(name, prefix, size) == 0 && strlen(name) > size) {
return util_strdup_s(name + size);
}
// Strip isula.io
// Strip docker.io
size = strlen(DEFAULT_HOSTNAME);
if (strncmp(name, DEFAULT_HOSTNAME, size) == 0 && strlen(name) > size) {
return util_strdup_s(name + size);
......
......@@ -35,8 +35,7 @@ extern "C" {
#define HTTP_PREFIX "http://"
#define DEFAULT_TAG ":latest"
#define OLD_HOSTNAME "docker.io/"
#define DEFAULT_HOSTNAME "isula.io/"
#define DEFAULT_HOSTNAME "docker.io/"
#define DEFAULT_REPO_PREFIX "library/"
#define MAX_ID_BUF_LEN 256
......@@ -48,7 +47,7 @@ char *oci_default_tag(const char *name);
char *oci_add_host(const char *domain, const char *name);
char *oci_normalize_image_name(const char *name);
int oci_split_image_name(const char *image_name, char **host, char **name, char **tag);
char *oci_strip_isulaio_prefix(const char *name);
char *oci_strip_dockerio_prefix(const char *name);
char *make_big_data_base_name(const char *key);
char *oci_calc_diffid(const char *file);
void free_items_not_inherit(docker_image_config_v2 *config);
......
......@@ -57,7 +57,7 @@ char *conf_get_isulad_storage_driver_success()
char **conf_get_registry_list_success()
{
return single_array_from_string("isula.io");
return single_array_from_string("docker.io");
}
char **conf_get_insecure_registry_list_success()
......
......@@ -632,7 +632,7 @@ TEST_F(RegistryUnitTest, test_pull_v2_image)
struct timespec end_time;
registry_pull_options options;
options.image_name = (char*)"hub-mirror.c.163.com/library/busybox:latest";
options.dest_image_name = (char*)"isula.io/library/busybox:latest";
options.dest_image_name = (char*)"docker.io/library/busybox:latest";
options.skip_tls_verify = true;
options.insecure_registry = true;
......@@ -667,7 +667,7 @@ TEST_F(RegistryUnitTest, test_pull_oci_image)
ASSERT_NE(options, nullptr);
options->image_name = util_strdup_s("hub-mirror.c.163.com/library/busybox:latest");
options->dest_image_name = util_strdup_s("isula.io/library/busybox:latest");
options->dest_image_name = util_strdup_s("docker.io/library/busybox:latest");
options->auth.username = NULL;
options->auth.password = NULL;
options->skip_tls_verify = false;
......@@ -684,7 +684,7 @@ TEST_F(RegistryUnitTest, test_pull_already_exist)
{
registry_pull_options options;
options.image_name = (char*)"hub-mirror.c.163.com/library/busybox:latest";
options.dest_image_name = (char*)"isula.io/library/busybox:latest";
options.dest_image_name = (char*)"docker.io/library/busybox:latest";
options.auth.username = (char*)"test";
options.auth.password = (char*)"test";
options.skip_tls_verify = true;
......
{"id":"ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689","digest":"sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e","names":["isula.io/library/health_check:latest"],"layer":"6194458b07fcf01f1483d96cd6c34302ffff7f382bb151a6d023c4e80ba3050a","metadata":"{}","big-data-names":["sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689","manifest"],"big-data-sizes":{"sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689":2270,"manifest":428},"big-data-digests":{"sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689":"sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689","manifest":"sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e"},"created":"2020-03-30T08:02:50.586247435Z","Loaded":"2020-04-29T09:06:29.385966253Z"}
{"id":"ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689","digest":"sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e","names":["docker.io/library/health_check:latest"],"layer":"6194458b07fcf01f1483d96cd6c34302ffff7f382bb151a6d023c4e80ba3050a","metadata":"{}","big-data-names":["sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689","manifest"],"big-data-sizes":{"sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689":2270,"manifest":428},"big-data-digests":{"sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689":"sha256:ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689","manifest":"sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e"},"created":"2020-03-30T08:02:50.586247435Z","Loaded":"2020-04-29T09:06:29.385966253Z"}
\ No newline at end of file
......@@ -364,7 +364,7 @@ TEST_F(StorageImagesUnitTest, test_images_load)
"id": "ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689",
"digest": "sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e",
"names": [
"isula.io/library/health_check:latest"
"docker.io/library/health_check:latest"
],
"layer": "6194458b07fcf01f1483d96cd6c34302ffff7f382bb151a6d023c4e80ba3050a",
"metadata": "{}",
......@@ -387,7 +387,7 @@ TEST_F(StorageImagesUnitTest, test_images_load)
TEST_F(StorageImagesUnitTest, test_image_store_create)
{
std::string id { "ffc8ef7968a2acb7545006bed022001addaa262c0f760883146c4a4fae54e689" };
const char *names[] = { "isula.io/library/health_check:latest" };
const char *names[] = { "docker.io/library/health_check:latest" };
std::string layer { "6194458b07fcf01f1483d96cd6c34302ffff7f382bb151a6d023c4e80ba3050a" };
std::string metadata { "{}" };
types_timestamp_t time { 0x00 };
......@@ -450,7 +450,7 @@ TEST_F(StorageImagesUnitTest, test_image_store_create)
ASSERT_NE(image->loaded, nullptr);
ASSERT_NE(image->repo_tags, nullptr);
ASSERT_EQ(image->repo_tags_len, 1);
ASSERT_STREQ(image->repo_tags[0], "isula.io/library/health_check:latest");
ASSERT_STREQ(image->repo_tags[0], "docker.io/library/health_check:latest");
ASSERT_NE(image->username, nullptr);
ASSERT_EQ(image->size, 0);
ASSERT_EQ(image->spec->config->env_len, 1);
......@@ -471,7 +471,7 @@ TEST_F(StorageImagesUnitTest, test_image_store_create)
ASSERT_STREQ(
image->repo_digests[0],
"isula.io/library/health_check@sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e");
"docker.io/library/health_check@sha256:fdb7b1fccaaa535cb8211a194dd6314acc643f3a36d1a7d2b79c299a9173fa7e");
free_imagetool_image(image);
......@@ -486,11 +486,11 @@ TEST_F(StorageImagesUnitTest, test_image_store_create)
ASSERT_EQ(image->size, 1000);
free_imagetool_image(image);
ASSERT_EQ(image_store_add_name(id.c_str(), "isula.io/library/test:latest"), 0);
ASSERT_EQ(image_store_add_name(id.c_str(), "docker.io/library/test:latest"), 0);
image = image_store_get_image(id.c_str());
ASSERT_EQ(image->repo_tags_len, 2);
ASSERT_STREQ(image->repo_tags[0], "isula.io/library/health_check:latest");
ASSERT_STREQ(image->repo_tags[1], "isula.io/library/test:latest");
ASSERT_STREQ(image->repo_tags[0], "docker.io/library/health_check:latest");
ASSERT_STREQ(image->repo_tags[1], "docker.io/library/test:latest");
free_imagetool_image(image);
char **img_names = NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册