Skip to content

Commit

Permalink
Integration Test - Remove Support for Helm v2 and Provide Support for…
Browse files Browse the repository at this point in the history
… Enable/Disable wait while Installing Charts (#1612)

* Remove Support for Helm v2

- Removed Support for Helm v2
- Added functionality for enabling/disabling --wait flag while helm install

Signed-off-by: Rajat Gupta <rajat.gupta@veeam.com>

* Add wait argument in Install Method

- Added functionality for enabling/disabling --wait flag while helm install using wait argument in Install method.

* Add wait argument in Install Method

- Added functionality for enabling/disabling --wait flag while helm install using wait argument in Install method.

Signed-off-by: Rajat Gupta <rajat.gupta@veeam.com>

* Fix Linting issues

Signed-off-by: Rajat Gupta <rajat.gupta@veeam.com>

* Add a comment for wait argument

Signed-off-by: Rajat Gupta <rajat.gupta@veeam.com>

* Remove else statement for wait

Signed-off-by: Rajat Gupta <rajat.gupta@veeam.com>

Signed-off-by: Rajat Gupta <rajat.gupta@veeam.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
  • Loading branch information
r4rajat and mergify[bot] committed Sep 2, 2022
1 parent f2493b5 commit a9da673
Show file tree
Hide file tree
Showing 11 changed files with 15 additions and 16 deletions.
2 changes: 1 addition & 1 deletion pkg/app/cassandra.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func (cas *CassandraInstance) Install(ctx context.Context, namespace string) err
if err != nil {
return err
}
err = cli.Install(ctx, fmt.Sprintf("%s/%s", cas.chart.RepoName, cas.chart.Chart), cas.chart.Version, cas.chart.Release, cas.namespace, cas.chart.Values)
err = cli.Install(ctx, fmt.Sprintf("%s/%s", cas.chart.RepoName, cas.chart.Chart), cas.chart.Version, cas.chart.Release, cas.namespace, cas.chart.Values, true)
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/couchbase.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ func (cb *CouchbaseDB) Install(ctx context.Context, ns string) error {
}

// Install cb operator, admission controller and cluster
err = cli.Install(ctx, fmt.Sprintf("%s/%s", cb.chart.RepoName, cb.chart.Chart), cb.chart.Version, cb.chart.Release, cb.namespace, cb.chart.Values)
err = cli.Install(ctx, fmt.Sprintf("%s/%s", cb.chart.RepoName, cb.chart.Chart), cb.chart.Version, cb.chart.Release, cb.namespace, cb.chart.Values, true)
return errors.Wrapf(err, "Failed to install helm chart. app=%s chart=%s release=%s", cb.name, cb.chart.Chart, cb.chart.Release)
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/app/elasticsearch.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func (esi *ElasticsearchInstance) Install(ctx context.Context, namespace string)
return err
}

err = cli.Install(ctx, fmt.Sprintf("%s/%s", esi.chart.RepoName, esi.chart.Chart), esi.chart.Version, esi.chart.Release, esi.namespace, esi.chart.Values)
err = cli.Install(ctx, fmt.Sprintf("%s/%s", esi.chart.RepoName, esi.chart.Chart), esi.chart.Version, esi.chart.Release, esi.namespace, esi.chart.Values, true)
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/kafka.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func (kc *KafkaCluster) Install(ctx context.Context, namespace string) error {
return errors.Wrapf(err, "Error adding helm repo for app %s.", kc.name)
}
log.Print("Installing kafka operator using helm.", field.M{"app": kc.name})
err = cli.Install(ctx, kc.chart.RepoName+"/"+kc.chart.Chart, kc.chart.Version, kc.chart.Release, kc.namespace, kc.chart.Values)
err = cli.Install(ctx, kc.chart.RepoName+"/"+kc.chart.Chart, kc.chart.Version, kc.chart.Release, kc.namespace, kc.chart.Values, true)
if err != nil {
return errors.Wrapf(err, "Error installing operator %s through helm.", kc.name)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/mariadb.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func (m *MariaDB) Install(ctx context.Context, namespace string) error {
}

log.Print("Installing maria instance using helm.", field.M{"app": m.name})
err = cli.Install(ctx, m.chart.RepoName+"/"+m.chart.Chart, m.chart.Version, m.chart.Release, m.namespace, m.chart.Values)
err = cli.Install(ctx, m.chart.RepoName+"/"+m.chart.Chart, m.chart.Version, m.chart.Release, m.namespace, m.chart.Values, true)
if err != nil {
return errors.Wrapf(err, "Error intalling application %s through helm.", m.name)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/mongodb.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func (mongo *MongoDB) Install(ctx context.Context, namespace string) error {
}

log.Print("Installing application using helm.", field.M{"app": mongo.name})
err = cli.Install(ctx, fmt.Sprintf("%s/%s", mongo.chart.RepoName, mongo.chart.Chart), mongo.chart.Version, mongo.chart.Release, mongo.namespace, mongo.chart.Values)
err = cli.Install(ctx, fmt.Sprintf("%s/%s", mongo.chart.RepoName, mongo.chart.Chart), mongo.chart.Version, mongo.chart.Release, mongo.namespace, mongo.chart.Values, true)
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (mdb *MysqlDB) Install(ctx context.Context, namespace string) error {
}

log.Print("Installing mysql instance using helm.", field.M{"app": mdb.name})
err = cli.Install(ctx, mdb.chart.RepoName+"/"+mdb.chart.Chart, mdb.chart.Version, mdb.chart.Release, mdb.namespace, mdb.chart.Values)
err = cli.Install(ctx, mdb.chart.RepoName+"/"+mdb.chart.Chart, mdb.chart.Version, mdb.chart.Release, mdb.namespace, mdb.chart.Values, true)
if err != nil {
return errors.Wrapf(err, "Error intalling application %s through helm.", mdb.name)
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/app/postgresql.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func (pdb *PostgresDB) Install(ctx context.Context, ns string) error {
return err
}
// Install helm chart
return cli.Install(ctx, fmt.Sprintf("%s/%s", pdb.chart.RepoName, pdb.chart.Chart), pdb.chart.Version, pdb.chart.Release, pdb.namespace, pdb.chart.Values)
return cli.Install(ctx, fmt.Sprintf("%s/%s", pdb.chart.RepoName, pdb.chart.Chart), pdb.chart.Version, pdb.chart.Release, pdb.namespace, pdb.chart.Values, true)
}

func (pdb *PostgresDB) IsReady(ctx context.Context) (bool, error) {
Expand Down
10 changes: 4 additions & 6 deletions pkg/helm/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,18 +125,16 @@ func (h CliClient) UpdateRepo(ctx context.Context) error {
}

// Install installs helm chart with given release name
func (h CliClient) Install(ctx context.Context, chart, version, release, namespace string, values map[string]string) error {
func (h CliClient) Install(ctx context.Context, chart, version, release, namespace string, values map[string]string, wait bool) error {
log.Debug().Print("Installing helm chart", field.M{"chart": chart, "version": version, "release": release, "namespace": namespace})
var setVals string
for k, v := range values {
setVals += fmt.Sprintf("%s=%s,", k, v)
}

var cmd []string
if h.version == V3 {
cmd = []string{"install", release, "--version", version, "--namespace", namespace, chart, "--set", setVals, "--wait", "--create-namespace"}
} else {
cmd = []string{"install", "--name", release, "--version", version, "--namespace", namespace, chart, "--set", setVals, "--wait"}
cmd := []string{"install", release, "--version", version, "--namespace", namespace, chart, "--set", setVals, "--create-namespace"}
if wait {
cmd = append(cmd, "--wait")
}

out, err := RunCmdWithTimeout(ctx, h.helmBin, cmd)
Expand Down
3 changes: 2 additions & 1 deletion pkg/helm/helm.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ type Client interface {
// RemoveRepo removes helm repo
RemoveRepo(ctx context.Context, name string) error
// Install installs helm chart with given release name in the namespace
Install(ctx context.Context, chart, version, release, namespace string, values map[string]string) error
// wait argument enables/disables --wait flag in 'helm install' command
Install(ctx context.Context, chart, version, release, namespace string, values map[string]string, wait bool) error
// Uninstall deletes helm release from the given namespace
Uninstall(ctx context.Context, release, namespace string) error
// Upgrade upgrades an installed helm release
Expand Down
2 changes: 1 addition & 1 deletion pkg/testing/helm/helm_app.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func (h *HelmApp) AddRepo(name, url string) error {

func (h *HelmApp) Install() error {
ctx := context.Background()
return h.client.Install(ctx, h.chart, "", h.name, h.namespace, h.helmValues)
return h.client.Install(ctx, h.chart, "", h.name, h.namespace, h.helmValues, true)
}

func (h *HelmApp) Upgrade(chart string, updatedValues map[string]string) error {
Expand Down

0 comments on commit a9da673

Please sign in to comment.