Skip to content

Commit c35b71d

Browse files
loft-botjjafersonJosé Silva
authored
fix: vcluster upgrade of k3s distro (#2857) (#2870)
(cherry picked from commit 194b36a) Co-authored-by: Jose Silva <jaferson123@gmail.com> Co-authored-by: José Silva <josesilva@Joses-MacBook-Pro.local>
1 parent 9cee457 commit c35b71d

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

pkg/cli/create_helm.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ func CreateHelm(ctx context.Context, options *CreateOptions, globalFlags *flags.
228228
if err := currentVClusterConfig.UnmarshalYAMLStrict([]byte(migratedValues)); err != nil {
229229
return err
230230
}
231+
} else {
232+
// When a vCluster is not legacy, there should be a config secret and we will fetch the values from the secret
233+
currentVClusterConfig, err = getConfigfileFromSecret(ctx, vClusterName, cmd.Namespace)
234+
if err != nil {
235+
return err
236+
}
231237
}
232238

233239
if len(cmd.Values) == 0 {
@@ -326,11 +332,6 @@ func CreateHelm(ctx context.Context, options *CreateOptions, globalFlags *flags.
326332
verb := "created"
327333
if isVClusterDeployed(release) {
328334
verb = "upgraded"
329-
currentVClusterConfig, err = getConfigfileFromSecret(ctx, vClusterName, cmd.Namespace, cmd.log)
330-
if err != nil {
331-
return err
332-
}
333-
334335
// While certain backing store changes are allowed we prohibit changes to another distro.
335336
if err := config.ValidateChanges(currentVClusterConfig, vClusterConfig); err != nil {
336337
return err
@@ -935,7 +936,7 @@ func (cmd *createHelm) getVClusterConfigFromSnapshot(ctx context.Context) (strin
935936
return "", nil
936937
}
937938

938-
func getConfigfileFromSecret(ctx context.Context, name, namespace string, log log.Logger) (*config.Config, error) {
939+
func getConfigfileFromSecret(ctx context.Context, name, namespace string) (*config.Config, error) {
939940
secretName := "vc-config-" + name
940941

941942
kConf := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(clientcmd.NewDefaultClientConfigLoadingRules(), &clientcmd.ConfigOverrides{})
@@ -951,10 +952,6 @@ func getConfigfileFromSecret(ctx context.Context, name, namespace string, log lo
951952

952953
secret, err := clientset.CoreV1().Secrets(namespace).Get(ctx, secretName, metav1.GetOptions{})
953954
if err != nil {
954-
if kerrors.IsNotFound(err) {
955-
log.Warnf("Secret %s not found, returning empty vCluster config", secretName)
956-
return &config.Config{}, nil
957-
}
958955
return nil, err
959956
}
960957

0 commit comments

Comments
 (0)