I am currently experimenting with different cluster architectures, when I first set up a production cluster I had 3 combined nodes that had data + query + index + eventing services in place for all of them. The original operator configuration is like this:
servers:
default:
size: 3
services:
- data
- index
- query
- eventing
volumeMounts:
default: couchbase-volume
When this configuration hit performance problems I added in separate data, query and index nodes to follow best practices. This seems to have helped with the performance issues, but now I canât remove the original default node. The new configuration:
I want to remove the original default node, which should be possible according to this documentation. Syntaxes that Iâve tried:
Remove the âdefaultâ section completely
Scale the âdefaultâ section to 0 nodes
Alter the âdefaultâ section to have the name âeventingnodesâ and change this section to only have the eventing service
None of these syntaxes have worked for me, when I try to apply the chart changes I see the error:
cannot patch âoaf-couchbaseâ with kind CouchbaseCluster: admission webhook âoaf-couchbase-couchbase-admission-controller.couchbase.svcâ denied the request: validation failure list:
spec.servers[1].services in body cannot be updated
This is with couchbase version 6.6.0 and the helm chart operator version 2.1.0. Any suggestions for how to remove this node without destroying/recreating the cluster?
The server class name is a key used to keep track of modifications to groups of servers. For some things, like the services, these cannot be modified by Couchbase server at runtime, so thatâs what that error is trying to tell you.
The correct way to pull this off is, add the new server classes with different names to default, and remove the old default class, all at the same time. If you do so what error does it give you? If it does, that is.
@tommie can you have a look at this? Problem is the âdefaultâ is apparently being updated when itâs removed from the helm configuration. Iâve checked the DAC code, this should only fire when a new name aliases with an existing one.
If default is being removed, how can it possibly match against the existing one! Dunno if helm is doing something weird here and not deleting it properly. Do you know of any magical Helm runes to debug this further?