Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
iSulad-img
提交
a9b485a9
I
iSulad-img
项目概览
openeuler
/
iSulad-img
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
iSulad-img
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a9b485a9
编写于
4月 15, 2020
作者:
W
WangFengTu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support tag image
Signed-off-by:
N
WangFengTu
<
wangfengtu@huawei.com
>
上级
2f9371a0
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
444 addition
and
230 deletion
+444
-230
cmd/isulad_img/grpc.go
cmd/isulad_img/grpc.go
+21
-0
cmd/isulad_img/image.go
cmd/isulad_img/image.go
+15
-0
cmd/isulad_img/image_tag.go
cmd/isulad_img/image_tag.go
+32
-0
isula/isula_image.pb.go
isula/isula_image.pb.go
+363
-230
isula/isula_image.proto
isula/isula_image.proto
+13
-0
未找到文件。
cmd/isulad_img/grpc.go
浏览文件 @
a9b485a9
...
...
@@ -752,3 +752,24 @@ func (s *grpcImageService) ListContainers(ctx context.Context, req *pb.ListConta
return
&
pb
.
ListContainersResponse
{
Containers
:
containers
},
nil
}
func
(
s
*
grpcImageService
)
TagImage
(
ctx
context
.
Context
,
req
*
pb
.
TagImageRequest
)
(
*
pb
.
TagImageResponse
,
error
)
{
if
req
==
nil
||
req
.
SrcName
==
nil
||
req
.
SrcName
.
Image
==
""
||
req
.
DestName
==
nil
||
req
.
DestName
.
Image
==
""
{
err
:=
errors
.
New
(
"Lack infomation for tag image"
)
return
&
pb
.
TagImageResponse
{
Errmsg
:
err
.
Error
(),
Cc
:
1
,
},
err
}
err
:=
imageTag
(
s
.
gopts
,
req
.
SrcName
.
Image
,
req
.
DestName
.
Image
)
if
err
!=
nil
{
return
&
pb
.
TagImageResponse
{
Errmsg
:
err
.
Error
(),
Cc
:
1
,
},
err
}
return
&
pb
.
TagImageResponse
{},
nil
}
cmd/isulad_img/image.go
浏览文件 @
a9b485a9
...
...
@@ -154,6 +154,8 @@ type ImageServer interface {
ParseImageNames
(
imageName
string
)
([]
parsedImageNames
,
error
)
// IsSecureIndex check if indexName is insecure
IsSecureIndex
(
indexName
string
)
bool
// Tag image to other name
Tag
(
srcName
,
destName
string
)
error
}
func
(
svc
*
imageService
)
InitImage
(
image
parsedImageNames
,
options
*
copy
.
Options
)
(
types
.
Image
,
error
)
{
...
...
@@ -329,6 +331,19 @@ func (svc *imageService) UnrefImage(systemContext *types.SystemContext, imageNam
return
ref
.
DeleteImage
(
svc
.
ctx
,
systemContext
)
}
func
(
svc
*
imageService
)
Tag
(
srcName
,
destName
string
)
error
{
ref
,
err
:=
svc
.
parseImageName
(
srcName
)
if
err
!=
nil
{
return
err
}
img
,
err
:=
imstorage
.
Transport
.
GetStoreImage
(
svc
.
store
,
ref
)
if
err
!=
nil
{
return
err
}
return
svc
.
store
.
AddName
(
img
.
ID
,
destName
)
}
func
(
svc
*
imageService
)
GetStore
()
storage
.
Store
{
return
svc
.
store
}
...
...
cmd/isulad_img/image_tag.go
0 → 100644
浏览文件 @
a9b485a9
// Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved.
// iSulad-img licensed under the Mulan PSL v1.
// You can use this software according to the terms and conditions of the Mulan PSL v1.
// You may obtain a copy of Mulan PSL v1 at:
// http://license.coscl.org.cn/MulanPSL
// 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 v1 for more details.
// Description: iSulad image img
// Author: wangfengtu
// Create: 2020-04-15
package
main
import
(
"github.com/sirupsen/logrus"
)
func
imageTag
(
gopts
*
globalOptions
,
srcName
string
,
destName
string
)
error
{
imageService
,
err
:=
getImageService
(
gopts
)
if
err
!=
nil
{
return
err
}
err
=
imageService
.
Tag
(
srcName
,
destName
)
if
err
!=
nil
{
logrus
.
Debugf
(
"error tagging image %v to %v: %v"
,
srcName
,
destName
,
err
)
return
err
}
return
err
}
isula/isula_image.pb.go
浏览文件 @
a9b485a9
此差异已折叠。
点击以展开。
isula/isula_image.proto
浏览文件 @
a9b485a9
...
...
@@ -86,6 +86,9 @@ service ImageService {
// health check service
rpc
HealthCheck
(
HealthCheckRequest
)
returns
(
HealthCheckResponse
)
{}
// Add a tag to the image
rpc
TagImage
(
TagImageRequest
)
returns
(
TagImageResponse
)
{}
}
message
HealthCheckRequest
{}
...
...
@@ -581,3 +584,13 @@ message ImageFsInfoResponse {
string
errmsg
=
2
;
uint32
cc
=
3
;
}
message
TagImageRequest
{
ImageSpec
srcName
=
1
;
ImageSpec
destName
=
2
;
}
message
TagImageResponse
{
string
errmsg
=
1
;
uint32
cc
=
2
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录