Skip to content

Commit d71f2cd

Browse files
committed
Fixed bug with Columnar modifications recreating nodes.
1 parent 08576dc commit d71f2cd

1 file changed

Lines changed: 24 additions & 11 deletions

File tree

deployment/dockerdeploy/deployer.go

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

941941
func (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

Comments
 (0)