From e69d879caecb454c529a7d757b80ae49c3caa105 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Mon, 23 May 2022 17:27:51 -0700 Subject: [PATCH] buildset registry: run socat in new session We spawn socat processes in the background in buildset registry related roles. Ansible 5 is much better at killing all processes in its session when the task is complete. Work around that by starting socat within a new session with setsid. Change-Id: Iaab17f5d4068be6b08e3d89d2abe80199f0cd654 --- roles/pull-from-intermediate-registry/tasks/main.yaml | 2 +- roles/push-to-intermediate-registry/tasks/push.yaml | 2 +- roles/run-buildset-registry/tasks/main.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/pull-from-intermediate-registry/tasks/main.yaml b/roles/pull-from-intermediate-registry/tasks/main.yaml index 7958eaacc..e81ac0eac 100644 --- a/roles/pull-from-intermediate-registry/tasks/main.yaml +++ b/roles/pull-from-intermediate-registry/tasks/main.yaml @@ -11,7 +11,7 @@ - name: Start socat to work around https://github.com/moby/moby/issues/39033 shell: | set -o pipefail - socat -d -d TCP-LISTEN:0,fork TCP:{{ buildset_registry.host | ipwrap }}:{{ buildset_registry.port }} 2>&1 | grep --line-buffered 'listening on' > {{ zuul.executor.work_root }}/socat_port & + setsid socat -d -d TCP-LISTEN:0,fork TCP:{{ buildset_registry.host | ipwrap }}:{{ buildset_registry.port }} 2>&1 | grep --line-buffered 'listening on' > {{ zuul.executor.work_root }}/socat_port & args: executable: /bin/bash diff --git a/roles/push-to-intermediate-registry/tasks/push.yaml b/roles/push-to-intermediate-registry/tasks/push.yaml index 57e72da7f..a4e4a143d 100644 --- a/roles/push-to-intermediate-registry/tasks/push.yaml +++ b/roles/push-to-intermediate-registry/tasks/push.yaml @@ -11,7 +11,7 @@ - name: Start socat to work around https://github.com/moby/moby/issues/39033 shell: | set -o pipefail - socat -d -d TCP-LISTEN:0,fork TCP:{{ buildset_registry.host | ipwrap }}:{{ buildset_registry.port }} 2>&1 | grep --line-buffered 'listening on' > {{ zuul.executor.work_root }}/socat_port & + setsid socat -d -d TCP-LISTEN:0,fork TCP:{{ buildset_registry.host | ipwrap }}:{{ buildset_registry.port }} 2>&1 | grep --line-buffered 'listening on' > {{ zuul.executor.work_root }}/socat_port & args: executable: /bin/bash diff --git a/roles/run-buildset-registry/tasks/main.yaml b/roles/run-buildset-registry/tasks/main.yaml index 3f96b95c5..4a1653943 100644 --- a/roles/run-buildset-registry/tasks/main.yaml +++ b/roles/run-buildset-registry/tasks/main.yaml @@ -55,7 +55,7 @@ # https://github.com/containers/libpod/issues/4311 # in case we're using podman. - name: Start socat to work around https://github.com/containers/libpod/issues/4311 - shell: "socat -d -d TCP6-LISTEN:{{ buildset_registry_port }},fork TCP:127.0.0.1:1{{ buildset_registry_port }} 2> {{ buildset_registry_root }}/socat_port &" + shell: "setsid socat -d -d TCP6-LISTEN:{{ buildset_registry_port }},fork TCP:127.0.0.1:1{{ buildset_registry_port }} 2> {{ buildset_registry_root }}/socat_port &" - name: Set registry information fact set_fact: