@@ -129,6 +129,12 @@ func addJoinFlags(cmd *cobra.Command, flags *JoinCmdFlags) error {
129
129
}
130
130
131
131
func runJoin (ctx context.Context , name string , flags JoinCmdFlags , jcmd * kotsadm.JoinCommandResponse , metricsReporter preflights.MetricsReporter ) error {
132
+ // both controller and worker nodes will have 'worker' in the join command
133
+ isWorker := ! strings .Contains (jcmd .K0sJoinCommand , "controller" )
134
+ if ! isWorker {
135
+ logrus .Warnf ("Do not join another node until this join is complete." )
136
+ }
137
+
132
138
if err := runJoinVerifyAndPrompt (name , flags , jcmd ); err != nil {
133
139
return err
134
140
}
@@ -172,11 +178,11 @@ func runJoin(ctx context.Context, name string, flags JoinCmdFlags, jcmd *kotsadm
172
178
}
173
179
174
180
logrus .Debugf ("installing and joining cluster" )
175
- if err := installAndJoinCluster (ctx , jcmd , name , flags ); err != nil {
181
+ if err := installAndJoinCluster (ctx , jcmd , name , flags , isWorker ); err != nil {
176
182
return err
177
183
}
178
184
179
- if ! strings . Contains ( jcmd . K0sJoinCommand , "controller" ) {
185
+ if isWorker {
180
186
logrus .Debugf ("worker node join finished" )
181
187
return nil
182
188
}
@@ -296,7 +302,7 @@ func getJoinCIDRConfig(jcmd *kotsadm.JoinCommandResponse) (*CIDRConfig, error) {
296
302
}, nil
297
303
}
298
304
299
- func installAndJoinCluster (ctx context.Context , jcmd * kotsadm.JoinCommandResponse , name string , flags JoinCmdFlags ) error {
305
+ func installAndJoinCluster (ctx context.Context , jcmd * kotsadm.JoinCommandResponse , name string , flags JoinCmdFlags , isWorker bool ) error {
300
306
logrus .Debugf ("saving token to disk" )
301
307
if err := saveTokenToDisk (jcmd .K0sToken ); err != nil {
302
308
return fmt .Errorf ("unable to save token to disk: %w" , err )
@@ -314,8 +320,6 @@ func installAndJoinCluster(ctx context.Context, jcmd *kotsadm.JoinCommandRespons
314
320
}
315
321
316
322
logrus .Debugf ("creating systemd unit files" )
317
- // both controller and worker nodes will have 'worker' in the join command
318
- isWorker := ! strings .Contains (jcmd .K0sJoinCommand , "controller" )
319
323
if err := createSystemdUnitFiles (ctx , isWorker , jcmd .InstallationSpec .Proxy ); err != nil {
320
324
return fmt .Errorf ("unable to create systemd unit files: %w" , err )
321
325
}
0 commit comments