Changed deletion order in spec destroy according to dependency (#2344)
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user