Storage-engine config cannot be changed (kubernetes)

Hello, I am super new to aerospike. We have it running on EKS and I am tasked with updating filesize. My CR consists on this block.

namespaces:
  - name: test
    memory-size: 7000000000
    replication-factor: 2
    nsup-period: 60
    storage-engine:
      type: device
      files:
        - /opt/aerospike/data/event_collection.dat
      filesize: 10000000000
      data-in-memory: true

When I change filesize to anything besides what it currently is (like down to 9000000000 or up 11000000000), I get this error why doing kubectl apply

“Resource: “asdb.aerospike.com/v1beta1, Resource=aerospikeclusters”, GroupVersionKind: “asdb.aerospike.com/v1beta1, Kind=AerospikeCluster” Name: “aerocluster”, Namespace: “aerospike” for: “aerospike-cluster4.yaml”: admission webhook “vaerospikecluster.kb.io” denied the request: storage-engine config cannot be changed.”

Do you know what I am doing wrong?

We were able to resolve by implementing rackconfig: Scaling Namespace Storage | Aerospike Documentation

The trick is to add a racks.aerospikeConfig.namespaces block as their own config. The default namespaces block must be left alone and unchanged. My mistake by changing the original spec.aerospikeConfig.namespaces block instead of creating an entirely new entry inside rackconfig.racks.aerospikeConfig.namespaces.

After kubectl apply, the data will begin to migrate to the new volumes and logs can be viewed in aerospike operator logs and also by ssh into individual containers and looking at the .dat directory/file.

1 Like