@@ -574,7 +574,7 @@ func (d *Deployer) updateDnsRecords(
574574
575575 var records []DnsRecord
576576 for _ , node := range nodes {
577- if node .Type == "server-node" || node .Type = = "columnar-node" {
577+ if node .Type != "server-node" && node .Type ! = "columnar-node" {
578578 continue
579579 }
580580
@@ -939,6 +939,19 @@ func (d *Deployer) addRemoveNodes(
939939}
940940
941941func (d * Deployer ) ModifyCluster (ctx context.Context , clusterID string , def * clusterdef.Cluster ) error {
942+ if def .Columnar {
943+ for _ , nodeGrp := range def .NodeGroups {
944+ if len (nodeGrp .Services ) != 0 {
945+ return errors .New ("columnar clusters cannot specify services" )
946+ }
947+
948+ nodeGrp .Services = []clusterdef.Service {
949+ clusterdef .KvService ,
950+ clusterdef .AnalyticsService ,
951+ }
952+ }
953+ }
954+
942955 clusterInfo , err := d .getClusterInfo (ctx , clusterID )
943956 if err != nil {
944957 return errors .Wrap (err , "failed to get cluster info" )
@@ -964,6 +977,16 @@ func (d *Deployer) ModifyCluster(ctx context.Context, clusterID string, def *clu
964977 }
965978 }
966979
980+ // remove all utility nodes from auto-deletion
981+ nodesToRemove = slices .DeleteFunc (nodesToRemove , func (node * deployedNodeInfo ) bool {
982+ isClusterNode := false
983+ if node .nodeInfo .Type == "server-node" ||
984+ node .nodeInfo .Type == "columnar-node" {
985+ isClusterNode = true
986+ }
987+ return ! isClusterNode
988+ })
989+
967990 // first iterate and find any exact matches and use those
968991 nodesToAdd = slices .DeleteFunc (nodesToAdd , func (nodeGrp * clusterdef.NodeGroup ) bool {
969992 if nodeGrp .ForceNew {
@@ -992,16 +1015,6 @@ func (d *Deployer) ModifyCluster(ctx context.Context, clusterID string, def *clu
9921015 return false
9931016 })
9941017
995- // remove all utility nodes from auto-deletion
996- nodesToRemove = slices .DeleteFunc (nodesToRemove , func (node * deployedNodeInfo ) bool {
997- isClusterNode := false
998- if node .nodeInfo .Type == "server-node" ||
999- node .nodeInfo .Type == "columnar-node" {
1000- isClusterNode = true
1001- }
1002- return ! isClusterNode
1003- })
1004-
10051018 d .logger .Debug ("identified nodes to add" ,
10061019 zap .Any ("nodes" , nodesToAdd ))
10071020 d .logger .Debug ("identified nodes to remove" ,
0 commit comments