Skip to content

Commit

Permalink
Merge pull request #91 from jmrodri/bug1854978-removecrds
Browse files Browse the repository at this point in the history
Bug 1854978:  Remove servicecatalogapiserver CRD
  • Loading branch information
openshift-merge-robot committed Sep 11, 2020
2 parents 081dc64 + 1448021 commit 095c187
Show file tree
Hide file tree
Showing 53 changed files with 29,372 additions and 0 deletions.
21 changes: 21 additions & 0 deletions cmd/cluster-svcat-apiserver-remover/main.go
Expand Up @@ -8,6 +8,8 @@ import (
operatorclient "github.com/openshift/client-go/operator/clientset/versioned"
operatorv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
log "github.com/sirupsen/logrus"
apiextclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"

apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
Expand Down Expand Up @@ -48,6 +50,17 @@ func deleteCustomResource(client operatorv1.OperatorV1Interface) {
}
}

func deleteCustomResourceDefinitions(client *apiextclient.Clientset) {
log.Infof("Removing ServiceCatalogAPIServer CRD")
err := client.ApiextensionsV1().CustomResourceDefinitions().Delete(
"servicecatalogapiservers.operator.openshift.io", &metav1.DeleteOptions{})
if err != nil {
log.Errorf("ServiceCatalogAPIServer CRD deletion failed: %v", err)
} else {
log.Info("ServiceCatalogAPIServer CRD removed successfully.")
}
}

func deleteClusterOperator(clientConfig *rest.Config) {
configClient, err := configclient.NewForConfig(clientConfig)
if err != nil {
Expand Down Expand Up @@ -92,6 +105,11 @@ func main() {
panic(err.Error())
}

apiextv1Client, err := apiextclient.NewForConfig(clientConfig)
if err != nil {
log.Errorf("problem getting apiextensions (crd) client, error %v", err)
}

operatorClient, err := operatorclient.NewForConfig(clientConfig)
if err != nil {
log.Errorf("problem getting operator client, error %v", err)
Expand All @@ -103,6 +121,7 @@ func main() {
deleteTargetNamespace(kubeClient, targetNamespaceName)
deleteClusterOperator(clientConfig)
deleteClusterRolesAndBindings(kubeClient)
deleteCustomResourceDefinitions(apiextv1Client)
os.Exit(0)
} else if err != nil {
log.Errorf("problem getting ServiceCatalogAPIServer CR, error %v", err)
Expand All @@ -118,12 +137,14 @@ func main() {
deleteCustomResource(operatorConfigClient)
deleteClusterOperator(clientConfig)
deleteClusterRolesAndBindings(kubeClient)
deleteCustomResourceDefinitions(apiextv1Client)
case operatorapiv1.Removed:
log.Info("ServiceCatalogAPIServer managementState is 'Removed'")
deleteTargetNamespace(kubeClient, targetNamespaceName)
deleteCustomResource(operatorConfigClient)
deleteClusterOperator(clientConfig)
deleteClusterRolesAndBindings(kubeClient)
deleteCustomResourceDefinitions(apiextv1Client)
default:
log.Error("Unknown managementState")
}
Expand Down
1 change: 1 addition & 0 deletions go.mod
Expand Up @@ -6,6 +6,7 @@ require (
github.com/openshift/api v0.0.0-20200217161739-c99157bc6492
github.com/openshift/client-go v0.0.0-20200116152001-92a2713fa240
github.com/sirupsen/logrus v1.4.2
k8s.io/apiextensions-apiserver v0.17.2
k8s.io/apimachinery v0.17.3-beta.0
k8s.io/client-go v0.17.2
)
Expand Down
175 changes: 175 additions & 0 deletions go.sum

Large diffs are not rendered by default.

202 changes: 202 additions & 0 deletions vendor/k8s.io/apiextensions-apiserver/LICENSE

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

0 comments on commit 095c187

Please sign in to comment.