Renovate: WARN: Error removing dangling containers

Created on 30 Apr 2020  路  16Comments  路  Source: renovatebot/renovate

What Renovate type are you using?

  • self hosted
  • launch by gitlab-CI
  • using docker ( /var/run/docker.sock not binded to the docker container )
{
  "tag": "renovate/renovate:slim",
  "checksum": "sha256:23dd7425262c58aea62ea48b8eb653872780551e2322b3fe5008c5c0bd8b103d",
  "Labels": {
    "maintainer": "Rhys Arkins <[email protected]>",
    "name": "renovate",
    "org.opencontainers.image.licenses": "AGPL-3.0-only",
    "org.opencontainers.image.source": "https://github.com/renovatebot/renovate",
    "org.opencontainers.image.url": "https://renovatebot.com",
    "org.opencontainers.image.version": "19.223.1"
  }
}

Describe the bug

With info log, the first message is a warning about docker :

 WARN: Error removing dangling containers
       "err": {
         "killed": false,
         "code": 1,
         "signal": null,
         "cmd": "docker ps --filter label=renovate_child -aq",
         "stdout": "",
         "stderr": "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n",
         "message": "Command failed: docker ps --filter label=renovate_child -aq\nCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n",
         "stack": "Error: Command failed: docker ps --filter label=renovate_child -aq\nCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n\n    at ChildProcess.exithandler (child_process.js:303:12)\n    at ChildProcess.emit (events.js:310:20)\n    at ChildProcess.EventEmitter.emit (domain.js:482:12)\n    at maybeClose (internal/child_process.js:1021:16)\n    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)"
       }

Did you see anything helpful in debug logs?

Not really, just the error appear just before the scan of the first repository, and repeat the warning when finishing the scan of a repo .

Maybe this :

 INFO: Dependency extraction complete (repository=project1)
       "stats": {
         "managers": {
           "dockerfile": {"fileCount": 1, "depCount": 1},
           "gitlabci": {"fileCount": 1, "depCount": 1},
           "npm": {"fileCount": 2, "depCount": 148}
         },
         "total": {"fileCount": 4, "depCount": 150}
       },
       "seconds": 3

But, the first warning appear before this .

To Reproduce

No idea, maybe using it with docker, without binding the /var/run/docker.sock ?

Additional context
Do I need to bind /var/run/docker.sock for this container ?

priority-4-low bug

All 16 comments

Which version of Renovate was this run with?

I think it was 19.223.1, see first script block.

Maybe we should call remove dangling container on first exec Instead of startup if docker connection fails

So is binarySource=docker here?

Yes

Isn鈥檛 that a mistake though?

馃 Dunno. We added this as we started to build the slim image.

For the full image, we definitely shouldn鈥檛 have binarySource=docker though, or do I misunderstand?

I don't set the configuration binarySource (if I correctly understand), I use the default value, so, following the documentation : "auto" .

Here is the full renovate.js if you want :

module.exports = {
    platform: 'gitlab',
    endpoint: 'https://gitlab.private.com/api/v4/',
    assignees: ['thib3113'],
    baseBranches: ['dev'],
    labels: ['renovate'],
    extends: ['config:base'],
    npmrc: 'registry=http://npm.private.lan:4873',
    logLevel: 'debug'
};

Here is a sample renovate.json

{
    "assignees": ["dev1", "dev2"],
    "assigneesSampleSize": 1,
    "packageRules": [
      {
        "packagePatterns": ["^grc360-i18n"],
        "enabled": false
      }
    ],
    "ignoreDeps": ["mdbreact"]
}

If needed, I can bind /var/run/docker.sock in the docker container, but I never see this warning before 19.223 .

For the full image, we definitely shouldn鈥檛 have binarySource=docker though, or do I misunderstand?

Is already overridden in full image

https://github.com/renovatebot/docker-renovate-full/blob/36f7035bf684637d2c1c09f484f673873acd0229/Dockerfile#L9

@thib3113 The code generating the warning is new, so that why you don't saw the warning before

This code only gets triggered if binarySource=docker: https://github.com/renovatebot/renovate/blob/317a41a43ea948c4475264d4b89aea93057001fb/lib/util/exec/index.ts#L36-L38

So something is not right here

Sorry, I misunderstood. binarySource=docker is intended for slim. Maybe we don't have to warn.

:tada: This issue has been resolved in version 19.225.2 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

Hum, @rarkins , if I correctly understand, the 19.225.2 "hide" the warning ?

Here is the new version I used :

{
  "tag": "renovate/renovate:slim",
  "checksum": "sha256:6d49c1e609164339414aa11982e485258be6d5b23724680758e9abcf3407a897",
  "Labels": {
    "maintainer": "Rhys Arkins <[email protected]>",
    "name": "renovate",
    "org.opencontainers.image.licenses": "AGPL-3.0-only",
    "org.opencontainers.image.source": "https://github.com/renovatebot/renovate",
    "org.opencontainers.image.url": "https://renovatebot.com",
    "org.opencontainers.image.version": "19.225.2"
  }
}

And ... same warning :

 WARN: Error removing dangling containers
       "err": {
         "killed": false,
         "code": 1,
         "signal": null,
         "cmd": "docker ps --filter label=renovate_child -aq",
         "stdout": "",
         "stderr": "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n",
         "message": "Command failed: docker ps --filter label=renovate_child -aq\nCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n",
         "stack": "Error: Command failed: docker ps --filter label=renovate_child -aq\nCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\n\n    at ChildProcess.exithandler (child_process.js:303:12)\n    at ChildProcess.emit (events.js:310:20)\n    at ChildProcess.EventEmitter.emit (domain.js:482:12)\n    at maybeClose (internal/child_process.js:1021:16)\n    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)"
       }

:tada: This issue has been resolved in version 19.225.3 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alexander-akait picture alexander-akait  路  38Comments

rtaum picture rtaum  路  36Comments

katz12 picture katz12  路  36Comments

djmitche picture djmitche  路  54Comments

hi-larry picture hi-larry  路  54Comments