acryldata/datahub-helm

datahub-prerequisites helm chart can't be installed as volume 'data' is required

deebify opened this issue · 3 comments

I tried to install the datahub-prerequisites helm chart:

helm install prerequisites datahub/datahub-prerequisites

Error: INSTALLATION FAILED: execution error at (datahub-prerequisites/charts/neo4j/templates/_volumeTemplate.tpl:207:23): 

A volume mode for the Neo4j 'data' volume is required.

Set volumes.data.mode to one of: "share", "selector", "defaultStorageClass", "volume", "volumeClaimTemplate" or "dynamic".

For details of how to configure volume modes see the Neo4j Helm chart documentation at https://neo4j.com/docs/operations-manual/current/kubernetes

To get up-and-running quickly, for development or testing, use "defaultStorageClass" for a dynamically provisioned volume of the default storage class.

E.g. by adding `--set volumes.data.mode=defaultStorageClass`

Tried to add the value to the command line:

╰─$ helm install prerequisites datahub/datahub-prerequisites --set volumes.data.mode=defaultStorageClass                                                                         1 ↵


Error: INSTALLATION FAILED: execution error at (datahub-prerequisites/charts/neo4j/templates/_volumeTemplate.tpl:207:23): 

A volume mode for the Neo4j 'data' volume is required.

Set volumes.data.mode to one of: "share", "selector", "defaultStorageClass", "volume", "volumeClaimTemplate" or "dynamic".

For details of how to configure volume modes see the Neo4j Helm chart documentation at https://neo4j.com/docs/operations-manual/current/kubernetes

To get up-and-running quickly, for development or testing, use "defaultStorageClass" for a dynamically provisioned volume of the default storage class.

E.g. by adding `--set volumes.data.mode=defaultStorageClass`

Tried to change the default values by adding volumes.data.mode=defaultStorageClass and dynamic did not work out as well.

neo4j:
  enabled: true
  nameOverride: neo4j
  neo4j:
    name: neo4j
    edition: "community"
    acceptLicenseAgreement: "yes"
    defaultDatabase: "graph.db"
    password: "datahub"
  volumes:
    data:
      mode: "defaultStorageClass"

I get the same issue - my workaround is to add this to datahub-prerequisites values.yaml file

  # Create a volume for neo4j, SSD storage is recommended
  # volumes: {}
    # data:
    #   mode: "dynamic"
    #   dynamic:
    #     storageClassName: managed-csi-premium
  volumes:
    data:
      mode: dynamic
      dynamic:
        storageClassName: "neo4j-data"
        accessModes:
        - ReadWriteOnce
        requests:
        storage: 10Gi

This is also happening to us
`[gopikab@adkube06 prerequisites]$ https_proxy='socks5://localhost:1080' helm template prerequisites datahub/datahub-prerequisites | grep -i image:
Error: execution error at (datahub-prerequisites/charts/neo4j/templates/_volumeTemplate.tpl:207:23):

A volume mode for the Neo4j 'data' volume is required.

Set volumes.data.mode to one of: "share", "selector", "defaultStorageClass", "volume", "volumeClaimTemplate" or "dynamic".

For details of how to configure volume modes see the Neo4j Helm chart documentation at https://neo4j.com/docs/operations-manual/current/kubernetes

To get up-and-running quickly, for development or testing, use "defaultStorageClass" for a dynamically provisioned volume of the default storage class.

E.g. by adding --set volumes.data.mode=defaultStorageClass

Use --debug flag to render out invalid YAML`

I found out how to solve this issue:

I cloned the repo and uncommented the storage section of neo4j:

  # Create a volume for neo4j, SSD storage is recommended
  volumes: {}
    # data:
    #   mode: "dynamic"
    #   dynamic:
    #     storageClassName: managed-csi-premium

To reflect the name of my storage class:

  volumes:
    data:
      mode: "dynamic"
      dynamic:
        storageClassName: standard

Then installed the chart:

helm dependency build
helm install datahub-prerequisites . -n datahub

In yaml