@ -47,6 +47,11 @@ type Uninstall struct {
Description string
Description string
}
}
type uninstallError struct {
error
uninstallErrors [ ] error
}
// NewUninstall creates a new Uninstall object with the given configuration.
// NewUninstall creates a new Uninstall object with the given configuration.
func NewUninstall ( cfg * Configuration ) * Uninstall {
func NewUninstall ( cfg * Configuration ) * Uninstall {
return & Uninstall {
return & Uninstall {
@ -122,7 +127,7 @@ func (u *Uninstall) Run(name string) (*release.UninstallReleaseResponse, error)
deletedResources , kept , errs := u . deleteRelease ( rel )
deletedResources , kept , errs := u . deleteRelease ( rel )
if errs != nil {
if errs != nil {
u . cfg . Log ( "uninstall: Failed to delete release: %s" , errs )
u . cfg . Log ( "uninstall: Failed to delete release: %s" , errs )
return nil , errors. Errorf ( "failed to delete release: %s" , name )
return nil , uninstallError{ error : errors. Errorf ( "failed to delete release: %s" , name ) , uninstallErrors : errs }
}
}
if kept != "" {
if kept != "" {
@ -160,7 +165,7 @@ func (u *Uninstall) Run(name string) (*release.UninstallReleaseResponse, error)
// Return the errors that occurred while deleting the release, if any
// Return the errors that occurred while deleting the release, if any
if len ( errs ) > 0 {
if len ( errs ) > 0 {
return res , errors. Errorf ( "uninstallation completed with %d error(s): %s" , len ( errs ) , joinErrors ( errs ) )
return res , uninstallError{ error : errors. Errorf ( "uninstallation completed with %d error(s): %s" , len ( errs ) , joinErrors ( errs ) ) , uninstallErrors : errs }
}
}
return res , nil
return res , nil
@ -171,7 +176,7 @@ func (u *Uninstall) Run(name string) (*release.UninstallReleaseResponse, error)
}
}
if len ( errs ) > 0 {
if len ( errs ) > 0 {
return res , errors. Errorf ( "uninstallation completed with %d error(s): %s" , len ( errs ) , joinErrors ( errs ) )
return res , uninstallError{ error : errors. Errorf ( "uninstallation completed with %d error(s): %s" , len ( errs ) , joinErrors ( errs ) ) , uninstallErrors : errs }
}
}
return res , nil
return res , nil
}
}