github.com/verrazzano/verrazzano@v1.7.1/tools/psr/psrctl/pkg/scenario/stop.go (about)

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