From e0d940463475b907d56aa548401f8ba916cec21b Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Tue, 2 Jun 2020 14:02:54 -0400 Subject: Enable detached exec for remote The biggest obstacle here was cleanup - we needed a way to remove detached exec sessions after they exited, but there's no way to tell if an exec session will be attached or detached when it's created, and that's when we must add the exit command that would do the removal. The solution was adding a delay to the exit command (5 minutes), which gives sufficient time for attached exec sessions to retrieve the exit code of the session after it exits, but still guarantees that they will be removed, even for detached sessions. This requires Conmon 2.0.17, which has the new `--exit-delay` flag. As part of the exit command rework, we can drop the hack we were using to clean up exec sessions (remove them as part of inspect). This is a lot cleaner, and I'm a lot happier about it. Otherwise, this is just plumbing - we need a bindings call for detached exec, and that needed to be added to the tunnel mode backend for entities. Signed-off-by: Matthew Heon --- contrib/cirrus/setup_environment.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'contrib') diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh index 945b33909..25b7ff941 100755 --- a/contrib/cirrus/setup_environment.sh +++ b/contrib/cirrus/setup_environment.sh @@ -46,6 +46,9 @@ case "${OS_RELEASE_ID}" in workaround_bfq_bug + # HACK: Need Conmon 2.0.17, currently in updates-testing on F31. + dnf update -y --enablerepo=updates-testing conmon + if [[ "$ADD_SECOND_PARTITION" == "true" ]]; then bash "$SCRIPT_BASE/add_second_partition.sh" fi -- cgit v1.2.3-54-g00ecf From 69020c7040415b532f4fe5aaaacdbd288a67b71e Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Tue, 2 Jun 2020 14:53:25 -0400 Subject: Bump Conmon in COPR spec We need 2.0.17 for detached remote exec. Signed-off-by: Matthew Heon --- contrib/spec/podman.spec.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'contrib') diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in index 701b5f0b1..9ab0db3ae 100644 --- a/contrib/spec/podman.spec.in +++ b/contrib/spec/podman.spec.in @@ -33,7 +33,7 @@ # People want conmon packaged with the copr rpm %global import_path_conmon github.com/containers/conmon %global git_conmon https://%{import_path_conmon} -%global commit_conmon d532caebc788fafdd2a305b68cd1983b4039bea4 +%global commit_conmon 41877362fc4685d55e0473d2e4a1cbe5e1debee0 %global shortcommit_conmon %(c=%{commit_conmon}; echo ${c:0:7}) Name: podman -- cgit v1.2.3-54-g00ecf