Skip to content

Commit 2554497

Browse files
loft-botjjafersonJosé Silva
authored
fix: vcluster upgrade of k3s distro (#2857) (#2871)
(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 aa0dbe5 commit 2554497

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 {
@@ -325,11 +331,6 @@ func CreateHelm(ctx context.Context, options *CreateOptions, globalFlags *flags.
325331
verb := "created"
326332
if isVClusterDeployed(release) {
327333
verb = "upgraded"
328-
currentVClusterConfig, err = getConfigfileFromSecret(ctx, vClusterName, cmd.Namespace, cmd.log)
329-
if err != nil {
330-
return err
331-
}
332-
333334
// While certain backing store changes are allowed we prohibit changes to another distro.
334335
if err := config.ValidateChanges(currentVClusterConfig, vClusterConfig); err != nil {
335336
return err
@@ -934,7 +935,7 @@ func (cmd *createHelm) getVClusterConfigFromSnapshot(ctx context.Context) (strin
934935
return "", nil
935936
}
936937

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

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

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

0 commit comments

Comments
 (0)