-
Notifications
You must be signed in to change notification settings - Fork 41
/
stop.go
41 lines (36 loc) · 1.02 KB
/
stop.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright (c) 2022, 2023, Oracle and/or its affiliates.
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
package scenario
import (
"fmt"
"github.com/verrazzano/verrazzano/tools/vz/pkg/helpers"
helmcli "github.com/verrazzano/verrazzano/pkg/helm"
)
var UninstallFunc = helmcli.Uninstall
// StopScenarioByID stops a running scenario specified by the scenario ID
func (m ScenarioMananger) StopScenarioByID(ID string, vzHelper helpers.VZHelper) error {
cm, err := m.getConfigMapByID(ID)
if err != nil {
return err
}
sc, err := m.getScenarioFromConfigmap(cm)
if err != nil {
return err
}
// Delete Helm releases
for _, h := range sc.HelmReleases {
if m.Verbose {
fmt.Fprintf(vzHelper.GetOutputStream(), "Uninstalling Helm release %s/%s\n", h.Namespace, h.Name)
}
err := UninstallFunc(m.Log, h.Name, h.Namespace, m.DryRun)
if err != nil {
return err
}
}
// Delete config map
err = m.deleteConfigMap(cm)
if err != nil {
return err
}
return nil
}