Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
inclavare-containers
提交
f7b3c877
I
inclavare-containers
项目概览
openanolis
/
inclavare-containers
通知
4
Star
7
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
5
列表
看板
标记
里程碑
合并请求
0
分析
仓库
DevOps
项目成员
Pages
I
inclavare-containers
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
5
Issue
5
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
f7b3c877
编写于
9月 07, 2020
作者:
S
stormgbs
提交者:
GitHub
9月 07, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #155 from hustliyilin/master
shim/runtime: Store inclavare-containers configuration
上级
62f0bb3c
5e059824
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
24 addition
and
16 deletion
+24
-16
shim/runtime/v2/rune/v2/service.go
shim/runtime/v2/rune/v2/service.go
+24
-16
未找到文件。
shim/runtime/v2/rune/v2/service.go
浏览文件 @
f7b3c877
...
...
@@ -93,6 +93,7 @@ func New(ctx context.Context, id string, publisher shim.Publisher, shutdown func
ep
:
ep
,
cancel
:
shutdown
,
containers
:
make
(
map
[
string
]
*
runc
.
Container
),
config
:
make
(
map
[
string
]
*
containerConfiguration
),
}
go
s
.
processExits
()
runcC
.
Monitor
=
reaper
.
Default
...
...
@@ -104,6 +105,11 @@ func New(ctx context.Context, id string, publisher shim.Publisher, shutdown func
return
s
,
nil
}
type
containerConfiguration
struct
{
binary
string
root
string
}
// service is the shim implementation of a remote shim over GRPC
type
service
struct
{
mu
sync
.
Mutex
...
...
@@ -119,6 +125,7 @@ type service struct {
id
string
containers
map
[
string
]
*
runc
.
Container
config
map
[
string
]
*
containerConfiguration
cancel
func
()
}
...
...
@@ -360,21 +367,31 @@ func (s *service) Create(ctx context.Context, r *taskAPI.CreateTaskRequest) (_ *
v
,
err
:=
typeurl
.
UnmarshalAny
(
r
.
Options
)
if
err
!=
nil
{
logrus
.
Errorf
(
"Get rune options error: %v"
,
err
)
}
if
err
!=
nil
{
return
nil
,
err
}
opts
=
*
v
.
(
*
options
.
Options
)
}
//result := make(chan bool, 1)
// start remote attestation
if
opts
.
BinaryName
==
constants
.
RuneOCIRuntime
{
logrus
.
Infof
(
"Attestation Start"
)
//go attestation.Attestation_main(ctx, result)
ns
,
err
:=
namespaces
.
NamespaceRequired
(
ctx
)
if
err
!=
nil
{
return
nil
,
err
}
var
runeRootGlobalOption
string
=
process
.
RuncRoot
if
opts
.
Root
!=
""
{
runeRootGlobalOption
=
opts
.
Root
}
runeRootGlobalOption
=
filepath
.
Join
(
runeRootGlobalOption
,
ns
)
config
:=
&
containerConfiguration
{
binary
:
opts
.
BinaryName
,
root
:
runeRootGlobalOption
,
}
s
.
containers
[
r
.
ID
]
=
container
s
.
config
[
r
.
ID
]
=
config
logrus
.
Infof
(
"s.config[%v] = %v"
,
r
.
ID
,
s
.
config
[
r
.
ID
])
s
.
send
(
&
eventstypes
.
TaskCreate
{
ContainerID
:
r
.
ID
,
Bundle
:
r
.
Bundle
,
...
...
@@ -391,15 +408,6 @@ func (s *service) Create(ctx context.Context, r *taskAPI.CreateTaskRequest) (_ *
logrus
.
Infof
(
"TaskCreate sent: %s %d"
,
r
.
ID
,
container
.
Pid
())
if
opts
.
BinaryName
==
constants
.
RuneOCIRuntime
{
//// judge remote attestation result
//switch <-result {
//case true:
// log.G(ctx).Infof("Attestation Success!")
//case false:
// log.G(ctx).Infof("Attestation Failed!")
//}
}
logrus
.
Debugf
(
"Create: total time cost: %d"
,
(
time
.
Now
()
.
Sub
(
timeStart
))
/
time
.
Second
)
logrus
.
Debugf
(
"Create: total time cost: %d"
,
(
time
.
Now
()
.
Sub
(
ts
))
/
time
.
Second
)
return
&
taskAPI
.
CreateTaskResponse
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录