parent
2e44da1b54
commit
a205f0d586
|
|
@ -156,11 +156,12 @@ type syncPrepareResult struct {
|
||||||
|
|
||||||
// SyncReleases wrapper for executing helm upgrade on the releases
|
// SyncReleases wrapper for executing helm upgrade on the releases
|
||||||
func (state *HelmState) prepareSyncReleases(helm helmexec.Interface, additionalValues []string, concurrency int) ([]syncPrepareResult, []error) {
|
func (state *HelmState) prepareSyncReleases(helm helmexec.Interface, additionalValues []string, concurrency int) ([]syncPrepareResult, []error) {
|
||||||
jobs := make(chan *ReleaseSpec)
|
numReleases := len(state.Releases)
|
||||||
results := make(chan syncPrepareResult)
|
jobs := make(chan *ReleaseSpec, numReleases)
|
||||||
|
results := make(chan syncPrepareResult, numReleases)
|
||||||
|
|
||||||
if concurrency < 1 {
|
if concurrency < 1 {
|
||||||
concurrency = len(state.Releases)
|
concurrency = numReleases
|
||||||
}
|
}
|
||||||
for w := 1; w <= concurrency; w++ {
|
for w := 1; w <= concurrency; w++ {
|
||||||
go func() {
|
go func() {
|
||||||
|
|
@ -195,16 +196,14 @@ func (state *HelmState) prepareSyncReleases(helm helmexec.Interface, additionalV
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
go func() {
|
for i := 0; i < numReleases; i++ {
|
||||||
for i := 0; i < len(state.Releases); i++ {
|
jobs <- &state.Releases[i]
|
||||||
jobs <- &state.Releases[i]
|
}
|
||||||
}
|
close(jobs)
|
||||||
close(jobs)
|
|
||||||
}()
|
|
||||||
|
|
||||||
res := []syncPrepareResult{}
|
res := []syncPrepareResult{}
|
||||||
errs := []error{}
|
errs := []error{}
|
||||||
for i := 0; i < len(state.Releases); {
|
for i := 0; i < numReleases; {
|
||||||
select {
|
select {
|
||||||
case r := <-results:
|
case r := <-results:
|
||||||
for _, e := range r.errors {
|
for _, e := range r.errors {
|
||||||
|
|
@ -225,8 +224,8 @@ func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues [
|
||||||
return prepErrs
|
return prepErrs
|
||||||
}
|
}
|
||||||
|
|
||||||
jobQueue := make(chan *syncPrepareResult)
|
jobQueue := make(chan *syncPrepareResult, len(preps))
|
||||||
results := make(chan syncResult)
|
results := make(chan syncResult, len(preps))
|
||||||
|
|
||||||
if workerLimit < 1 {
|
if workerLimit < 1 {
|
||||||
workerLimit = len(state.Releases)
|
workerLimit = len(state.Releases)
|
||||||
|
|
@ -452,11 +451,12 @@ type diffPrepareResult struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (state *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValues []string, concurrency int, detailedExitCode, suppressSecrets bool) ([]diffPrepareResult, []error) {
|
func (state *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalValues []string, concurrency int, detailedExitCode, suppressSecrets bool) ([]diffPrepareResult, []error) {
|
||||||
jobs := make(chan *ReleaseSpec, len(state.Releases))
|
numReleases := len(state.Releases)
|
||||||
results := make(chan diffPrepareResult)
|
jobs := make(chan *ReleaseSpec, numReleases)
|
||||||
|
results := make(chan diffPrepareResult, numReleases)
|
||||||
|
|
||||||
if concurrency < 1 {
|
if concurrency < 1 {
|
||||||
concurrency = len(state.Releases)
|
concurrency = numReleases
|
||||||
}
|
}
|
||||||
|
|
||||||
for w := 1; w <= concurrency; w++ {
|
for w := 1; w <= concurrency; w++ {
|
||||||
|
|
@ -504,14 +504,14 @@ func (state *HelmState) prepareDiffReleases(helm helmexec.Interface, additionalV
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < len(state.Releases); i++ {
|
for i := 0; i < numReleases; i++ {
|
||||||
jobs <- &state.Releases[i]
|
jobs <- &state.Releases[i]
|
||||||
}
|
}
|
||||||
close(jobs)
|
close(jobs)
|
||||||
|
|
||||||
rs := []diffPrepareResult{}
|
rs := []diffPrepareResult{}
|
||||||
errs := []error{}
|
errs := []error{}
|
||||||
for i := 0; i < len(state.Releases); {
|
for i := 0; i < numReleases; {
|
||||||
select {
|
select {
|
||||||
case res := <-results:
|
case res := <-results:
|
||||||
if res.errors != nil && len(res.errors) > 0 {
|
if res.errors != nil && len(res.errors) > 0 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue