Skip to content
GitLab Next
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gitlab-runner gitlab-runner
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 2,477
    • Issues 2,477
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 120
    • Merge requests 120
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • gitlab-runnergitlab-runner
  • Issues
  • #28815
Closed
Open
Created Jan 11, 2022 by Steven Pritchard@silug

Hang with 14.6.0 docker executor and podman

Summary

On a RHEL or CentOS 8 system with gitlab-runner 14.6.0 and rootless podman, CI jobs hang after starting the container.

Downgrading to gitlab-runner 14.5.2 resolves the issue.

Steps to reproduce

Configure a docker runner with rootless podman, which roughly looks like this:

loginctl enable-linger gitlab-runner
su - gitlab-runner -c 'XDG_RUNTIME_DIR=/run/user/$( id -u ) systemctl --user enable --now podman.socket'
mkdir -p /etc/systemd/system/gitlab-runner.service.d
echo -e "[Service]\nEnvironment=\"DOCKER_HOST=unix:///run/user/$( id -u gitlab-runner )/podman/podman.sock\"" > /etc/systemd/system/gitlab-runner.service.d/podman.conf

Actual behavior

Jobs do not start. In the job log, the output looks like this:

Running with gitlab-runner 14.6.0 (5316d4ac)
  on runner01d-docker xxXXyyYY
Preparing the "docker" executor
Using Docker executor with image docker.io/library/ruby:2.7.2 ...
Pulling docker image registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-5316d4ac ...
Using docker image sha256:f5a8ee0df245ace063e3c4aab58fddcac7e8809fa9458eb64e66355dc1c4f0ad for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-5316d4ac with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:c238a26be8b4a50516da6a02399a8706899e4ed0b9b4e77af01c04a16a2bc1dd ...
Pulling docker image docker.io/library/ruby:2.7.2 ...
Using docker image sha256:e6c92ed2f03be9788b80944e148783bef8e7d0fa8d9755b62e9f03429e85a327 for docker.io/library/ruby:2.7.2 with digest docker.io/library/ruby@sha256:1dd0106849233fcd913b7c4608078fa1a53a5e3ce1af2a55e4d726b0d8868e2f ...
Preparing environment
Running on runner-zvazmjfp-project-29-concurrent-0 via runner01d.gitlab.domain...

It stops there until the job times out.

Expected behavior

With 14.5.2, jobs continue past that point.

Running with gitlab-runner 14.5.2 (e91107dd)
  on runner01c-docker aaAAbbBB
Preparing the "docker" executor
Using Docker executor with image python:alpine ...
Pulling docker image registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-e91107dd ...
Using docker image sha256:f8d786201f794725aa1bd4fb89b14ed576c60fa9546e15162dbb8587310d5828 for registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-e91107dd with digest registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper@sha256:b9aff524500e7aaa9851959b076aad70cd63b8a4e182bde69615bd36aaeaecc0 ...
Pulling docker image python:alpine ...
Using docker image sha256:eb5bc7d10d52904953df1e5f3460f4f4154b7911603a3889a35ffcb9b6e75b81 for python:alpine with digest docker.io/library/python@sha256:affe0faa14e7553fc570beec3864e74b5e36f8c19b2bb49ae8ba79c0e9e7236e ...
Preparing environment
Running on runner-yerfev72-project-29-concurrent-0 via runner01c.gitlab.domain...
Getting source from Git repository
Fetching changes...
[...]

Environment description

These are all on self-hosted runners and GitLab.

The bug has been seen on RHEL 8 with podman 3.2.3 and 3.3.1 and on CentOS 8 with podman 3.2.3. Various containers were tested.

config.toml contents
concurrent = 2
[[runners]]
executor = "docker"
name = "runner01d-docker"
token = "..."
url = "https://gitlab.gitlab.domain/"
[runners.docker]
image = "ubuntu:trusty"

Used GitLab Runner version

Version:      14.6.0
Git revision: 5316d4ac
Git branch:   14-6-stable
GO version:   go1.13.8
Built:        2021-12-17T17:36:04+0000
OS/Arch:      linux/amd64

Possible fixes

dnf downgrade gitlab-runner-14.5.2 works around the issue.

Assignee
Assign to
Time tracking