Skip to content

Commit

Permalink
Add cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
alenkacz committed Dec 27, 2020
1 parent 463154a commit 6cb6b6b
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
2 changes: 1 addition & 1 deletion pkg/cmd/verify/deployments.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func (o *Options) Execute() error {
}

deployments := verify.DeploymentDefinitionDefault()
_, _ = fmt.Fprintf(o.Streams.Out, "Waiting for deployments in namespace %s:\n%s", deployments.Namespace, formatDeploymentNames(deployments.Names))
_, _ = fmt.Fprintf(o.Streams.Out, "Waiting for following deployments in namespace %s:\n%s", deployments.Namespace, formatDeploymentNames(deployments.Names))
result := verify.DeploymentsReady(kubeClient, deployments)
_, _ = fmt.Fprintf(o.Streams.Out, formatDeploymentResult(result))

Expand Down
27 changes: 24 additions & 3 deletions pkg/verify/certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ var namespace = &unstructured.Unstructured{
func WaitForTestCertificate(dynamicClient dynamic.Interface) error {
cert := certificate("cert-manager-test", group, version)
resources := []*unstructured.Unstructured{namespace, issuer("cert-manager-test", group, version), cert}
defer cleanupTestResources(resources)
defer cleanupTestResources(dynamicClient, resources)

for _, res := range resources {
err := createResource(dynamicClient, res)
Expand Down Expand Up @@ -98,8 +98,29 @@ func createResource(dynamicClient dynamic.Interface, resource *unstructured.Unst
return nil
}

func cleanupTestResources(resources []*unstructured.Unstructured) {
// TODO delete also the secret?
func deleteResource(dynamicClient dynamic.Interface, resource *unstructured.Unstructured) error {
gvk := resource.GroupVersionKind()
err := dynamicClient.Resource(schema.GroupVersionResource{
Group: gvk.Group,
Version: gvk.Version,
Resource: fmt.Sprintf("%ss", strings.ToLower(gvk.Kind)), // since we know what kinds are we dealing with here, this is OK
}).Namespace(resource.GetNamespace()).Delete(context.TODO(), resource.GetName(), metav1.DeleteOptions{})
if errors.IsNotFound(err) {
fmt.Printf("resource %s already deleted\n", resource.GetName())
} else if err != nil {
return fmt.Errorf("error when creating resource %s/%s. %v", resource.GetName(), resource.GetNamespace(), err)
}
return nil
}

func cleanupTestResources(dynamicClient dynamic.Interface, resources []*unstructured.Unstructured) error {
for _, res := range resources {
err := deleteResource(dynamicClient, res)
if err != nil {
return err
}
}
return nil
}

func issuer(ns string, group string, apiVersion string) *unstructured.Unstructured {
Expand Down

0 comments on commit 6cb6b6b

Please sign in to comment.