- 
                Notifications
    
You must be signed in to change notification settings  - Fork 23
 
Open
Description
What did you do to encounter the bug?
Steps to reproduce the behavior:
- Create basic mongodb manifests (basically the example + storageClass overrides). See attached.
 
What did you expect?
Working MongoDB cluster
What happened instead?
The mongod container stuck indefinitely waiting for mongodb-agent:
❯ k logs -f example-mongodb-0
Defaulted container "mongod" out of: mongod, mongodb-agent, mongod-posthook (init), mongodb-agent-readinessprobe (init)
2025-08-04T18:04:37.140Z        INFO    versionhook/main.go:33  Running version change post-start hook
2025-08-04T18:04:37.141Z        INFO    versionhook/main.go:40  Waiting for agent health status...
2025-08-04T18:04:38.141Z        INFO    versionhook/main.go:46  Agent health status file not found, mongod will start
Waiting for config and keyfile files to be created by the agent...
Waiting...
Waiting...
Waiting...
Waiting...Operator Information
- Operator Version v1.2.0
 - MongoDB Image used 8.0.0
 
Kubernetes Cluster Information
- Distribution: kubeadm
 - Version: 1.31.4
 - Image Registry location (quay, or an internal registry): quay
 
Additional context
Add any other context about the problem here.
❯ k get pods
NAME                READY   STATUS    RESTARTS   AGE
example-mongodb-0   2/2     Running   0          19m
example-mongodb-1   2/2     Running   0          18m
example-mongodb-2   2/2     Running   0          18m
                                                                                     
❯ k get mdbc
NAME              PHASE     VERSION
example-mongodb   Running   8.0.0
❯ kubectl get mdbc -oyaml
apiVersion: v1
items:
- apiVersion: mongodbcommunity.mongodb.com/v1
  kind: MongoDBCommunity
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"mongodbcommunity.mongodb.com/v1","kind":"MongoDBCommunity","metadata":{"annotations":{},"name":"example-mongodb","namespace":"test"},"spec":{"additionalMongodConfig":{"storage.wiredTiger.engineConfig.journalCompressor":"zlib"},"members":3,"security":{"authentication":{"modes":["SCRAM"]}},"statefulSet":{"spec":{"template":{"spec":{"containers":[{"name":"mongod","resources":{"limits":{"cpu":3,"memory":"2000Mi"},"requests":{"cpu":3,"memory":"2000Mi"}}}],"initContainers":[{"name":"mongod-posthook","resources":{"limits":{"cpu":1,"memory":"2000Mi"},"requests":{"cpu":0.5,"memory":"1000Mi"}}},{"name":"mongodb-agent-readinessprobe","resources":{"limits":{"cpu":0.5,"memory":"128Mi"},"requests":{"cpu":0.5,"memory":"128Mi"}}}]}},"volumeClaimTemplates":[{"metadata":{"name":"data-volume"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"5G"}},"storageClassName":"directpv-min-io"}},{"metadata":{"name":"logs-volume"},"spec":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"2G"}},"storageClassName":"directpv-min-io"}}]}},"type":"ReplicaSet","users":[{"db":"admin","name":"my-user","passwordSecretRef":{"name":"my-user-password"},"roles":[{"db":"admin","name":"clusterAdmin"},{"db":"admin","name":"userAdminAnyDatabase"}],"scramCredentialsSecretName":"my-scram"}],"version":"8.0.0"}}
      mongodb.com/v1.lastAppliedMongoDBVersion: 8.0.0
      mongodb.com/v1.lastSuccessfulConfiguration: '{"members":3,"type":"ReplicaSet","version":"8.0.0","arbiters":0,"security":{"authentication":{"modes":["SCRAM"],"ignoreUnknownUsers":true},"tls":{"enabled":false,"optional":false,"certificateKeySecretRef":{}}},"users":[{"name":"my-user","db":"admin","passwordSecretRef":{"name":"my-user-password","key":""},"roles":[{"db":"admin","name":"clusterAdmin"},{"db":"admin","name":"userAdminAnyDatabase"}],"scramCredentialsSecretName":"my-scram","additionalConnectionStringConfig":null}],"statefulSet":{"spec":{},"metadata":{}},"agent":{"logLevel":"","logFile":"","maxLogFileDurationHours":0},"additionalMongodConfig":{},"additionalConnectionStringConfig":{}}'
    creationTimestamp: "2025-08-04T18:33:49Z"
    generation: 1
    name: example-mongodb
    namespace: test
    resourceVersion: "5289912"
    uid: 54610384-4ca8-4643-b0d1-26db03cc87df
  spec:
    additionalMongodConfig:
      storage.wiredTiger.engineConfig.journalCompressor: zlib
    members: 3
    security:
      authentication:
        ignoreUnknownUsers: true
        modes:
        - SCRAM
    statefulSet:
      spec:
        template:
          spec:
            containers:
            - name: mongod
              resources:
                limits:
                  cpu: 3
                  memory: 2000Mi
                requests:
                  cpu: 3
                  memory: 2000Mi
            initContainers:
            - name: mongod-posthook
              resources:
                limits:
                  cpu: 1
                  memory: 2000Mi
                requests:
                  cpu: 0.5
                  memory: 1000Mi
            - name: mongodb-agent-readinessprobe
              resources:
                limits:
                  cpu: 0.5
                  memory: 128Mi
                requests:
                  cpu: 0.5
                  memory: 128Mi
        volumeClaimTemplates:
        - metadata:
            name: data-volume
          spec:
            accessModes:
            - ReadWriteOnce
            resources:
              requests:
                storage: 5G
            storageClassName: directpv-min-io
        - metadata:
            name: logs-volume
          spec:
            accessModes:
            - ReadWriteOnce
            resources:
              requests:
                storage: 2G
            storageClassName: directpv-min-io
    type: ReplicaSet
    users:
    - db: admin
      name: my-user
      passwordSecretRef:
        name: my-user-password
      roles:
      - db: admin
        name: clusterAdmin
      - db: admin
        name: userAdminAnyDatabase
      scramCredentialsSecretName: my-scram
    version: 8.0.0
  status:
    currentMongoDBMembers: 3
    currentStatefulSetReplicas: 3
    mongoUri: mongodb://example-mongodb-0.example-mongodb-svc.test.svc.cluster.local:27017,example-mongodb-1.example-mongodb-svc.test.svc.cluster.local:27017,example-mongodb-2.example-mongodb-svc.test.svc.cluster.local:27017/?replicaSet=example-mongodb
    phase: Running
    version: 8.0.0
kind: List
metadata:
  resourceVersion: ""
❯ kubectl get sts -oyaml
apiVersion: v1
items:
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    creationTimestamp: "2025-08-04T18:33:49Z"
    generation: 1
    name: example-mongodb
    namespace: test
    ownerReferences:
    - apiVersion: mongodbcommunity.mongodb.com/v1
      blockOwnerDeletion: true
      controller: true
      kind: MongoDBCommunity
      name: example-mongodb
      uid: 54610384-4ca8-4643-b0d1-26db03cc87df
    resourceVersion: "5289909"
    uid: 0b500896-58c8-450d-a3e8-86c9e898bab5
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 3
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: example-mongodb-svc
    serviceName: example-mongodb-svc
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: example-mongodb-svc
      spec:
        containers:
        - args:
          - ""
          command:
          - /bin/sh
          - -c
          - "\nif [ -e \"/hooks/version-upgrade\" ]; then\n\t#run post-start hook
            to handle version changes (if exists)\n    /hooks/version-upgrade\nfi\n\n#
            wait for config and keyfile to be created by the agent\necho \"Waiting
            for config and keyfile files to be created by the agent...\"\nwhile !
            [ -f /data/automation-mongod.conf -a -f /var/lib/mongodb-mms-automation/authentication/keyfile
            ]; do\n\tsleep 3;\n\techo \"Waiting...\"\ndone\n\n# sleep is important
            after agent issues shutdown command\n# k8s restarts the mongod container
            too quickly for the agent to realize mongod is down\necho \"Sleeping for
            15s...\"\nsleep 15\n\n# start mongod with this configuration\necho \"Starting
            mongod...\"\nexec mongod -f /data/automation-mongod.conf;\n"
          env:
          - name: AGENT_STATUS_FILEPATH
            value: /healthstatus/agent-health-status.json
          image: quay.io/mongodb/mongodb-community-server:8.0.0-ubi8
          imagePullPolicy: IfNotPresent
          name: mongod
          resources:
            limits:
              cpu: "3"
              memory: 2000Mi
            requests:
              cpu: "3"
              memory: 2000Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /data
            name: data-volume
          - mountPath: /var/lib/mongodb-mms-automation/authentication
            name: example-mongodb-keyfile
          - mountPath: /healthstatus
            name: healthstatus
          - mountPath: /hooks
            name: hooks
          - mountPath: /var/log/mongodb-mms-automation
            name: logs-volume
          - mountPath: /tmp
            name: tmp
        - command:
          - /bin/bash
          - -c
          - |-
            current_uid=$(id -u)
            declare -r current_uid
            if ! grep -q "${current_uid}" /etc/passwd ; then
            sed -e "s/^mongodb:/builder:/" /etc/passwd > /tmp/passwd
            echo "mongodb:x:$(id -u):$(id -g):,,,:/:/bin/bash" >> /tmp/passwd
            export NSS_WRAPPER_PASSWD=/tmp/passwd
            export LD_PRELOAD=libnss_wrapper.so
            export NSS_WRAPPER_GROUP=/etc/group
            fi
            agent/mongodb-agent -healthCheckFilePath=/var/log/mongodb-mms-automation/healthstatus/agent-health-status.json -serveStatusPort=5000 -cluster=/var/lib/automation/config/cluster-config.json -skipMongoStart -noDaemonize -useLocalMongoDbTools -logFile /var/log/mongodb-mms-automation/automation-agent.log -logLevel INFO -maxLogFileDurationHrs 24
          env:
          - name: AGENT_STATUS_FILEPATH
            value: /var/log/mongodb-mms-automation/healthstatus/agent-health-status.json
          - name: AUTOMATION_CONFIG_MAP
            value: example-mongodb-config
          - name: HEADLESS_AGENT
            value: "true"
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/mongodb/mongodb-agent-ubi:108.0.2.8729-1
          imagePullPolicy: Always
          name: mongodb-agent
          readinessProbe:
            exec:
              command:
              - /opt/scripts/readinessprobe
            failureThreshold: 40
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            limits:
              cpu: "1"
              memory: 500M
            requests:
              cpu: 500m
              memory: 400M
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /opt/scripts
            name: agent-scripts
          - mountPath: /var/lib/automation/config
            name: automation-config
            readOnly: true
          - mountPath: /data
            name: data-volume
          - mountPath: /var/lib/mongodb-mms-automation/authentication
            name: example-mongodb-keyfile
          - mountPath: /var/log/mongodb-mms-automation/healthstatus
            name: healthstatus
          - mountPath: /var/log/mongodb-mms-automation
            name: logs-volume
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - cp
          - version-upgrade-hook
          - /hooks/version-upgrade
          image: quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook:1.0.9
          imagePullPolicy: Always
          name: mongod-posthook
          resources:
            limits:
              cpu: "1"
              memory: 2000Mi
            requests:
              cpu: 500m
              memory: 1000Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /hooks
            name: hooks
        - command:
          - cp
          - /probes/readinessprobe
          - /opt/scripts/readinessprobe
          image: quay.io/mongodb/mongodb-kubernetes-readinessprobe:1.0.22
          imagePullPolicy: Always
          name: mongodb-agent-readinessprobe
          resources:
            limits:
              cpu: 500m
              memory: 128Mi
            requests:
              cpu: 500m
              memory: 128Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /opt/scripts
            name: agent-scripts
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 2000
          runAsNonRoot: true
          runAsUser: 2000
        serviceAccount: mongodb-kubernetes-appdb
        serviceAccountName: mongodb-kubernetes-appdb
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: agent-scripts
        - name: automation-config
          secret:
            defaultMode: 416
            secretName: example-mongodb-config
        - emptyDir: {}
          name: example-mongodb-keyfile
        - emptyDir: {}
          name: healthstatus
        - emptyDir: {}
          name: hooks
        - emptyDir: {}
          name: tmp
    updateStrategy:
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        name: data-volume
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5G
        storageClassName: directpv-min-io
        volumeMode: Filesystem
      status:
        phase: Pending
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        name: logs-volume
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 2G
        storageClassName: directpv-min-io
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 3
    collisionCount: 0
    currentReplicas: 3
    currentRevision: example-mongodb-554f488f9f
    observedGeneration: 1
    readyReplicas: 3
    replicas: 3
    updateRevision: example-mongodb-554f488f9f
    updatedReplicas: 3
- apiVersion: apps/v1
  kind: StatefulSet
  metadata:
    creationTimestamp: "2025-08-04T18:33:49Z"
    generation: 1
    name: example-mongodb-arb
    namespace: test
    ownerReferences:
    - apiVersion: mongodbcommunity.mongodb.com/v1
      blockOwnerDeletion: true
      controller: true
      kind: MongoDBCommunity
      name: example-mongodb
      uid: 54610384-4ca8-4643-b0d1-26db03cc87df
    resourceVersion: "5289298"
    uid: 849bac65-3538-46ef-a61e-ced3f992b86b
  spec:
    persistentVolumeClaimRetentionPolicy:
      whenDeleted: Retain
      whenScaled: Retain
    podManagementPolicy: OrderedReady
    replicas: 0
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: example-mongodb-svc
    serviceName: example-mongodb-svc
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: example-mongodb-svc
      spec:
        containers:
        - args:
          - ""
          command:
          - /bin/sh
          - -c
          - "\nif [ -e \"/hooks/version-upgrade\" ]; then\n\t#run post-start hook
            to handle version changes (if exists)\n    /hooks/version-upgrade\nfi\n\n#
            wait for config and keyfile to be created by the agent\necho \"Waiting
            for config and keyfile files to be created by the agent...\"\nwhile !
            [ -f /data/automation-mongod.conf -a -f /var/lib/mongodb-mms-automation/authentication/keyfile
            ]; do\n\tsleep 3;\n\techo \"Waiting...\"\ndone\n\n# sleep is important
            after agent issues shutdown command\n# k8s restarts the mongod container
            too quickly for the agent to realize mongod is down\necho \"Sleeping for
            15s...\"\nsleep 15\n\n# start mongod with this configuration\necho \"Starting
            mongod...\"\nexec mongod -f /data/automation-mongod.conf;\n"
          env:
          - name: AGENT_STATUS_FILEPATH
            value: /healthstatus/agent-health-status.json
          image: quay.io/mongodb/mongodb-community-server:8.0.0-ubi8
          imagePullPolicy: IfNotPresent
          name: mongod
          resources:
            limits:
              cpu: "3"
              memory: 2000Mi
            requests:
              cpu: "3"
              memory: 2000Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /data
            name: data-volume
          - mountPath: /var/lib/mongodb-mms-automation/authentication
            name: example-mongodb-keyfile
          - mountPath: /healthstatus
            name: healthstatus
          - mountPath: /hooks
            name: hooks
          - mountPath: /var/log/mongodb-mms-automation
            name: logs-volume
          - mountPath: /tmp
            name: tmp
        - command:
          - /bin/bash
          - -c
          - |-
            current_uid=$(id -u)
            declare -r current_uid
            if ! grep -q "${current_uid}" /etc/passwd ; then
            sed -e "s/^mongodb:/builder:/" /etc/passwd > /tmp/passwd
            echo "mongodb:x:$(id -u):$(id -g):,,,:/:/bin/bash" >> /tmp/passwd
            export NSS_WRAPPER_PASSWD=/tmp/passwd
            export LD_PRELOAD=libnss_wrapper.so
            export NSS_WRAPPER_GROUP=/etc/group
            fi
            agent/mongodb-agent -healthCheckFilePath=/var/log/mongodb-mms-automation/healthstatus/agent-health-status.json -serveStatusPort=5000 -cluster=/var/lib/automation/config/cluster-config.json -skipMongoStart -noDaemonize -useLocalMongoDbTools -logFile /var/log/mongodb-mms-automation/automation-agent.log -logLevel INFO -maxLogFileDurationHrs 24
          env:
          - name: AGENT_STATUS_FILEPATH
            value: /var/log/mongodb-mms-automation/healthstatus/agent-health-status.json
          - name: AUTOMATION_CONFIG_MAP
            value: example-mongodb-config
          - name: HEADLESS_AGENT
            value: "true"
          - name: POD_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          image: quay.io/mongodb/mongodb-agent-ubi:108.0.2.8729-1
          imagePullPolicy: Always
          name: mongodb-agent
          readinessProbe:
            exec:
              command:
              - /opt/scripts/readinessprobe
            failureThreshold: 40
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            limits:
              cpu: "1"
              memory: 500M
            requests:
              cpu: 500m
              memory: 400M
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /opt/scripts
            name: agent-scripts
          - mountPath: /var/lib/automation/config
            name: automation-config
            readOnly: true
          - mountPath: /data
            name: data-volume
          - mountPath: /var/lib/mongodb-mms-automation/authentication
            name: example-mongodb-keyfile
          - mountPath: /var/log/mongodb-mms-automation/healthstatus
            name: healthstatus
          - mountPath: /var/log/mongodb-mms-automation
            name: logs-volume
          - mountPath: /tmp
            name: tmp
        dnsPolicy: ClusterFirst
        initContainers:
        - command:
          - cp
          - version-upgrade-hook
          - /hooks/version-upgrade
          image: quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook:1.0.9
          imagePullPolicy: Always
          name: mongod-posthook
          resources:
            limits:
              cpu: "1"
              memory: 2000Mi
            requests:
              cpu: 500m
              memory: 1000Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /hooks
            name: hooks
        - command:
          - cp
          - /probes/readinessprobe
          - /opt/scripts/readinessprobe
          image: quay.io/mongodb/mongodb-kubernetes-readinessprobe:1.0.22
          imagePullPolicy: Always
          name: mongodb-agent-readinessprobe
          resources:
            limits:
              cpu: 500m
              memory: 128Mi
            requests:
              cpu: 500m
              memory: 128Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /opt/scripts
            name: agent-scripts
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 2000
          runAsNonRoot: true
          runAsUser: 2000
        serviceAccount: mongodb-kubernetes-appdb
        serviceAccountName: mongodb-kubernetes-appdb
        terminationGracePeriodSeconds: 30
        volumes:
        - emptyDir: {}
          name: agent-scripts
        - name: automation-config
          secret:
            defaultMode: 416
            secretName: example-mongodb-config
        - emptyDir: {}
          name: example-mongodb-keyfile
        - emptyDir: {}
          name: healthstatus
        - emptyDir: {}
          name: hooks
        - emptyDir: {}
          name: tmp
    updateStrategy:
      type: RollingUpdate
    volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        name: data-volume
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5G
        storageClassName: directpv-min-io
        volumeMode: Filesystem
      status:
        phase: Pending
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        name: logs-volume
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 2G
        storageClassName: directpv-min-io
        volumeMode: Filesystem
      status:
        phase: Pending
  status:
    availableReplicas: 0
    collisionCount: 0
    currentRevision: example-mongodb-arb-554f488f9f
    observedGeneration: 1
    replicas: 0
    updateRevision: example-mongodb-arb-554f488f9f
kind: List
metadata:
  resourceVersion: ""
❯ k logs -f example-mongodb-0
Defaulted container "mongod" out of: mongod, mongodb-agent, mongod-posthook (init), mongodb-agent-readinessprobe (init)
2025-08-04T18:33:53.361Z        INFO    versionhook/main.go:33  Running version change post-start hook
2025-08-04T18:33:53.361Z        INFO    versionhook/main.go:40  Waiting for agent health status...
2025-08-04T18:33:54.361Z        INFO    versionhook/main.go:46  Agent health status file not found, mongod will start
Waiting for config and keyfile files to be created by the agent...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
Waiting...
❯ kubectl exec -it example-mongodb-0  -c mongodb-agent -- cat /var/lib/automation/config/cluster-config.json
{"version":1,"processes":[{"name":"example-mongodb-0","disabled":false,"hostname":"example-mongodb-0.example-mongodb-svc.test.svc.cluster.local","args2_6":{"net":{"port":27017},"replication":{"replSetName":"example-mongodb"},"storage":{"dbPath":"/data","wiredTiger":{"engineConfig":{"journalCompressor":"zlib"}}}},"featureCompatibilityVersion":"8.0","processType":"mongod","version":"8.0.0","authSchemaVersion":5},{"name":"example-mongodb-1","disabled":false,"hostname":"example-mongodb-1.example-mongodb-svc.test.svc.cluster.local","args2_6":{"net":{"port":27017},"replication":{"replSetName":"example-mongodb"},"storage":{"dbPath":"/data","wiredTiger":{"engineConfig":{"journalCompressor":"zlib"}}}},"featureCompatibilityVersion":"8.0","processType":"mongod","version":"8.0.0","authSchemaVersion":5},{"name":"example-mongodb-2","disabled":false,"hostname":"example-mongodb-2.example-mongodb-svc.test.svc.cluster.local","args2_6":{"net":{"port":27017},"replication":{"replSetName":"example-mongodb"},"storage":{"dbPath":"/data","wiredTiger":{"engineConfig":{"journalCompressor":"zlib"}}}},"featureCompatibilityVersion":"8.0","processType":"mongod","version":"8.0.0","authSchemaVersion":5}],"replicaSets":[{"_id":"example-mongodb","members":[{"_id":0,"host":"example-mongodb-0","arbiterOnly":false,"votes":1,"priority":1},{"_id":1,"host":"example-mongodb-1","arbiterOnly":false,"votes":1,"priority":1},{"_id":2,"host":"example-mongodb-2","arbiterOnly":false,"votes":1,"priority":1}],"protocolVersion":"1","numberArbiters":0}],"auth":{"usersWanted":[{"mechanisms":[],"roles":[{"role":"clusterAdmin","db":"admin"},{"role":"userAdminAnyDatabase","db":"admin"}],"user":"my-user","db":"admin","authenticationRestrictions":[],"scramSha256Creds":{"iterationCount":15000,"salt":"3GHlybjCxo4B+1YYh4LNMw80jCNma3fRsKQ3bA==","serverKey":"zDPAJOeUI+0nQDdbhImeUrQgDvp0nRQzhtnCS+auFKw=","storedKey":"hyTTo9TmNusWXM48Gh6mVtN6bVdqFAloFj7fVkJMzHg="},"scramSha1Creds":{"iterationCount":10000,"salt":"C18cmdKmNnfrGFFJXO2bwA==","serverKey":"u0mYhBWPTKmkjpBwZup+WhnsNLs=","storedKey":"LZLA7haWyO7l8yNy58298h7vb2U="}}],"disabled":false,"authoritativeSet":false,"autoAuthMechanisms":["SCRAM-SHA-256"],"autoAuthMechanism":"SCRAM-SHA-256","deploymentAuthMechanisms":["SCRAM-SHA-256"],"autoUser":"mms-automation","key":"DdDszqMjV1lcx69wKvlWTiq9FF5sY/ew6P/2ABO61FykQ/38EA0q0bcT39xDnAzZrmZBADBD6nK5jN+cRZdg6X/4Gk1a8g5LD4+IScQCemndTcrAIlrJ3eoiEq9n2SoAzT/nE6KdJnzyGXPmBhgKy5r0zkhy+80N2EYFFkQdPLjmnjRdh+ioZ5EVITt3z+olL/oJk2LrNvUeSw9ZUSBuKRau/PW0D5UanjbcHDFhr151UYPVPg0mOVJy84de0pWJV0lpaamrxuZpAor/S2SOTjN0Uaik4zcRWRHmG1hIDuXzIcso1rT/DC+J07XO9gquJkDi7TzAQtEHGsSIAgWdLg+h2Pg+a7RBOzPRTNVnKHrMiartInCU5ixj3b5Dx6Tfv7lsQPVBLKo761LGnh1D9cdxauRdIMq/znlt+5vot5RM6LVcI2o7hQa4rowk5IH2PXT5rzpseQRrZPddGrHhbsKa7lC+W1c8BOoa9svIweuWNScDEQzS+/hYhTzwSZmsWdFhCyn3sEyQvzxRM4cHe59gjVzLY1ZHA1X9QrJSIx+3ue/3JU9eZetT7NtiAll8ibCISH5FOsDXlWIiwSS23US7QZ62PydHMS2mTwesbaYULgEaxnpsAMU7ocKSk8QgfHR92amvvTPdxMaGE3RdcObTqPI=","keyfile":"/var/lib/mongodb-mms-automation/authentication/keyfile","keyfileWindows":"%SystemDrive%\\MMSAutomation\\versions\\keyfile","autoPwd":"7v7tril0XlIOapyj_oRz"},"tls":{"CAFilePath":"","clientCertificateMode":"OPTIONAL"},"mongoDbVersions":[{"name":"8.0.0","builds":[{"platform":"linux","url":"","gitVersion":"","architecture":"amd64","flavor":"rhel","minOsVersion":"","maxOsVersion":"","modules":[]},{"platform":"linux","url":"","gitVersion":"","architecture":"amd64","flavor":"ubuntu","minOsVersion":"","maxOsVersion":"","modules":[]},{"platform":"linux","url":"","gitVersion":"","architecture":"aarch64","flavor":"ubuntu","minOsVersion":"","maxOsVersion":"","modules":[]},{"platform":"linux","url":"","gitVersion":"","architecture":"aarch64","flavor":"rhel","minOsVersion":"","maxOsVersion":"","modules":[]}]}],"backupVersions":[],"monitoringVersions":[],"options":{"downloadBase":"/var/lib/mongodb-mms-automation"}}
❯ kubectl exec -it example-mongodb-0 -c mongodb-agent -- cat /var/log/mongodb-mms-automation/healthstatus/agent-health-status.json
{"statuses":{},"mmsStatus":{}}
❯ kubectl exec -it example-mongodb-0 -c mongodb-agent -- cat /var/log/mongodb-mms-automation/automation-agent-verbose.log
[2025-08-04T18:33:53.516+0000] [header.info] [::0]        GitCommitId = ec1573c1fd5d7da3acab288d628b9e9eaaec6b2b
[2025-08-04T18:33:53.516+0000] [header.info] [::0]  AutomationVersion = 108.0.2.8729
[2025-08-04T18:33:53.516+0000] [header.info] [::0]          localhost = example-mongodb-0.example-mongodb-svc.test.svc.cluster.prod.xxx
[2025-08-04T18:33:53.516+0000] [header.info] [::0] ErrorStateSleepTime = 10s
[2025-08-04T18:33:53.516+0000] [header.info] [::0] GoalStateSleepTime = 10s
[2025-08-04T18:33:53.516+0000] [header.info] [::0] NotGoalStateSleepTime = 1s
[2025-08-04T18:33:53.516+0000] [header.info] [::0]     PlanCutoffTime = 300000
[2025-08-04T18:33:53.516+0000] [header.info] [::0]       TracePlanner = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]               User = mongodb
[2025-08-04T18:33:53.516+0000] [header.info] [::0]         Go version = go1.22.9
[2025-08-04T18:33:53.516+0000] [header.info] [::0]         MmsBaseURL =
[2025-08-04T18:33:53.516+0000] [header.info] [::0]         MmsGroupId =
[2025-08-04T18:33:53.516+0000] [header.info] [::0]          HttpProxy =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] DisableHttpKeepAlive = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]        HttpsCAFile =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] TlsRequireValidMMSServerCertificates = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0] TlsMMSServerClientCertificate =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] KMIPProxyCertificateDir = /tmp
[2025-08-04T18:33:53.516+0000] [header.info] [::0] EnableLocalConfigurationServer = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0] LocalConfigurationServerPort = 0
[2025-08-04T18:33:53.516+0000] [header.info] [::0]   InternalPromPort = 0
[2025-08-04T18:33:53.516+0000] [header.info] [::0] DialTimeoutSeconds = 40
[2025-08-04T18:33:53.516+0000] [header.info] [::0] KeepUnusedMongodbVersions = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0] DisallowDowngrades = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]   UseLocalBinaries = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]  BinariesFixedPath =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] UseLocalMongoDbTools = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0]        NoDaemonize = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0]     SkipMongoStart = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0]       operatorMode = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0] healthCheckFilePath = /var/log/mongodb-mms-automation/healthstatus/agent-health-status.json
[2025-08-04T18:33:53.516+0000] [.info] [src/util/sysdep_unix.go:LockAutomationLockFile:322] [18:33:53.516] Locking automation lock file at /tmp/mongodb-mms-automation.lock
[2025-08-04T18:33:53.516+0000] [.info] [main/components/agent.go:NewAgent:132] [18:33:53.516] Constructing new agent object with desiredClusterConfigPath=/var/lib/automation/config/cluster-config.json
[2025-08-04T18:33:53.516+0000] [.info] [src/mongosqld/custodian.go:NewCustodian:141] <mongosqld custodian> [18:33:53.516] Started
[2025-08-04T18:33:53.517+0000] [.warn] [prometheus/collector/hardwarecollector.go:collectMetrics:77] <promHardwareCollector> [18:33:53.517] agent.MetricsCollector is not running. Check agent.go for initialization issues : collector is not running
[2025-08-04T18:33:53.517+0000] [.info] [realtime/rtcollector/rtcollector.go:controlLoop:85] <rtCollector> [18:33:53.517] Starting control loop
[2025-08-04T18:33:53.517+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:33:53.517] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:33:53.517+0000] [.info] [src/dataexplorer/dataexplorer.go:controlLoop:109] <dataExplorer> [18:33:53.517] Starting control loop
[2025-08-04T18:33:53.517+0000] [.info] [src/kmipproxy/custodian.go:mainLoop:204] <kmipProxyMaintainer> [18:33:53.517] Starting main loop
[2025-08-04T18:33:53.529+0000] [.info] [main/components/agent.go:LoadClusterConfig:273] [18:33:53.529] New cluster config received! 0 (<nil>) -> 1 (2025-08-04 18:33:51.450390612 +0000 UTC)
[2025-08-04T18:33:53.529+0000] [.info] [src/modules/agents_unix.go:KillAllAgents:43] [18:33:53.529] Killing all running mongodb-mms-monitoring-agent agents at /var/lib/mongodb-mms-automation/mongodb-mms-monitoring-agent-.+\..+_.+/mongodb-mms-monitoring-agent *$
[2025-08-04T18:33:53.533+0000] [.info] [src/modules/agents_unix.go:KillAllAgents:43] [18:33:53.533] Killing all running mongodb-mms-backup-agent agents at /var/lib/mongodb-mms-automation/mongodb-mms-backup-agent-.+\..+_.+/mongodb-mms-backup-agent *$
[2025-08-04T18:33:53.580+0000] [.info] [realtime/rtcollector/rtcollector.go:controlLoop:93] <rtCollector> [18:33:53.580] Received new cluster config version 1, edition 2025-08-04 18:33:51.450390612 +0000 UTC!
[2025-08-04T18:33:53.580+0000] [.info] [src/dataexplorer/dataexplorer.go:controlLoop:115] <dataExplorer> [18:33:53.580] Received new cluster config version 1, edition 2025-08-04 18:33:51.450390612 +0000 UTC!
[2025-08-04T18:33:53.580+0000] [.info] [metrics/collector/realcollector.go:collectLoop:308] <hardwareMetricsCollector> [18:33:53.580] Received new cluster config version 1, edition 2025-08-04 18:33:51.450390612 +0000 UTC!
[2025-08-04T18:33:53.580+0000] [.info] [metrics/prometheus/exporter.go:mainLoop:85] <prometheusExporter> [18:33:53.580] Received new cluster config version 1, edition 2025-08-04 18:33:51.450390612 +0000 UTC!
[2025-08-04T18:33:53.580+0000] [.info] [metrics/prometheus/server.go:ApplyNewPromConfig:70] <prometheusExporter> [18:33:53.580] Prometheus config is nil or has prometheus explicitly disabled, stopping the prometheus server if running...
[2025-08-04T18:33:53.580+0000] [.info] [metrics/prometheus/server.go:func1:68] <prometheusExporter> [18:33:53.580] ApplyNewPromConfig took 14.39µs
[2025-08-04T18:33:53.591+0000] [.info] [main/components/agent.go:Iterate:913] [18:33:53.591] All 0 Mongo processes are in goal state.
[2025-08-04T18:33:54.517+0000] [.info] [src/runtimestats/printer.go:mainLoop:190] <runtimestatsPrinter> [18:33:54.517] stats:rss=50MB   heapInUse=8MB   memoryUsage=0.16%       normalizedCPU=0.00%     absoluteCPU=0.00%       gcNum=2 totalGcPauseNs=232796
[2025-08-04T18:34:03.605+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:34:03.605] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:34:03.605+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:34:03.605] clusterConfig unchanged
[2025-08-04T18:34:03.605+0000] [.info] [main/components/agent.go:Iterate:913] [18:34:03.605] All 0 Mongo processes are in goal state.
[2025-08-04T18:34:13.610+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:34:13.610] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:34:13.611+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:34:13.611] clusterConfig unchanged
[2025-08-04T18:34:13.611+0000] [.info] [main/components/agent.go:Iterate:913] [18:34:13.611] All 0 Mongo processes are in goal state.
[2025-08-04T18:34:23.649+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:34:23.649] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:34:23.649+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:34:23.649] clusterConfig unchanged
[2025-08-04T18:34:23.649+0000] [.info] [main/components/agent.go:Iterate:913] [18:34:23.649] All 0 Mongo processes are in goal state.
[2025-08-04T18:34:33.691+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:34:33.691] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:34:33.691+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:34:33.691] clusterConfig unchanged
[2025-08-04T18:34:33.691+0000] [.info] [main/components/agent.go:Iterate:913] [18:34:33.691] All 0 Mongo processes are in goal state.
[2025-08-04T18:34:43.735+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:34:43.735] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:34:43.735+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:34:43.735] clusterConfig unchanged
[2025-08-04T18:34:43.735+0000] [.info] [main/components/agent.go:Iterate:913] [18:34:43.735] All 0 Mongo processes are in goal state.
[2025-08-04T18:34:53.748+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:34:53.748] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:34:53.748+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:34:53.748] clusterConfig unchanged
[2025-08-04T18:34:53.748+0000] [.info] [main/components/agent.go:Iterate:913] [18:34:53.748] All 0 Mongo processes are in goal state.
[2025-08-04T18:34:54.518+0000] [.info] [src/runtimestats/printer.go:mainLoop:190] <runtimestatsPrinter> [18:34:54.518] stats:rss=54MB   heapInUse=9MB   memoryUsage=0.17%       normalizedCPU=0.03%     absoluteCPU=0.50%       gcNum=4 totalGcPauseNs=493592
[2025-08-04T18:35:03.784+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:35:03.784] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:35:03.784+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:35:03.784] clusterConfig unchanged
[2025-08-04T18:35:03.784+0000] [.info] [main/components/agent.go:Iterate:913] [18:35:03.784] All 0 Mongo processes are in goal state.
[2025-08-04T18:35:13.812+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:35:13.812] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:35:13.812+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:35:13.812] clusterConfig unchanged
[2025-08-04T18:35:13.812+0000] [.info] [main/components/agent.go:Iterate:913] [18:35:13.812] All 0 Mongo processes are in goal state.
[2025-08-04T18:35:23.838+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:35:23.838] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:35:23.838+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:35:23.838] clusterConfig unchanged
[2025-08-04T18:35:23.838+0000] [.info] [main/components/agent.go:Iterate:913] [18:35:23.838] All 0 Mongo processes are in goal state.
[2025-08-04T18:35:33.878+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:35:33.878] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:35:33.878+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:35:33.878] clusterConfig unchanged
[2025-08-04T18:35:33.878+0000] [.info] [main/components/agent.go:Iterate:913] [18:35:33.878] All 0 Mongo processes are in goal state.
[2025-08-04T18:35:43.885+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:35:43.885] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:35:43.885+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:35:43.885] clusterConfig unchanged
[2025-08-04T18:35:43.885+0000] [.info] [main/components/agent.go:Iterate:913] [18:35:43.885] All 0 Mongo processes are in goal state.
[2025-08-04T18:35:53.919+0000] [.info] [src/config/config.go:ReadClusterConfig:447] [18:35:53.919] Retrieving cluster config from /var/lib/automation/config/cluster-config.json...
[2025-08-04T18:35:53.919+0000] [.info] [main/components/agent.go:LoadClusterConfig:276] [18:35:53.919] clusterConfig unchanged
[2025-08-04T18:35:53.919+0000] [.info] [main/components/agent.go:Iterate:913] [18:35:53.919] All 0 Mongo processes are in goal state.
[2025-08-04T18:35:54.520+0000] [.info] [src/runtimestats/printer.go:mainLoop:190] <runtimestatsPrinter> [18:35:54.520] stats:rss=55MB   heapInUse=11MB  memoryUsage=0.17%       normalizedCPU=0.03%     absoluteCPU=0.48%       gcNum=5 totalGcPauseNs=544383
❯ kubectl exec -it example-mongodb-0 -c mongodb-agent -- cat /var/log/mongodb-mms-automation/automation-agent.log
[2025-08-04T18:33:53.516+0000] [header.info] [::0]        GitCommitId = ec1573c1fd5d7da3acab288d628b9e9eaaec6b2b
[2025-08-04T18:33:53.516+0000] [header.info] [::0]  AutomationVersion = 108.0.2.8729
[2025-08-04T18:33:53.516+0000] [header.info] [::0]          localhost = example-mongodb-0.example-mongodb-svc.test.svc.cluster.prod.xxx
[2025-08-04T18:33:53.516+0000] [header.info] [::0] ErrorStateSleepTime = 10s
[2025-08-04T18:33:53.516+0000] [header.info] [::0] GoalStateSleepTime = 10s
[2025-08-04T18:33:53.516+0000] [header.info] [::0] NotGoalStateSleepTime = 1s
[2025-08-04T18:33:53.516+0000] [header.info] [::0]     PlanCutoffTime = 300000
[2025-08-04T18:33:53.516+0000] [header.info] [::0]       TracePlanner = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]               User = mongodb
[2025-08-04T18:33:53.516+0000] [header.info] [::0]         Go version = go1.22.9
[2025-08-04T18:33:53.516+0000] [header.info] [::0]         MmsBaseURL =
[2025-08-04T18:33:53.516+0000] [header.info] [::0]         MmsGroupId =
[2025-08-04T18:33:53.516+0000] [header.info] [::0]          HttpProxy =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] DisableHttpKeepAlive = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]        HttpsCAFile =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] TlsRequireValidMMSServerCertificates = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0] TlsMMSServerClientCertificate =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] KMIPProxyCertificateDir = /tmp
[2025-08-04T18:33:53.516+0000] [header.info] [::0] EnableLocalConfigurationServer = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0] LocalConfigurationServerPort = 0
[2025-08-04T18:33:53.516+0000] [header.info] [::0]   InternalPromPort = 0
[2025-08-04T18:33:53.516+0000] [header.info] [::0] DialTimeoutSeconds = 40
[2025-08-04T18:33:53.516+0000] [header.info] [::0] KeepUnusedMongodbVersions = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0] DisallowDowngrades = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]   UseLocalBinaries = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0]  BinariesFixedPath =
[2025-08-04T18:33:53.516+0000] [header.info] [::0] UseLocalMongoDbTools = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0]        NoDaemonize = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0]     SkipMongoStart = true
[2025-08-04T18:33:53.516+0000] [header.info] [::0]       operatorMode = false
[2025-08-04T18:33:53.516+0000] [header.info] [::0] healthCheckFilePath = /var/log/mongodb-mms-automation/healthstatus/agent-health-status.jsonMetadata
Metadata
Assignees
Labels
No labels