Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Conversation

@WeiZhang555
Copy link
Contributor

There's a conflict for current architecture, currently for each
container, we have four processes: runv-shim, runv-containerd,
ns-listener and qemu-system-x86. We show pid of runv-shim as runv
container's pid so that the runv-shim can proxy the exit code, signal
and winsize change, but we also need to show pid of nslistener as runv
container's pid so that it can listen on network change so that the CNI
network plugin can work.

Also the future POD support also need one single shim/ns-listener
process pid to identify the container, two processes makes everything a
chaos.

All these things lead to one result: runv-shim and nslistener must belong
to a single process. That's exactly what this commit is doing.

Enjoy it!

Signed-off-by: Zhang Wei [email protected]

There's a conflict for current architecture, currently for each
container, we have four processes: runv-shim, runv-containerd,
ns-listener and qemu-system-x86. We show pid of runv-shim as runv
container's pid so that the runv-shim can proxy the exit code, signal
and winsize change, but we also need to show pid of nslistener as runv
container's pid so that it can listen on network change so that the CNI
network plugin can work.

Also the future POD support also need one single shim/ns-listener
process pid to identify the container, two processes makes everything a
chaos.

All these things lead to one result: runv-shim and nslistener must belong
to a single process. That's exactly what this commit is doing.

Enjoy it!

Signed-off-by: Zhang Wei <[email protected]>
@WeiZhang555 WeiZhang555 force-pushed the merge-nslistener-shim branch from ef3c607 to d85e5a1 Compare June 28, 2017 02:49
@WeiZhang555 WeiZhang555 changed the title [wip]Merge containerd-nslistener and runv-shim Merge containerd-nslistener and runv-shim Jun 28, 2017
@WeiZhang555
Copy link
Contributor Author

According to my test, it works well. This is ready for review. ping @laijs

@gnawux
Copy link
Member

gnawux commented Jun 28, 2017

looks the protobuf data are generated with a different generator. Is this an expected change?

@WeiZhang555
Copy link
Contributor Author

@gnawux I was using the latest protoc from github and got this result, the protobuf generating command is

$ protoc -I containerd/api/grpc/types/ containerd/api/grpc/types/api.proto --go_out=plugins=grpc:containerd/api/grpc/types
$ protoc --version
libprotoc 3.2.0

I'm not sure if I made something wrong, any suggestion?

@WeiZhang555
Copy link
Contributor Author

It seems the original "github.com/gogo/protobuf/proto" is a fork of "github.com/golang/protobuf/proto"(which is used by me) with some extra code generation features, but it seems that the official version also works fine. I don't know why you choose a forked version, do I need to switch to github.com/gogo/protobuf/proto ?

@gnawux
Copy link
Member

gnawux commented Jun 28, 2017

@WeiZhang555 wait @laijs to clarify what the prefer generator is.

@WeiZhang555
Copy link
Contributor Author

Close this as this will introduce problem for POD support.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants