@@ -27,6 +27,7 @@ import (
27
27
"github.com/spf13/cobra"
28
28
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
29
29
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
30
+ "k8s.io/apimachinery/pkg/util/yaml"
30
31
cliflag "k8s.io/component-base/cli/flag"
31
32
32
33
"github.com/kubesphere/kubekey/v4/cmd/kk/app/options"
@@ -39,10 +40,21 @@ import (
39
40
// NewDeleteClusterOptions creates a new DeleteClusterOptions with default values
40
41
func NewDeleteClusterOptions () * DeleteClusterOptions {
41
42
// set default value
42
- return & DeleteClusterOptions {
43
+ o := & DeleteClusterOptions {
43
44
CommonOptions : options .NewCommonOptions (),
44
45
Kubernetes : defaultKubeVersion ,
45
46
}
47
+ o .CommonOptions .GetConfigFunc = func () (* kkcorev1.Config , error ) {
48
+ data , err := getConfig (o .Kubernetes )
49
+ if err != nil {
50
+ return nil , err
51
+ }
52
+ config := & kkcorev1.Config {}
53
+ return config , errors .Wrapf (yaml .Unmarshal (data , config ), "failed to unmarshal local configFile for kube_version: %q." , o .Kubernetes )
54
+ }
55
+ o .CommonOptions .GetInventoryFunc = getInventory
56
+
57
+ return o
46
58
}
47
59
48
60
// DeleteClusterOptions contains options for deleting a Kubernetes cluster
@@ -86,14 +98,6 @@ func (o *DeleteClusterOptions) Complete(cmd *cobra.Command, args []string) (*kkc
86
98
Debug : o .Debug ,
87
99
}
88
100
89
- // Complete configuration with kubernetes version and inventory
90
- if err := completeConfig (o .Kubernetes , o .CommonOptions .ConfigFile , o .CommonOptions .Config ); err != nil {
91
- return nil , err
92
- }
93
- if err := completeInventory (o .CommonOptions .InventoryFile , o .CommonOptions .Inventory ); err != nil {
94
- return nil , err
95
- }
96
-
97
101
// Complete common options
98
102
if err := o .CommonOptions .Complete (playbook ); err != nil {
99
103
return nil , err
@@ -120,10 +124,21 @@ func (o *DeleteClusterOptions) completeConfig() error {
120
124
// NewDeleteNodesOptions creates a new DeleteNodesOptions with default values
121
125
func NewDeleteNodesOptions () * DeleteNodesOptions {
122
126
// set default value
123
- return & DeleteNodesOptions {
127
+ o := & DeleteNodesOptions {
124
128
CommonOptions : options .NewCommonOptions (),
125
129
Kubernetes : defaultKubeVersion ,
126
130
}
131
+ o .CommonOptions .GetConfigFunc = func () (* kkcorev1.Config , error ) {
132
+ data , err := getConfig (o .Kubernetes )
133
+ if err != nil {
134
+ return nil , err
135
+ }
136
+ config := & kkcorev1.Config {}
137
+ return config , errors .Wrapf (yaml .Unmarshal (data , config ), "failed to unmarshal local configFile for kube_version: %q." , o .Kubernetes )
138
+ }
139
+ o .CommonOptions .GetInventoryFunc = getInventory
140
+
141
+ return o
127
142
}
128
143
129
144
// DeleteNodesOptions contains options for deleting a Kubernetes cluster nodes
@@ -168,14 +183,6 @@ func (o *DeleteNodesOptions) Complete(cmd *cobra.Command, args []string) (*kkcor
168
183
Debug : o .Debug ,
169
184
}
170
185
171
- // Complete configuration with kubernetes version and inventory
172
- if err := completeConfig (o .Kubernetes , o .CommonOptions .ConfigFile , o .CommonOptions .Config ); err != nil {
173
- return nil , err
174
- }
175
- if err := completeInventory (o .CommonOptions .InventoryFile , o .CommonOptions .Inventory ); err != nil {
176
- return nil , err
177
- }
178
-
179
186
// Complete common options
180
187
if err := o .CommonOptions .Complete (playbook ); err != nil {
181
188
return nil , err
0 commit comments