Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

podman version 1.4.1 errors when starting containers - "run failed after [conmon:e]: No such log driver json-file" #3363

Closed
rlandy opened this issue Jun 18, 2019 · 12 comments · Fixed by #3375
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@rlandy
Copy link

rlandy commented Jun 18, 2019

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)

/kind bug

Description

Using podman version 1.4.1 on RHEL 8 (updated) we see the following error when starting containers:

ERROR: 27947 -- ['/usr/bin/podman', 'start', '-a', 'container-puppet-glance_api'] run failed after [conmon:e]: No such log driver json-file",
"Error: unable to start container : write child: broken pipe",
...
ERROR: 27949 -- ['/usr/bin/podman', 'start', '-a', 'container-puppet-iscsid'] run failed after [conmon:e]: No such log driver json-file"
Repeated for all containers.

Steps to reproduce the issue:

  1. Install podman version 1.4.1 on RHEL 8 with updated rpms

  2. Run containers

  3. See driver error

Describe the results you received:

The following errors on every attempt to run/start containers:

WARNING: 27947 -- Retrying running container: glance_api",
ERROR: 27946 -- ['/usr/bin/podman', 'start', '-a', 'container-puppet-crond'] run failed after [conmon:e]: No such log driver json-file",
"Error: unable to start container : write child: broken pipe",
2019-06-18 14:59:02 | " attempt(s): 2",

Describe the results you expected:

No errors when starting containers.

Additional information you deem important (e.g. issue happens only occasionally):

Output of podman version:

Version:            1.4.1
RemoteAPI Version:  1
Go Version:         go1.12.6
OS/Arch:            linux/amd64
+ podman info
host:
  BuildahVersion: 1.8.4
  Conmon:
    package: podman-1.4.1-2.module+el8.1.0+3401+5fb5c576.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 0.3.0, commit: unknown'
  Distribution:
    distribution: '"rhel"'
    version: "8.0"
  MemFree: 326901760
  MemTotal: 8191172608
  OCIRuntime:
    package: runc-1.0.0-57.rc5.dev.git2abd837.module+el8.1.0+3394+8ce796a4.x86_64
    path: /usr/bin/runc
    version: 'runc version spec: 1.0.0'
  SwapFree: 8579956736
  SwapTotal: 8589930496
  arch: amd64
  cpus: 8
  hostname: standalone.localdomain
  kernel: 4.18.0-80.el8.x86_64
  os: linux
  rootless: false
  uptime: 1h 19m 7.14s (Approximately 0.04 days)
registries:
  blocked: null
  insecure:
  - 192.168.24.1
  search:
  - registry.redhat.io
  - quay.io
  - docker.io
store:
  ConfigFile: /etc/containers/storage.conf
  ContainerStore:
    number: 48
  GraphDriverName: overlay
  GraphOptions: null
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 60
  RunRoot: /var/run/containers/storage
  VolumePath: /var/lib/containers/storage/volumes
@openshift-ci-robot openshift-ci-robot added the kind/bug Categorizes issue or PR as related to a bug. label Jun 18, 2019
@mheon
Copy link
Member

mheon commented Jun 18, 2019

Seems like it could be a Conmon version mismatch - @haircommander can you confirm?

@mheon
Copy link
Member

mheon commented Jun 18, 2019

@haircommander Assuming it is... maybe we need something similar to what c/storage does for overlayfs - code to probe Conmon to determine what features it supports

@haircommander
Copy link
Collaborator

Actually somehow log driver is being set as json-file, which used to be a noop but now is an error (we used to pretend we supported json file). @rlandy can you post your libpod.conf? And what image are you trying to run?

@haircommander
Copy link
Collaborator

@rlandy you should be able to do your create/run command above with --log-driver k8s-file to fix your problem. It doesn't appear the libpod.conf has a member for log_driver, so I'm not sure where json-file is coming from...

@cjeanner
Copy link

Hello,
Basically, dropping the "json-file" broke things. That kind of change shouldn't happen like that imho, since it was the only driver available for previous versions..... Not really cool :(.

@mheon
Copy link
Member

mheon commented Jun 19, 2019

