Tianyang Zhang
7817d7ef7b
runc-shim: open read side of stdout/stderr fifo to avoid EPIPE
...
The "read" side of container stdout/stderr fifo has been opened
by containerd and on the other hand "write" side is opened by
container process, which is a little different with golang shim.
If containerd shutdown and closed the read fd, container process
will receive EPIPE when writing to stdout/stderr and then be
killed by SIGPIPE signal. In this commit, the "read" side is
opened again by shim so that at least there is one opened "read"
side all the time.
Signed-off-by: Tianyang Zhang <burning9699@gmail.com>
2023-07-21 17:12:16 +08:00
James Sturtevant
60558b7848
Pass all commandline arguments through
...
Because the second invocation of the shim doesn't have the containerd pipe passed to it, a shim that wants to communicate over the pipe needs to parse the arguments its own. This makes it so the library pass all the arguments, which has already parsed the arguments allowing shims to use the containerd address.
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-07-20 21:43:23 +00:00
Maksym Pavlenko
e3c2364587
Merge pull request #138 from Burning1020/ttyfd-close
...
runc-shim: fix tty fd multi close error
2023-04-23 19:25:59 +02:00
Zhang Tianyang
ad90c998ef
runc-shim: fix tty fd multi close error
...
use File::from_raw_fd() to create the tty io file, when the io copy
thread ends, it will drop the file object which will close the fd, but
as we made three file objects from the same fd, it will be closed
three times, if other opened files occupied this fd number, the
second or third drop of the file object may close the fds of other files.
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2023-04-11 20:16:39 +08:00
Maksym Pavlenko
dad95076c4
Move Stdio to runc-shim
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-03-16 11:35:03 -07:00
Maksym Pavlenko
2fcf8af423
Move processes to runc-shim
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-03-16 11:24:31 -07:00
Maksym Pavlenko
33d37c0c0d
Move console to runc-shim
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-03-16 11:16:24 -07:00
Maksym Pavlenko
45c0c0d4e0
Move async container and task modules to runc-shim
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-03-15 14:26:15 -07:00
Maksym Pavlenko
98754fd771
Update tokio
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-03-13 09:43:52 -07:00
dependabot[bot]
2cf2fd4a92
build(deps): update oci-spec requirement from 0.5.8 to 0.6.0
...
Updates the requirements on [oci-spec](https://github.com/containers/oci-spec-rs ) to permit the latest version.
- [Release notes](https://github.com/containers/oci-spec-rs/releases )
- [Changelog](https://github.com/containers/oci-spec-rs/blob/main/release.md )
- [Commits](https://github.com/containers/oci-spec-rs/compare/v0.5.8...v0.6.0 )
---
updated-dependencies:
- dependency-name: oci-spec
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 01:44:43 +00:00
Zhang Tianyang
65921d09dc
Remove unused declaration
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2023-01-16 23:37:45 +08:00
Zhang Tianyang
ffa56dbf3b
runc-shim: fix leaking thread and fd
...
The stdin fifo fd should be closed when containerd
calls close io, otherwise, runc-shim would hold
this fd and the copy console thread forever.
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2023-01-16 23:37:44 +08:00
Zhang Tianyang
62798a0745
runc-shim: fix leaking files for exec process
...
A pid file under bundle path will be created after
the exec process created, so it should also be deleted
before process deleted.
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2023-01-08 10:57:31 +08:00
Maksym Pavlenko
80c6d9edf0
Merge pull request #107 from containerd/dependabot/cargo/nix-0.26
...
build(deps): update nix requirement from 0.25 to 0.26
2023-01-07 11:49:13 -08:00
Maksym Pavlenko
07a98518d4
Merge pull request #109 from utam0k/rust-1.66
...
Update Rust to 1.66 and fix some lints
2023-01-07 11:48:17 -08:00
Zhang Tianyang
3822d608e9
runc-shim: retrieve OCI runtime error if OCI command failed
...
If an error is encountered when running the OCI command, shim process
should walk the OCI command logfile and retrieve the last error.
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2023-01-06 21:21:13 +08:00
utam0k
fe1b3b0f73
Fix the warns from clippy lints
...
Signed-off-by: utam0k <k0ma@utam0k.jp>
2022-12-29 21:21:55 +09:00
dependabot[bot]
7558fe4c49
build(deps): update nix requirement from 0.25 to 0.26
...
Updates the requirements on [nix](https://github.com/nix-rust/nix ) to permit the latest version.
- [Release notes](https://github.com/nix-rust/nix/releases )
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nix-rust/nix/compare/v0.25.0...v0.26.1 )
---
updated-dependencies:
- dependency-name: nix
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 21:09:10 +00:00
Maksym Pavlenko
80e7945674
Use workspace inheritance to describe crates
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-11-04 14:34:49 -07:00
Maksym Pavlenko
55aa661b4d
Update Rust to 1.65
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-11-04 14:34:49 -07:00
Zhang Tianyang
6203977cbf
runc-shim: Update README with performance test
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-10-16 16:41:01 +08:00
Maksym Pavlenko
5ddd3e37bb
Run fmt
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-09-29 11:55:31 -07:00
Maksym Pavlenko
26ae44e5c3
Update ttrpc dependencies and switch to Protobuf 3
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-09-23 08:54:45 -07:00
Maksym Pavlenko
51a27ee268
Update nix dependency ( fix #93 )
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-09-21 11:32:39 -07:00
Maksym Pavlenko
d5b72ce007
Merge pull request #80 from yuqitao/support-more-overlayfs-layers
...
synchronous: supprt more overlayfs layers
2022-05-30 13:09:13 -07:00
yuqitao
fdd5d7c7d1
synchronous: supprt more overlayfs layers
...
Signed-off-by: yuqitao <yuqitao1024@qq.com>
2022-05-27 15:27:08 +08:00
Zhang Tianyang
be8d9d479e
runc-shim: Update console copy
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-05-17 22:57:58 +08:00
Maksym Pavlenko
cfe09e2227
Update nix dependency
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-05-05 14:55:34 -07:00
Maksym Pavlenko
83dec597de
Remove docs.rs badge from runc-shim
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-05-03 13:59:15 -07:00
Feng Shaobao
df87a63c8e
add exit-signal for container
...
to exit io copy tasks when deleting container
Signed-off-by: Feng Shaobao <fshb1988@gmail.com>
2022-03-22 14:47:41 +08:00
Feng Shaobao
93cc73cf9b
upgrade rust toolchain version to 1.59
...
the dependent path-dedot crate updated to rust edition 2021, we have to
upgrade out toolchain version to compile
Signed-off-by: Feng Shaobao <fshb1988@gmail.com>
2022-03-18 17:26:24 +08:00
Feng Shaobao
63a4e5c891
fix tokio not exit and signal handle exit issue
...
make all integartion tests passed
Signed-off-by: Feng Shaobao <fshb1988@gmail.com>
2022-03-18 12:39:36 +08:00
Feng Shaobao
b48cc3d993
add update/stats/pids for async
...
Signed-off-by: Feng Shaobao <fshb1988@gmail.com>
2022-03-16 10:07:31 +08:00
Maksym Pavlenko
b3ac82d9cc
Fix badges
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-03-10 16:18:47 -08:00
Maksym Pavlenko
21e298aef3
Bump versions
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-03-10 15:58:28 -08:00
Maksym Pavlenko
70c7f85b45
Update runc shim README
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-03-10 15:49:59 -08:00
Maksym Pavlenko
80e6588c53
Fix runtime name for integration tests
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-03-10 15:24:10 -08:00
Maksym Pavlenko
d7ceb45072
[runc-shim] Implement Connect
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2022-03-10 09:42:10 -08:00
Zhang Tianyang
2fd561e290
runc-shim: support remote publisher and extra some common methods
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-03-10 17:23:50 +08:00
Zhang Tianyang
3ff1fc0a6d
bugfix: return a tmp dir when 'XDG_RUNTIME_DIR' was not set
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-03-09 23:46:47 +08:00
Zhang Tianyang
74ac192726
runc-shim: implement ShimExecutor in synchronous version
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-03-09 21:17:26 +08:00
Feng Shaobao
1e1a6a8d97
change Executor to Spawner and make it trait object
2022-03-08 15:39:43 +08:00
Feng Shaobao
cdc78f7760
split async and sync codes for runc-shim and shim
...
Signed-off-by: Feng Shaobao <fshb1988@gmail.com>
2022-03-07 22:34:51 +08:00
Feng Shaobao
777fe2ad23
support async feature for runc shim
...
Signed-off-by: Feng Shaobao <fshb1988@gmail.com>
2022-03-07 16:38:19 +08:00
Zhang Tianyang
4e1c3a2a69
runc-shim: support shim cgroup and oom score
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-03-04 15:47:29 +08:00
Zhang Tianyang
a06ec3df2d
runc-shim: implement pids task
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-03-01 19:04:12 +08:00
Zhang Tianyang
3ffe778e4b
runc-shim: implement close io task
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-03-01 19:02:31 +08:00
Zhang Tianyang
cdb93f2358
runc-shim: implement update task
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-02-27 18:12:33 +08:00
Zhang Tianyang
9b93f39ee1
runc-shim: implement stats task
...
Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2022-02-27 18:12:33 +08:00
Maksym Pavlenko
c630c56e57
Merge pull request #41 from mxpv/exit
...
Rework exit signals and task creation
2022-02-25 12:30:37 -08:00