Skip to content

Commit

Permalink
VZ-9750: Remove unsupported kontainer drivers (#97)
Browse files Browse the repository at this point in the history
  • Loading branch information
mgianatagh committed May 23, 2023
1 parent 678c4d8 commit ecd0905
Showing 1 changed file with 26 additions and 4 deletions.
30 changes: 26 additions & 4 deletions pkg/data/management/kontainerdriver_data.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@ package management
import (
"context"
"fmt"
"github.com/rancher/rancher/pkg/namespace"
"k8s.io/client-go/kubernetes"
"os"
"strings"

v32 "github.com/rancher/rancher/pkg/apis/management.cattle.io/v3"

"github.com/rancher/rancher/pkg/controllers/management/drivers/kontainerdriver"
v3 "github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3"
"github.com/rancher/rancher/pkg/namespace"
"github.com/rancher/rancher/pkg/types/config"
"github.com/sirupsen/logrus"
"k8s.io/apimachinery/pkg/api/errors"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
)

func addKontainerDrivers(management *config.ManagementContext) error {
Expand All @@ -35,6 +34,10 @@ func addKontainerDrivers(management *config.ManagementContext) error {
return err
}

if err := removeUnsupportedDrivers(creator); err != nil {
return err
}

if err := creator.add("googleKubernetesEngine"); err != nil {
return err
}
Expand Down Expand Up @@ -75,14 +78,33 @@ func cleanupImportDriver(creator driverCreator) error {
return nil
}

// removeUnsupportedDrivers - remove unsupported drivers
func removeUnsupportedDrivers(creator driverCreator) error {
driverList := []string{"aliyunkubernetescontainerservice", "baiducloudcontainerengine", "huaweicontainercloudengine",
"linodekubernetesengine", "opentelekomcloudcontainerengine", "rancherkubernetesengine", "tencentkubernetesengine"}

var err error

for _, driver := range driverList {
if _, err = creator.driversLister.Get("", driver); err == nil {
logrus.Infof("removing kontainer drvier %s", driver)
err = creator.drivers.Delete(driver, &v1.DeleteOptions{})
}
if err != nil && !errors.IsNotFound(err) {
return err
}
}
return nil
}

type driverCreator struct {
driversLister v3.KontainerDriverLister
drivers v3.KontainerDriverInterface
k8s kubernetes.Interface
}

func (c *driverCreator) add(name string) error {
logrus.Infof("adding kontainer driver %v", name)
logrus.Infof("adding kontainer driver %s", name)

driver, err := c.driversLister.Get("", name)
if err != nil {
Expand Down

0 comments on commit ecd0905

Please sign in to comment.