I think this one's my fault. I didn't realize we already had a --log-driver flag when we added support for journald logging (and implemented the backend for the --log-driver flag), so I requested that we remove an alias of json-file to k8s-file in code review to leave it open for future implementation (the default log driver which we use isn't actually logging JSON, or to any sort of standardized format for that matter).

It seems unlikely that we're going to see proper JSON logging implemented any time soon, so we could discuss aliasing json-file to k8s-file (I'm still a bit leery because it's effectively lying to the user. We're definitely not logging JSON).

@cjeanner
Copy link

@mheon thanks for your explanation.

I don't think aliasing now the "non-json" «json-file» to k8s-file is the right thing to do - we're already changing things in our project (TripleO) - it should be good soon. Hopefully ;).

@amoralej
Copy link

Even if using "json-file" for a non-json log is uggly, i'd say that keeping some sort of backwards compatibility wins unless there have been proper deprecation period, notification, etc... I'm not sure if it's the case here, but IMHO backwards compatibility wins.

@haircommander
Copy link
Collaborator

Added a fix in #3375 . Now, we will make json-file an alias, but give an error message describing such :)

@sshnaidm
Copy link
Member

from docs:

--log-driver="k8s-file"
Logging driver for the container. Currently not supported. This flag is a NOOP provided solely for scripting compatibility.

https://github.com/containers/libpod/blob/master/docs/podman-run.1.md
Is it still correct?

@haircommander
Copy link
Collaborator

aah nope that is no longer correct. Thanks @sshnaidm for pointing that out

@haircommander
Copy link
Collaborator

Added a doc fix in #3375 as well

openstack-gerrit pushed a commit to openstack-archive/paunch that referenced this issue Jun 21, 2019
As suggested in containers/podman#3363

Change-Id: I00d037100adbe1c052b64f244d852d46625aa9aa
Depends-On: https://review.opendev.org/666220
openstack-gerrit pushed a commit to openstack/openstack that referenced this issue Jun 21, 2019
* Update paunch from branch 'master'
  - Use k8s-file log driver with podman
    
    As suggested in containers/podman#3363
    
    Change-Id: I00d037100adbe1c052b64f244d852d46625aa9aa
    Depends-On: https://review.opendev.org/666220
openstack-gerrit pushed a commit to openstack-archive/tripleo-heat-templates that referenced this issue Jun 24, 2019
While this new name makes more sense than the "json-file" which wasn't a
json, it breaks podman invocations[0] in TripleO.

Also, moved the configuration snipped to the podman dedicated block,
since docker doesn't have that driver[1].

[0] containers/podman#3363
[1] https://docs.docker.com/config/containers/logging/configure/

Depends-On: https://review.opendev.org/666223
Change-Id: I3891da45e665727ab6d767514f9d24cb06da6b50
openstack-gerrit pushed a commit to openstack/openstack that referenced this issue Jun 24, 2019
* Update tripleo-heat-templates from branch 'master'
  - Merge "Podman 1.4.1 drops json-file in favor of k8s-file"
  - Podman 1.4.1 drops json-file in favor of k8s-file
    
    While this new name makes more sense than the "json-file" which wasn't a
    json, it breaks podman invocations[0] in TripleO.
    
    Also, moved the configuration snipped to the podman dedicated block,
    since docker doesn't have that driver[1].
    
    [0] containers/podman#3363
    [1] https://docs.docker.com/config/containers/logging/configure/
    
    Depends-On: https://review.opendev.org/666223
    Change-Id: I3891da45e665727ab6d767514f9d24cb06da6b50
openstack-gerrit pushed a commit to openstack-archive/paunch that referenced this issue Oct 16, 2019
As suggested in containers/podman#3363

Change-Id: I00d037100adbe1c052b64f244d852d46625aa9aa
Depends-On: https://review.opendev.org/666220
(cherry picked from commit d1eef29)
openstack-gerrit pushed a commit to openstack-archive/tripleo-heat-templates that referenced this issue Oct 16, 2019
While this new name makes more sense than the "json-file" which wasn't a
json, it breaks podman invocations[0] in TripleO.

Also, moved the configuration snipped to the podman dedicated block,
since docker doesn't have that driver[1].

[0] containers/podman#3363
[1] https://docs.docker.com/config/containers/logging/configure/

Depends-On: https://review.opendev.org/688705
Change-Id: I3891da45e665727ab6d767514f9d24cb06da6b50
(cherry picked from commit 55e1eac)
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 24, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants