Skip to content

--e2e-repo-config flag of the sonobuoy gen plugin e2e command breaks the plugin generation #2038

@bratushkadan

Description

@bratushkadan

What steps did you take and what happened:

sonobuoy gen plugin e2e command with the provided --e2e-repo-config generates duplicate volumes in the plugin section of manifest generated by the command sonobuoy gen --plugin <e2e_manifest>, where <e2e_manifest> is a path to manifest, generated by the sonobuoy gen plugin e2e --e2e-repo-config="<some_value>" command.

Below in the Anything else you would like to add I present a thorough explanation.

What did you expect to happen:

I did not expect the command sonobuoy gen to render duplicate volume and volumeMount entries in the resulting manifest given the --plugin <e2e_manifest> flag.

Alternatively, I would expect flag --e2e-repo-config to be forbidden for the command sonobuoy gen plugin e2e, as --e2e-repo-config flag for the sonobuoy gen command works as expected.

Anything else you would like to add:

Configuration files:

sonobuoy-config.json
{"Description":"DEFAULT","UUID":"","Version":"v0.57.4","ResultsDir":"/tmp/sonobuoy/results","Resources":null,"Filters":{"Namespaces":".*","LabelSelector":""},"Limits":{"PodLogs":{"Namespaces":"kube-system","SonobuoyNamespace":true,"FieldSelectors":[],"LabelSelector":"","Previous":false,"SinceSeconds":null,"SinceTime":null,"Timestamps":false,"TailLines":null,"LimitBytes":null}},"QPS":30,"Burst":50,"Server":{"bindaddress":"0.0.0.0","bindport":8080,"advertiseaddress":"","timeoutseconds":21600},"Plugins":null,"PluginSearchPath":["./plugins.d","/etc/sonobuoy/plugins.d","~/sonobuoy/plugins.d"],"Namespace":"sonobuoy","WorkerImage":"my.custom.cr/crtfbk06kv245qvg283h/sonobuoy:v0.57.1","ImagePullPolicy":"IfNotPresent","ImagePullSecrets":"","AggregatorPermissions":"clusterAdmin","ServiceAccountName":"sonobuoy-serviceaccount","NamespacePSAEnforceLevel":"privileged","ProgressUpdatesPort":"8099","SecurityContextMode":"nonroot"}
e2e-repo-config.yaml
buildImageRegistry: my.custom.cr/crtfbk06kv245qvg283h
dockerGluster: my.custom.cr/crtfbk06kv245qvg283h
dockerLibraryRegistry: my.custom.cr/crtfbk06kv245qvg283h
e2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
e2eVolumeRegistry: my.custom.cr/crtfbk06kv245qvg283h
gcEtcdRegistry: my.custom.cr/crtfbk06kv245qvg283h
gcRegistry: my.custom.cr/crtfbk06kv245qvg283h
promoterE2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
sigStorageRegistry: my.custom.cr/crtfbk06kv245qvg283h

I am using the following command to generate e2e plugin manifest (e2e.yaml):

sonobuoy gen plugin e2e \
    --e2e-skip '\[Disruptive\]|\[Serial\]|\[Flaky\]' \
    --e2e-repo-config e2e-repo-config.yaml \
    --kube-conformance-image my.custom.cr/crtfbk06kv245qvg283h/conformance:v1.28.4 \
    --plugin-env e2e.E2E_PARALLEL=true \
    --plugin-env e2e.E2E_VERBOSITY=10 \
    --plugin-env e2e.E2E_EXTRA_ARGS="--ginkgo.vv --ginkgo.show-node-events --allowed-not-ready-nodes=10 --progress-report-url=http://localhost:8099/progress" \
    --plugin-env e2e.SONOBUOY_LOG_LEVEL=trace \
    > "e2e.yaml"

This is the e2e.yaml file contents that I get:

e2e.yaml
config-map:
  e2e-repo-config.yaml: |
    buildImageRegistry: my.custom.cr/crtfbk06kv245qvg283h
    dockerGluster: my.custom.cr/crtfbk06kv245qvg283h
    dockerLibraryRegistry: my.custom.cr/crtfbk06kv245qvg283h
    e2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
    e2eVolumeRegistry: my.custom.cr/crtfbk06kv245qvg283h
    gcEtcdRegistry: my.custom.cr/crtfbk06kv245qvg283h
    gcRegistry: my.custom.cr/crtfbk06kv245qvg283h
    promoterE2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
    sigStorageRegistry: my.custom.cr/crtfbk06kv245qvg283h
extra-volumes:
- configMap:
    name: plugin-e2e-cm
  name: sonobuoy-e2e-vol
podSpec:
  containers: []
  nodeSelector:
    kubernetes.io/os: linux
  restartPolicy: Never
  serviceAccountName: sonobuoy-serviceaccount
  tolerations:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
    operator: Exists
  - key: CriticalAddonsOnly
    operator: Exists
  - key: kubernetes.io/e2e-evict-taint-key
    operator: Exists
sonobuoy-config:
  driver: Job
  plugin-name: e2e
  result-format: junit
spec:
  command:
  - /run_e2e.sh
  env:
  - name: E2E_EXTRA_ARGS
    value: --ginkgo.vv --ginkgo.show-node-events --allowed-not-ready-nodes=10 --progress-report-url=http://localhost:8099/progress
  - name: E2E_FOCUS
    value: \[Conformance\]
  - name: E2E_PARALLEL
    value: "true"
  - name: E2E_SKIP
    value: \[Disruptive\]|\[Serial\]|\[Flaky\]
  - name: E2E_USE_GO_RUNNER
    value: "true"
  - name: E2E_VERBOSITY
    value: "10"
  - name: KUBE_TEST_REPO_LIST
    value: /tmp/sonobuoy/config/e2e-repo-config.yaml
  - name: RESULTS_DIR
    value: /tmp/sonobuoy/results
  - name: SONOBUOY
    value: "true"
  - name: SONOBUOY_CONFIG_DIR
    value: /tmp/sonobuoy/config
  - name: SONOBUOY_K8S_VERSION
    value: v1.28.4
  - name: SONOBUOY_LOG_LEVEL
    value: trace
  - name: SONOBUOY_PROGRESS_PORT
    value: "8099"
  - name: SONOBUOY_RESULTS_DIR
    value: /tmp/sonobuoy/results
  image: my.custom.cr/crtfbk06kv245qvg283h/conformance:v1.28.4
  imagePullPolicy: IfNotPresent
  name: e2e
  volumeMounts:
  - mountPath: /tmp/sonobuoy/config
    name: sonobuoy-e2e-vol
  - mountPath: /tmp/sonobuoy/results
    name: results

And I am using the following command to generate sonobuoy manifest (sonobuoy.yaml):

sonobuoy gen \
    --config "sonobuoy-config.json" \
    --plugin "e2e.yaml" \
    > sonobuoy.yaml

This is the sonobuoy.yaml file contents that I get:

Note: the problem here is the duplicate extra-volume section and duplicate volumeMount with the name sonobuoy-e2e-vol

