diff --git a/cmd/helm/delete.go b/cmd/helm/delete.go index 1b73707bc..dabc11c76 100644 --- a/cmd/helm/delete.go +++ b/cmd/helm/delete.go @@ -2,7 +2,6 @@ package main import ( "errors" - "fmt" "github.com/kubernetes/helm/pkg/helm" "github.com/spf13/cobra" @@ -37,13 +36,7 @@ func delRelease(cmd *cobra.Command, args []string) error { return errors.New("command 'delete' requires a release name") } - // TODO: Handle dry run use case. - if deleteDryRun { - fmt.Printf("DRY RUN: Deleting %s\n", args[0]) - return nil - } - - _, err := helm.UninstallRelease(args[0]) + _, err := helm.UninstallRelease(args[0], deleteDryRun) if err != nil { return prettyError(err) } diff --git a/pkg/helm/helm.go b/pkg/helm/helm.go index ef8bbaff9..ca41ae235 100644 --- a/pkg/helm/helm.go +++ b/pkg/helm/helm.go @@ -66,7 +66,17 @@ func UpdateRelease(name string) (*services.UpdateReleaseResponse, error) { } // UninstallRelease uninstalls a named release and returns the response. -func UninstallRelease(name string) (*services.UninstallReleaseResponse, error) { +func UninstallRelease(name string, dryRun bool) (*services.UninstallReleaseResponse, error) { + + if dryRun { + // In the dry run case, just see if the release exists. + res, err := GetReleaseContent(name) + if err != nil { + return &services.UninstallReleaseResponse{}, err + } + return &services.UninstallReleaseResponse{Release: res.Release}, nil + } + u := &services.UninstallReleaseRequest{ Name: name, }