Changed deletion order in spec destroy according to dependency (#2344)

This commit is contained in:
Ankit Chawla
2022-02-08 13:54:28 +05:30
committed by GitHub
parent e8ff79e448
commit e1fb5a7411
+44 -1
View File
@@ -19,6 +19,7 @@ package spec
import ( import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/fission/fission/pkg/controller/client"
"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli" "github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
"github.com/fission/fission/pkg/fission-cli/cmd" "github.com/fission/fission/pkg/fission-cli/cmd"
"github.com/fission/fission/pkg/fission-cli/util" "github.com/fission/fission/pkg/fission-cli/util"
@@ -53,10 +54,52 @@ func (opts *DestroySubCommand) run(input cli.Input) error {
emptyFr.DeploymentConfig = fr.DeploymentConfig emptyFr.DeploymentConfig = fr.DeploymentConfig
// "apply" the empty state // "apply" the empty state
_, _, err = applyResources(opts.Client(), specDir, &emptyFr, true, false) err = deleteResources(opts.Client(), &emptyFr)
if err != nil { if err != nil {
return errors.Wrap(err, "error deleting resources") return errors.Wrap(err, "error deleting resources")
} }
return nil return nil
} }
func deleteResources(fclient client.Interface, fr *FissionResources) error {
var err error
_, _, err = applyHTTPTriggers(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "HTTPTrigger delete failed")
}
_, _, err = applyKubernetesWatchTriggers(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "KubernetesWatchTrigger delete failed")
}
_, _, err = applyTimeTriggers(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "TimeTrigger delete failed")
}
_, _, err = applyMessageQueueTriggers(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "MessageQueueTrigger delete failed")
}
_, _, err = applyFunctions(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "function delete failed")
}
_, _, err = applyPackages(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "package delete failed")
}
_, _, err = applyEnvironments(fclient, fr, true, false)
if err != nil {
return errors.Wrap(err, "environment delete failed")
}
return nil
}