sonobuoy.yaml
apiVersion: v1
kind: Namespace
metadata:
  labels:
    pod-security.kubernetes.io/enforce: privileged
  name: sonobuoy
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    component: sonobuoy
  name: sonobuoy-serviceaccount
  namespace: sonobuoy
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    component: sonobuoy
    namespace: sonobuoy
  name: sonobuoy-serviceaccount-sonobuoy
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: sonobuoy-serviceaccount-sonobuoy
subjects:
- kind: ServiceAccount
  name: sonobuoy-serviceaccount
  namespace: sonobuoy
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    component: sonobuoy
    namespace: sonobuoy
  name: sonobuoy-serviceaccount-sonobuoy
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - /metrics
  - /logs
  - /logs/*
  verbs:
  - get
---
apiVersion: v1
data:
  config.json: '{"Description":"DEFAULT","UUID":"","Version":"v0.57.4","ResultsDir":"/tmp/sonobuoy/results","Resources":null,"Filters":{"Namespaces":".*","LabelSelector":""},"Limits":{"PodLogs":{"Namespaces":"kube-system","SonobuoyNamespace":true,"FieldSelectors":[],"LabelSelector":"","Previous":false,"SinceSeconds":null,"SinceTime":null,"Timestamps":false,"TailLines":null,"LimitBytes":null}},"QPS":30,"Burst":50,"Server":{"bindaddress":"0.0.0.0","bindport":8080,"advertiseaddress":"","timeoutseconds":21600},"Plugins":null,"PluginSearchPath":["./plugins.d","/etc/sonobuoy/plugins.d","~/sonobuoy/plugins.d"],"Namespace":"sonobuoy","WorkerImage":"my.custom.cr/crtfbk06kv245qvg283h/sonobuoy:v0.57.1","ImagePullPolicy":"IfNotPresent","ImagePullSecrets":"","AggregatorPermissions":"clusterAdmin","ServiceAccountName":"sonobuoy-serviceaccount","NamespacePSAEnforceLevel":"privileged","ProgressUpdatesPort":"8099","SecurityContextMode":"nonroot"}'
kind: ConfigMap
metadata:
  labels:
    component: sonobuoy
  name: sonobuoy-config-cm
  namespace: sonobuoy
---
apiVersion: v1
data:
  plugin-0.yaml: |-
    config-map:
      e2e-repo-config.yaml: |
        buildImageRegistry: my.custom.cr/crtfbk06kv245qvg283h
        dockerGluster: my.custom.cr/crtfbk06kv245qvg283h
        dockerLibraryRegistry: my.custom.cr/crtfbk06kv245qvg283h
        e2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
        e2eVolumeRegistry: my.custom.cr/crtfbk06kv245qvg283h
        gcEtcdRegistry: my.custom.cr/crtfbk06kv245qvg283h
        gcRegistry: my.custom.cr/crtfbk06kv245qvg283h
        promoterE2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
        sigStorageRegistry: my.custom.cr/crtfbk06kv245qvg283h
    extra-volumes:
    - configMap:
        name: plugin-e2e-cm
      name: sonobuoy-e2e-vol
    - configMap:
        name: plugin-e2e-cm
      name: sonobuoy-e2e-vol
    podSpec:
      containers: []
      nodeSelector:
        kubernetes.io/os: linux
      restartPolicy: Never
      serviceAccountName: sonobuoy-serviceaccount
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
        operator: Exists
      - key: CriticalAddonsOnly
        operator: Exists
      - key: kubernetes.io/e2e-evict-taint-key
        operator: Exists
    sonobuoy-config:
      driver: Job
      plugin-name: e2e
      result-format: junit
    spec:
      command:
      - /run_e2e.sh
      env:
      - name: E2E_EXTRA_ARGS
        value: --ginkgo.vv --ginkgo.show-node-events --allowed-not-ready-nodes=10 --progress-report-url=http://localhost:8099/progress
      - name: E2E_FOCUS
        value: \[Conformance\]
      - name: E2E_PARALLEL
        value: "false"
      - name: E2E_SKIP
        value: \[Disruptive\]|NoExecuteTaintManager
      - name: E2E_USE_GO_RUNNER
        value: "true"
      - name: E2E_VERBOSITY
        value: "10"
      - name: KUBE_TEST_REPO_LIST
        value: /tmp/sonobuoy/config/e2e-repo-config.yaml
      - name: RESULTS_DIR
        value: /tmp/sonobuoy/results
      - name: SONOBUOY
        value: "true"
      - name: SONOBUOY_CONFIG_DIR
        value: /tmp/sonobuoy/config
      - name: SONOBUOY_K8S_VERSION
        value: v1.28.4
      - name: SONOBUOY_LOG_LEVEL
        value: trace
      - name: SONOBUOY_PROGRESS_PORT
        value: "8099"
      - name: SONOBUOY_RESULTS_DIR
        value: /tmp/sonobuoy/results
      image: my.custom.cr/crtfbk06kv245qvg283h/conformance:v1.28.4
      imagePullPolicy: IfNotPresent
      name: e2e
      volumeMounts:
      - mountPath: /tmp/sonobuoy/config
        name: sonobuoy-e2e-vol
      - mountPath: /tmp/sonobuoy/results
        name: results
      - mountPath: /tmp/sonobuoy/config
        name: sonobuoy-e2e-vol
kind: ConfigMap
metadata:
  labels:
    component: sonobuoy
  name: sonobuoy-plugins-cm
  namespace: sonobuoy
---
apiVersion: v1
data:
  e2e-repo-config.yaml: |
    buildImageRegistry: my.custom.cr/crtfbk06kv245qvg283h
    dockerGluster: my.custom.cr/crtfbk06kv245qvg283h
    dockerLibraryRegistry: my.custom.cr/crtfbk06kv245qvg283h
    e2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
    e2eVolumeRegistry: my.custom.cr/crtfbk06kv245qvg283h
    gcEtcdRegistry: my.custom.cr/crtfbk06kv245qvg283h
    gcRegistry: my.custom.cr/crtfbk06kv245qvg283h
    promoterE2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
    sigStorageRegistry: my.custom.cr/crtfbk06kv245qvg283h
kind: ConfigMap
metadata:
  name: plugin-e2e-cm
  namespace: sonobuoy
---
apiVersion: v1
kind: Pod
metadata:
  labels:
    component: sonobuoy
    sonobuoy-component: aggregator
    tier: analysis
  name: sonobuoy
  namespace: sonobuoy
spec:
  containers:
  - args:
    - aggregator
    - --no-exit
    - --level=info
    - -v=4
    - --alsologtostderr
    command:
    - /sonobuoy
    env:
    - name: SONOBUOY_ADVERTISE_IP
      valueFrom:
        fieldRef:
          fieldPath: status.podIP
    image: my.custom.cr/crtfbk06kv245qvg283h/sonobuoy:v0.57.1
    imagePullPolicy: IfNotPresent
    name: kube-sonobuoy
    volumeMounts:
    - mountPath: /etc/sonobuoy
      name: sonobuoy-config-volume
    - mountPath: /plugins.d
      name: sonobuoy-plugins-volume
    - mountPath: /tmp/sonobuoy
      name: output-volume
  restartPolicy: Never
  securityContext:
    fsGroup: 2000
    runAsGroup: 3000
    runAsUser: 1000
  serviceAccountName: sonobuoy-serviceaccount
  tolerations:
  - key: kubernetes.io/e2e-evict-taint-key
    operator: Exists
  volumes:
  - configMap:
      name: sonobuoy-config-cm
    name: sonobuoy-config-volume
  - configMap:
      name: sonobuoy-plugins-cm
    name: sonobuoy-plugins-volume
  - emptyDir: {}
    name: output-volume
---
apiVersion: v1
kind: Service
metadata:
  labels:
    component: sonobuoy
    sonobuoy-component: aggregator
  name: sonobuoy-aggregator
  namespace: sonobuoy
spec:
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    sonobuoy-component: aggregator
  type: ClusterIP
---

However, if I move flag --e2e-repo-config from the command sonobuoy gen plugin e2e to the command sonobuoy gen, OK manifest is rendered:

I am using the following command to generate e2e plugin manifest (e2e.yaml):

sonobuoy gen plugin e2e \
    --e2e-skip '\[Disruptive\]|\[Serial\]|\[Flaky\]' \
    --kube-conformance-image my.custom.cr/crtfbk06kv245qvg283h/conformance:v1.28.4 \
    --plugin-env e2e.E2E_PARALLEL=true \
    --plugin-env e2e.E2E_VERBOSITY=10 \
    --plugin-env e2e.E2E_EXTRA_ARGS="--ginkgo.vv --ginkgo.show-node-events --allowed-not-ready-nodes=10 --progress-report-url=http://localhost:8099/progress" \
    --plugin-env e2e.SONOBUOY_LOG_LEVEL=trace \
    > "e2e.yaml"
e2e.yaml
podSpec:
  containers: []
  nodeSelector:
    kubernetes.io/os: linux
  restartPolicy: Never
  serviceAccountName: sonobuoy-serviceaccount
  tolerations:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
    operator: Exists
  - key: CriticalAddonsOnly
    operator: Exists
  - key: kubernetes.io/e2e-evict-taint-key
    operator: Exists
sonobuoy-config:
  driver: Job
  plugin-name: e2e
  result-format: junit
spec:
  command:
  - /run_e2e.sh
  env:
  - name: E2E_EXTRA_ARGS
    value: --ginkgo.vv --ginkgo.show-node-events --allowed-not-ready-nodes=10 --progress-report-url=http://localhost:8099/progress
  - name: E2E_FOCUS
    value: \[Conformance\]
  - name: E2E_PARALLEL
    value: "true"
  - name: E2E_SKIP
    value: \[Disruptive\]|\[Serial\]|\[Flaky\]
  - name: E2E_USE_GO_RUNNER
    value: "true"
  - name: E2E_VERBOSITY
    value: "10"
  - name: RESULTS_DIR
    value: /tmp/sonobuoy/results
  - name: SONOBUOY
    value: "true"
  - name: SONOBUOY_CONFIG_DIR
    value: /tmp/sonobuoy/config
  - name: SONOBUOY_K8S_VERSION
    value: v1.28.4
  - name: SONOBUOY_LOG_LEVEL
    value: trace
  - name: SONOBUOY_PROGRESS_PORT
    value: "8099"
  - name: SONOBUOY_RESULTS_DIR
    value: /tmp/sonobuoy/results
  image: my.custom.cr/crtfbk06kv245qvg283h/conformance:v1.28.4
  imagePullPolicy: IfNotPresent
  name: e2e
  volumeMounts:
  - mountPath: /tmp/sonobuoy/results
    name: results

And I am using this command to generate sonobuoy.yaml:

sonobuoy gen \
    --config "sonobuoy-config.json" \
    --e2e-repo-config e2e-repo-config.yaml \
    --plugin "e2e.yaml" \
    > sonobuoy.yaml

Note: everything is normal here, no duplicate extra-volumes, no duplicate volume-mounts in the resultant manifest:

sonobuoy.yaml
apiVersion: v1
kind: Namespace
metadata:
  labels:
    pod-security.kubernetes.io/enforce: privileged
  name: sonobuoy
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    component: sonobuoy
  name: sonobuoy-serviceaccount
  namespace: sonobuoy
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    component: sonobuoy
    namespace: sonobuoy
  name: sonobuoy-serviceaccount-sonobuoy
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: sonobuoy-serviceaccount-sonobuoy
subjects:
- kind: ServiceAccount
  name: sonobuoy-serviceaccount
  namespace: sonobuoy
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    component: sonobuoy
    namespace: sonobuoy
  name: sonobuoy-serviceaccount-sonobuoy
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - /metrics
  - /logs
  - /logs/*
  verbs:
  - get
---
apiVersion: v1
data:
  config.json: '{"Description":"DEFAULT","UUID":"","Version":"v0.57.4","ResultsDir":"/tmp/sonobuoy/results","Resources":null,"Filters":{"Namespaces":".*","LabelSelector":""},"Limits":{"PodLogs":{"Namespaces":"kube-system","SonobuoyNamespace":true,"FieldSelectors":[],"LabelSelector":"","Previous":false,"SinceSeconds":null,"SinceTime":null,"Timestamps":false,"TailLines":null,"LimitBytes":null}},"QPS":30,"Burst":50,"Server":{"bindaddress":"0.0.0.0","bindport":8080,"advertiseaddress":"","timeoutseconds":21600},"Plugins":null,"PluginSearchPath":["./plugins.d","/etc/sonobuoy/plugins.d","~/sonobuoy/plugins.d"],"Namespace":"sonobuoy","WorkerImage":"my.custom.cr/crtfbk06kv245qvg283h/sonobuoy:v0.57.1","ImagePullPolicy":"IfNotPresent","ImagePullSecrets":"","AggregatorPermissions":"clusterAdmin","ServiceAccountName":"sonobuoy-serviceaccount","NamespacePSAEnforceLevel":"privileged","ProgressUpdatesPort":"8099","SecurityContextMode":"nonroot"}'
kind: ConfigMap
metadata:
  labels:
    component: sonobuoy
  name: sonobuoy-config-cm
  namespace: sonobuoy
---
apiVersion: v1
data:
  plugin-0.yaml: |-
    config-map:
      e2e-repo-config.yaml: |
        buildImageRegistry: my.custom.cr/crtfbk06kv245qvg283h
        dockerGluster: my.custom.cr/crtfbk06kv245qvg283h
        dockerLibraryRegistry: my.custom.cr/crtfbk06kv245qvg283h
        e2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
        e2eVolumeRegistry: my.custom.cr/crtfbk06kv245qvg283h
        gcEtcdRegistry: my.custom.cr/crtfbk06kv245qvg283h
        gcRegistry: my.custom.cr/crtfbk06kv245qvg283h
        promoterE2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
        sigStorageRegistry: my.custom.cr/crtfbk06kv245qvg283h
    extra-volumes:
    - configMap:
        name: plugin-e2e-cm
      name: sonobuoy-e2e-vol
    podSpec:
      containers: []
      nodeSelector:
        kubernetes.io/os: linux
      restartPolicy: Never
      serviceAccountName: sonobuoy-serviceaccount
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
        operator: Exists
      - key: CriticalAddonsOnly
        operator: Exists
      - key: kubernetes.io/e2e-evict-taint-key
        operator: Exists
    sonobuoy-config:
      driver: Job
      plugin-name: e2e
      result-format: junit
    spec:
      command:
      - /run_e2e.sh
      env:
      - name: E2E_EXTRA_ARGS
        value: --ginkgo.vv --ginkgo.show-node-events --allowed-not-ready-nodes=10 --progress-report-url=http://localhost:8099/progress
      - name: E2E_FOCUS
        value: \[Conformance\]
      - name: E2E_PARALLEL
        value: "false"
      - name: E2E_SKIP
        value: \[Disruptive\]|NoExecuteTaintManager
      - name: E2E_USE_GO_RUNNER
        value: "true"
      - name: E2E_VERBOSITY
        value: "10"
      - name: KUBE_TEST_REPO_LIST
        value: /tmp/sonobuoy/config/e2e-repo-config.yaml
      - name: RESULTS_DIR
        value: /tmp/sonobuoy/results
      - name: SONOBUOY
        value: "true"
      - name: SONOBUOY_CONFIG_DIR
        value: /tmp/sonobuoy/config
      - name: SONOBUOY_K8S_VERSION
        value: v1.28.4
      - name: SONOBUOY_LOG_LEVEL
        value: trace
      - name: SONOBUOY_PROGRESS_PORT
        value: "8099"
      - name: SONOBUOY_RESULTS_DIR
        value: /tmp/sonobuoy/results
      image: my.custom.cr/crtfbk06kv245qvg283h/conformance:v1.28.4
      imagePullPolicy: IfNotPresent
      name: e2e
      volumeMounts:
      - mountPath: /tmp/sonobuoy/results
        name: results
      - mountPath: /tmp/sonobuoy/config
        name: sonobuoy-e2e-vol
kind: ConfigMap
metadata:
  labels:
    component: sonobuoy
  name: sonobuoy-plugins-cm
  namespace: sonobuoy
---
apiVersion: v1
data:
  e2e-repo-config.yaml: |
    buildImageRegistry: my.custom.cr/crtfbk06kv245qvg283h
    dockerGluster: my.custom.cr/crtfbk06kv245qvg283h
    dockerLibraryRegistry: my.custom.cr/crtfbk06kv245qvg283h
    e2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
    e2eVolumeRegistry: my.custom.cr/crtfbk06kv245qvg283h
    gcEtcdRegistry: my.custom.cr/crtfbk06kv245qvg283h
    gcRegistry: my.custom.cr/crtfbk06kv245qvg283h
    promoterE2eRegistry: my.custom.cr/crtfbk06kv245qvg283h
    sigStorageRegistry: my.custom.cr/crtfbk06kv245qvg283h
kind: ConfigMap
metadata:
  name: plugin-e2e-cm
  namespace: sonobuoy
---
apiVersion: v1
kind: Pod
metadata:
  labels:
    component: sonobuoy
    sonobuoy-component: aggregator
    tier: analysis
  name: sonobuoy
  namespace: sonobuoy
spec:
  containers:
  - args:
    - aggregator
    - --no-exit
    - --level=info
    - -v=4
    - --alsologtostderr
    command:
    - /sonobuoy
    env:
    - name: SONOBUOY_ADVERTISE_IP
      valueFrom:
        fieldRef:
          fieldPath: status.podIP
    image: my.custom.cr/crtfbk06kv245qvg283h/sonobuoy:v0.57.1
    imagePullPolicy: IfNotPresent
    name: kube-sonobuoy
    volumeMounts:
    - mountPath: /etc/sonobuoy
      name: sonobuoy-config-volume
    - mountPath: /plugins.d
      name: sonobuoy-plugins-volume
    - mountPath: /tmp/sonobuoy
      name: output-volume
  restartPolicy: Never
  securityContext:
    fsGroup: 2000
    runAsGroup: 3000
    runAsUser: 1000
  serviceAccountName: sonobuoy-serviceaccount
  tolerations:
  - key: kubernetes.io/e2e-evict-taint-key
    operator: Exists
  volumes:
  - configMap:
      name: sonobuoy-config-cm
    name: sonobuoy-config-volume
  - configMap:
      name: sonobuoy-plugins-cm
    name: sonobuoy-plugins-volume
  - emptyDir: {}
    name: output-volume
---
apiVersion: v1
kind: Service
metadata:
  labels:
    component: sonobuoy
    sonobuoy-component: aggregator
  name: sonobuoy-aggregator
  namespace: sonobuoy
spec:
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    sonobuoy-component: aggregator
  type: ClusterIP
---

My suggestion is to either remove the --e2e-repo-config flag from the sonobuoy gen plugin e2e command altogether, or document this (definitely buggy) behaviour.

Environment:

  • Sonobuoy version: v0.57.4 (brew installation)
  • Kubernetes version: (use kubectl version): N/A
  • Kubernetes installer & version: N/A
  • Cloud provider or hardware configuration: N/A
  • OS (e.g. from /etc/os-release): Darwin bratushkadan-x 23.4.0 Darwin Kernel Version 23.4.0: Wed Feb 21 21:44:54 PST 2024; root:xnu-10063.101.15~2/RELEASE_ARM64_T6030 arm64
  • Sonobuoy tarball (which contains * below): N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions