Skip to content

Commit

Permalink
Merge pull request #36283 from PennyScissors/relv26-charts-image-expo…
Browse files Browse the repository at this point in the history
…rter

Update airgap image exporter to support rancher version constraints
  • Loading branch information
pennyscissors committed Feb 10, 2022
2 parents ce2c5ed + bdd9057 commit 11a7451
Show file tree
Hide file tree
Showing 15 changed files with 817 additions and 805 deletions.
6 changes: 4 additions & 2 deletions pkg/api/norman/customization/kontainerdriver/actionhandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,14 +152,16 @@ func (lh ListHandler) LinkHandler(apiContext *types.APIContext, next types.Reque
_, targetSysCatalogImages := image.ParseCatalogImageListConfigMap(catalogImageList)

var targetRkeSysImages []string
exportConfig := image.ExportConfig{OsType: image.Linux}
switch apiContext.ID {
case linuxImages:
targetRkeSysImages, _, err = image.GetImages("", "", nil, []string{}, rkeSysImages, image.Linux)
targetRkeSysImages, _, err = image.GetImages(exportConfig, nil, []string{}, rkeSysImages)
if err != nil {
return httperror.WrapAPIError(err, httperror.ServerError, "error getting image list for linux platform")
}
case windowsImages:
targetRkeSysImages, _, err = image.GetImages("", "", nil, []string{}, rkeSysImages, image.Windows)
exportConfig.OsType = image.Windows
targetRkeSysImages, _, err = image.GetImages(exportConfig, nil, []string{}, rkeSysImages)
if err != nil {
return httperror.WrapAPIError(err, httperror.ServerError, "error getting image list for windows platform")
}
Expand Down
1 change: 0 additions & 1 deletion pkg/apis/rke.cattle.io/v1/zz_generated_deepcopy.go

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

13 changes: 9 additions & 4 deletions pkg/catalog/manager/catalog_sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
helmlib "github.com/rancher/rancher/pkg/helm"
"github.com/rancher/rancher/pkg/image"
"github.com/rancher/rancher/pkg/namespace"
"github.com/rancher/rancher/pkg/settings"
"github.com/sirupsen/logrus"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
Expand Down Expand Up @@ -74,8 +75,8 @@ func (m *Manager) Sync(key string, obj *v3.Catalog) (runtime.Object, error) {
}

func CreateOrUpdateSystemCatalogImageCache(systemCatalog *v3.Catalog, configMapInterface v1.ConfigMapInterface, configMapLister v1.ConfigMapLister, bundledMode bool, forceUpdate bool) (err error) {
var catalogChartPath string
catalogChartPath, err = utils.GetCatalogChartPath(systemCatalog, bundledMode)
var systemCatalogChartPath string
systemCatalogChartPath, err = utils.GetCatalogChartPath(systemCatalog, bundledMode)
if err != nil {
return err
}
Expand All @@ -85,6 +86,10 @@ func CreateOrUpdateSystemCatalogImageCache(systemCatalog *v3.Catalog, configMapI

systemCatalogImageCacheName := utils.GetCatalogImageCacheName(systemCatalog.Name)
systemCatalogImageCache, err = configMapLister.Get(namespace.System, systemCatalogImageCacheName)
rancherVersion := settings.GetRancherVersion()
if !image.IsValidSemver(rancherVersion) {
rancherVersion = settings.RancherVersionDev
}

// if the cache does not exist generate it
if err != nil && errors.IsNotFound(err) {
Expand All @@ -94,7 +99,7 @@ func CreateOrUpdateSystemCatalogImageCache(systemCatalog *v3.Catalog, configMapI
systemCatalogImageCache.Name = systemCatalogImageCacheName
systemCatalogImageCache.Namespace = namespace.System

err = image.AddImagesToImageListConfigMap(systemCatalogImageCache, catalogChartPath)
err = image.AddImagesToImageListConfigMap(systemCatalogImageCache, rancherVersion, systemCatalogChartPath)
if err != nil {
return
}
Expand All @@ -115,7 +120,7 @@ func CreateOrUpdateSystemCatalogImageCache(systemCatalog *v3.Catalog, configMapI
if err != nil {
return err
}
err = image.AddImagesToImageListConfigMap(systemCatalogImageCache, catalogChartPath)
err = image.AddImagesToImageListConfigMap(systemCatalogImageCache, rancherVersion, systemCatalogChartPath)
if err != nil {
return
}
Expand Down
3 changes: 1 addition & 2 deletions pkg/controllers/management/kontainerdrivermetadata/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ const (

const (
APIVersion = "management.cattle.io/v3"
RancherVersionDev = "2.6.99"
DataJSONLocation = "/var/lib/rancher-data/driver-metadata/data.json"
sendRKELabel = "io.cattle.rke_store"
svcOptionLinuxKey = "service-option-linux-key"
Expand Down Expand Up @@ -131,7 +130,7 @@ func (md *MetadataController) saveSystemImages(K8sVersionRKESystemImages map[str
DefaultK8sVersions map[string]string) error {
maxVersionForMajorK8sVersion := map[string]string{}
deprecatedMap := map[string]bool{}
rancherVersion := GetRancherVersion()
rancherVersion := settings.GetRancherVersion()
var maxIgnore []string
for k8sVersion, systemImages := range K8sVersionRKESystemImages {
rancherVersionInfo, minorOk := K8sVersionInfo[k8sVersion]
Expand Down
13 changes: 0 additions & 13 deletions pkg/controllers/management/kontainerdrivermetadata/data_getter.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@ package kontainerdrivermetadata

import (
"fmt"
"strings"

"github.com/rancher/rke/types/kdm"

mVersion "github.com/mcuadros/go-version"
v3 "github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3"
"github.com/rancher/rancher/pkg/namespace"
"github.com/rancher/rancher/pkg/settings"
rketypes "github.com/rancher/rke/types"
"github.com/rancher/rke/util"
"github.com/sirupsen/logrus"
Expand Down Expand Up @@ -204,14 +202,3 @@ func newVersionInfo() *VersionInfo {
KubernetesServicesOptions: map[string]rketypes.KubernetesServicesOptions{},
}
}

func GetRancherVersion() string {
rancherVersion := settings.ServerVersion.Get()
if strings.HasPrefix(rancherVersion, "dev") || strings.HasPrefix(rancherVersion, "master") || strings.HasSuffix(rancherVersion, "-head") {
return RancherVersionDev
}
if strings.HasPrefix(rancherVersion, "v") {
return rancherVersion[1:]
}
return rancherVersion
}
Loading

0 comments on commit 11a7451

Please sign in to comment.