Skip to content

Commit 17356c0

Browse files
authored
Merge pull request #297 from drallgood/worker-init
adding cloud-init script to add-worker cmd
2 parents bb96f50 + fd58c4e commit 17356c0

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

cmd/cluster_add_worker.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"errors"
55
"fmt"
66
"log"
7+
"os"
78
"strconv"
89
"strings"
910
"time"
@@ -41,6 +42,13 @@ You can specify the worker server type as in cluster create.`,
4142
return errors.New("flag --worker-server-type is required")
4243
}
4344

45+
var cloudInit string
46+
if cloudInit, _ = cmd.Flags().GetString("cloud-init"); cloudInit != "" {
47+
if _, err := os.Stat(cloudInit); os.IsNotExist(err) {
48+
return errors.New("cloud-init file not found")
49+
}
50+
}
51+
4452
if err != nil {
4553
return err
4654
}
@@ -53,6 +61,7 @@ You can specify the worker server type as in cluster create.`,
5361
_, cluster := AppConf.Config.FindClusterByName(name)
5462
workerServerType, _ := cmd.Flags().GetString("worker-server-type")
5563
datacenters, _ := cmd.Flags().GetStringSlice("datacenters")
64+
cloudInit, _ := cmd.Flags().GetString("cloud-init")
5665
var sshKeyName string
5766

5867
for _, node := range cluster.Nodes {
@@ -66,6 +75,10 @@ You can specify the worker server type as in cluster create.`,
6675
log.Fatal("master not found")
6776
}
6877

78+
if cloudInit != "" {
79+
cluster.CloudInitFile = cloudInit
80+
}
81+
6982
maxNo := 0
7083
for _, node := range cluster.Nodes {
7184
if !node.IsMaster {
@@ -133,4 +146,5 @@ func init() {
133146
clusterAddWorkerCmd.Flags().String("worker-server-type", "cx11", "Server type used of workers")
134147
clusterAddWorkerCmd.Flags().IntP("nodes", "n", 2, "Number of nodes for the cluster")
135148
clusterAddWorkerCmd.Flags().StringSlice("datacenters", []string{"fsn1-dc8", "nbg1-dc3", "hel1-dc2", "fsn1-dc14"}, "Can be used to filter datacenters by their name")
149+
clusterAddWorkerCmd.Flags().StringP("cloud-init", "", "", "Cloud-init file for node preconfiguration")
136150
}

0 commit comments

Comments
 (0)