Skip to content

Fluentd ConfigCheck pod misses PodSecurityContext if configCheck is set in Logging resource #2228

Description

@mdraijer

Describe the bug:
When you add

spec:
  configCheck:
    timeoutSeconds: 10

in the Logging custom resource, then the code in newCheckPod is somehow not executed which results in a fluentd-checkconfig pod that misses certain elements.
Many of them may be missing but one of them is the PodSecurityContext, which, in combination with the configuration workers>1 in the FluentdConfig causes the configcheck to crash with the error described in #1023

Expected behaviour:
If the mentioned configCheck configuration in Logging is added, then the runtime pod configuration of the fluentd-configcheck pod should still contain the configured pod spec. For example PodSecurityContext.

Steps to reproduce the bug:
Add the mentioned configCheck configuration in Logging resource; also set some pod spec in the FluentdConfig resource, e.g. .spec.security.podSecurityContext.runAsUser = 1001.

Additional context:
The bug was discovered after analysis regarding the problem described in #1023

Environment details:

  • Kubernetes version (e.g. v1.15.2): 1.33.9
  • Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc): on premise Openshift
  • logging-operator version (e.g. 2.1.1): 6.2.2
  • Install method (e.g. helm or static manifests): static manifests
  • Logs from the misbehaving component (and any other relevant logs): not necessary, just run kubectl get pod ...-fluentd-configcheck-... -oyaml
  • Resource definition (possibly in YAML format) that caused the issue, without sensitive data:
# Logging:
spec:
  ...
  configCheck:
    timeoutSeconds: 10
  ...
# FluentdConfig:
spec:
  ...
  security:
    podSecurityContext:
      runAsUser: 1001
  workers: 8

/kind bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions