Reassign role (Index/Query/Data) of running node?

We have a cluster of couchbase servers running, but I would like to reassign their roles to create a couple dedicated query service nodes, index nodes, and the remaining as data nodes. Is there a way to change the role of running nodes without failing it over, removing it, and re-adding it after resetting the couchbase server on that node to “factory condition”?

I would also like to know this. But if this is not possible, how do you “factory reset” a node so I can set it up again?

Apologies for the delayed response.
We are looking to improve this in future, however in 4.0 and 4.1 we don’t have a way to change service settings while the node is part of the cluster. You need to remove-node > rebalance > add-node. With add-node you get the option to check which services you’d like the node to enable.