Skip to content

Unsupported and "Ignored" Value Not Ignored #533

@DHI-TommyC

Description

@DHI-TommyC

The setting persistence.accessModes is marked as "only to be used by Octopus Developers", and is supposed to be "ignored" but it is not, and its default value does not match the default value in persistence.backingVolume.accessModes. In fact, the persistence.backingVolume.accessModes is not used in the template at all.

from the templates/tentacle-deployment.yml template:

persistence:
<...>
  nfs:
<...>
    backingVolume:
      # -- The storage class name to use for the NFS Server's backing storage - if left as an empty string, an emptyDir will be used
      # @section -- Persistence
      storageClassName: ""

      # -- The access modes to use for the NFS Server's backing storage
      # @section -- Persistence
      accessModes: ["ReadWriteOnce"]
<...>
  # DO NOT USE THIS, it is not a supported configuration for customers and is only to be used by Octopus Developers
  # @ignored
  accessModes: ["ReadWriteMany"]

and templates/nfs-pvc.yml

{{- if not (include "kubernetes-agent.useCustomPvc" .) }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: {{ include "nfs.pvcName" . }} 
spec:
  accessModes:
    {{- .Values.persistence.accessModes | toYaml | nindent 4 }}
  resources:
    requests:
      storage: {{ .Values.persistence.size}}
  volumeName: {{ include "nfs.pvName" . }}
  storageClassName: {{ include "nfs.storageClassName" . }} 
{{- end }}

As seen here, with a default install of the agent using the wizard in the Octopus WebUI, the volume shows as RWX. The only way to use a volume in RWO mode is by overriding persistence.accessModes despite its labels.

In my case, my team and I are using an on-prem kubernetes cluster that does not support RWX mode, so the helm install times out and eventually gets a mounting error for the octopus-agent-nfs-<name>-pvc volume because the volume itself cannot be bound to the pod.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions