Couchbase commandline administration. Changing a cluster node active services

It seems there is no way to change an Active Node’s services, in CB 4 DP4 from the web. Or if there is, I overlooked it,

So I tried to do it from the command line, like this:

couchbase-cli cluster-edit --services="data;index;query" --cluster=localhost:8091 -u Administrator -p password

I get this error:

ERROR: unable to set memory quota (400) Bad Request
{"errors":{"_":"Request should have form parameters"}}

Wow. So not friendly. What does it mean? Can you change a 4.0 DP4 server’s list of current active services, from the CLI? How?

Warren Postma

Sounds like a problem with the REST interface. @anil and @davef should @Warren_Postma file an issue?

Hi @Warren_Postma

It’s actually not supported to change an active node’s services. You have to remove the node, rebalance and then add the node back in selecting the services you want at that time. The CLI should make that clear to the user - the reason it shows up as such is that the cluster-init and cluster-edit logic share a lot of code. @Warren_Postma if you could file an issue on that, that would be great.

-dave

So for example, in a case where there is only two nodes in a cluster, there’s really no nice way to modify a node’s services?

I will file an issue requesting tha the CLI makes it clear that you can not edit the services of a live node.

But this is also a bit of an operational nightmare. Why can’t we have something take care of this for us in a single command?

Imagine I have a degraded cluster in production, and I’ve lost my index or N1QL node? Why can’t I get N1QL or Index going on an existing node? I must spin up a new instance or find a new physical box every time I need to replace a service on a cluster?

Had you filed an issue @Warren_Postma? I have just file MB-15320 based on some recent experience and you may want to track that as well.