Skip to content

Commit 194b36a

Browse files
jjafersonJosé Silva
and
José Silva
authored
fix: vcluster upgrade of k3s distro (#2857)
Co-authored-by: José Silva <josesilva@Joses-MacBook-Pro.local>
1 parent 00cf64c commit 194b36a

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
@@ -239,6 +239,12 @@ func CreateHelm(ctx context.Context, options *CreateOptions, globalFlags *flags.
239239
if err := currentVClusterConfig.UnmarshalYAMLStrict([]byte(migratedValues)); err != nil {
240240
return err
241241
}
242+
} else {
243+
// When a vCluster is not legacy, there should be a config secret and we will fetch the values from the secret
244+
currentVClusterConfig, err = getConfigfileFromSecret(ctx, vClusterName, cmd.Namespace)
245+
if err != nil {
246+
return err
247+
}
242248
}
243249

244250
if len(cmd.Values) == 0 {
@@ -347,11 +353,6 @@ func CreateHelm(ctx context.Context, options *CreateOptions, globalFlags *flags.
347353
verb := "created"
348354
if isVClusterDeployed(release) {
349355
verb = "upgraded"
350-
currentVClusterConfig, err = getConfigfileFromSecret(ctx, vClusterName, cmd.Namespace, cmd.log)
351-
if err != nil {
352-
return err
353-
}
354-
355356
// While certain backing store changes are allowed we prohibit changes to another distro.
356357
if err := config.ValidateChanges(currentVClusterConfig, vClusterConfig); err != nil {
357358
return err
@@ -957,7 +958,7 @@ func (cmd *createHelm) getVClusterConfigFromSnapshot(ctx context.Context) (strin
957958
return "", nil
958959
}
959960

960-
func getConfigfileFromSecret(ctx context.Context, name, namespace string, log log.Logger) (*config.Config, error) {
961+
func getConfigfileFromSecret(ctx context.Context, name, namespace string) (*config.Config, error) {
961962
secretName := "vc-config-" + name
962963

963964
kConf := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(clientcmd.NewDefaultClientConfigLoadingRules(), &clientcmd.ConfigOverrides{})
@@ -973,10 +974,6 @@ func getConfigfileFromSecret(ctx context.Context, name, namespace string, log lo
973974

974975
secret, err := clientset.CoreV1().Secrets(namespace).Get(ctx, secretName, metav1.GetOptions{})
975976
if err != nil {
976-
if kerrors.IsNotFound(err) {
977-
log.Warnf("Secret %s not found, returning empty vCluster config", secretName)
978-
return &config.Config{}, nil
979-
}
980977
return nil, err
981978
}
982979

0 commit comments

Comments
 (0)