Skip to content

Commit

Permalink
Augment conversions for UpgradeOverrideSettings (#3634)
Browse files Browse the repository at this point in the history
* Fix IsStoragePackageReference() bug

* Reduce allocations when merging TypeNameSets

* Use unreferenced objects as roots for package file allocation

* Regenerate compat package

* Code gardening

* Augment conversion for UpgradeOverrideSettings

* Update golden files

* Clean up property bag

* Avoid double values

* Check assignments succeed
  • Loading branch information
theunrepentantgeek committed Dec 7, 2023
1 parent 38ef44f commit 7301356
Show file tree
Hide file tree
Showing 35 changed files with 2,064 additions and 1,771 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT license.
*/

package compat

import (
"golang.org/x/exp/slices"

v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage"
"github.com/Azure/azure-service-operator/v2/internal/util/to"
)

var _ augmentConversionForUpgradeOverrideSettings = &UpgradeOverrideSettings{}

const ignoreKubernetesDeprecations = "IgnoreKubernetesDeprecations"

func (settings *UpgradeOverrideSettings) AssignPropertiesFrom(src *v20231001s.UpgradeOverrideSettings) error {
// If the GA version has ForceUpgrade true, the preview version needs to add "IgnoreKubernetesDeprecations"
if src.ForceUpgrade != nil && *src.ForceUpgrade {
if !slices.Contains(settings.ControlPlaneOverrides, ignoreKubernetesDeprecations) {
settings.ControlPlaneOverrides = append(settings.ControlPlaneOverrides, ignoreKubernetesDeprecations)
}
}

settings.PropertyBag.Remove("ForceUpgrade")

return nil
}

func (settings *UpgradeOverrideSettings) AssignPropertiesTo(dest *v20231001s.UpgradeOverrideSettings) error {
// If the preview version has "IgnoreKubernetesDeprecations" in ControlPlaneOverrides, the GA version needs to have
// ForceUpgrade true, otherwise false.
dest.ForceUpgrade = to.Ptr(false)
for _, override := range settings.ControlPlaneOverrides {
if override == ignoreKubernetesDeprecations {
dest.ForceUpgrade = to.Ptr(true)
break
}
}

return nil
}

0 comments on commit 7301356

Please sign in to comment.