@@ -73,21 +73,26 @@ func shouldUpgradeAddons(client clientset.Interface, cfg *kubeadmapi.InitConfigu
73
73
return true , nil
74
74
}
75
75
76
- func getInitData (c workflow.RunData ) (* kubeadmapi.InitConfiguration , clientset.Interface , string , io.Writer , bool , error ) {
76
+ func getInitData (c workflow.RunData ) (* kubeadmapi.InitConfiguration , clientset.Interface , string , io.Writer , bool , bool , error ) {
77
77
data , ok := c .(Data )
78
78
if ! ok {
79
- return nil , nil , "" , nil , false , errors .New ("addon phase invoked with an invalid data struct" )
79
+ return nil , nil , "" , nil , false , false , errors .New ("addon phase invoked with an invalid data struct" )
80
80
}
81
- return data .InitCfg (), data .Client (), data .PatchesDir (), data .OutputWriter (), data .DryRun (), nil
81
+ return data .InitCfg (), data .Client (), data .PatchesDir (), data .OutputWriter (), data .DryRun (), data . IsControlPlaneNode (), nil
82
82
}
83
83
84
84
// runCoreDNSAddon upgrades the CoreDNS addon.
85
85
func runCoreDNSAddon (c workflow.RunData ) error {
86
- cfg , client , patchesDir , out , dryRun , err := getInitData (c )
86
+ cfg , client , patchesDir , out , dryRun , isControlPlaneNode , err := getInitData (c )
87
87
if err != nil {
88
88
return err
89
89
}
90
90
91
+ if ! isControlPlaneNode {
92
+ fmt .Println ("[upgrade/addon] Skipping addon/coredns phase. Not a control plane node." )
93
+ return nil
94
+ }
95
+
91
96
shouldUpgradeAddons , err := shouldUpgradeAddons (client , cfg , out )
92
97
if err != nil {
93
98
return err
@@ -105,11 +110,16 @@ func runCoreDNSAddon(c workflow.RunData) error {
105
110
106
111
// runKubeProxyAddon upgrades the kube-proxy addon.
107
112
func runKubeProxyAddon (c workflow.RunData ) error {
108
- cfg , client , _ , out , dryRun , err := getInitData (c )
113
+ cfg , client , _ , out , dryRun , isControlPlaneNode , err := getInitData (c )
109
114
if err != nil {
110
115
return err
111
116
}
112
117
118
+ if ! isControlPlaneNode {
119
+ fmt .Println ("[upgrade/addon] Skipping addon/kube-proxy phase. Not a control plane node." )
120
+ return nil
121
+ }
122
+
113
123
shouldUpgradeAddons , err := shouldUpgradeAddons (client , cfg , out )
114
124
if err != nil {
115
125
return err
0 commit comments