|
|
|
|
@ -68,6 +68,12 @@ func alwaysReady(_ *unstructured.Unstructured) (*status.Result, error) {
|
|
|
|
|
}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func getStatusWatcher(dynamicClient dynamic.Interface, mapper meta.RESTMapper) *watcher.DefaultStatusWatcher {
|
|
|
|
|
sw := watcher.NewDefaultStatusWatcher(dynamicClient, mapper)
|
|
|
|
|
sw.ResyncPeriod = 3 * time.Minute
|
|
|
|
|
return sw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (w *statusWaiter) WatchUntilReady(resourceList ResourceList, timeout time.Duration) error {
|
|
|
|
|
if timeout == 0 {
|
|
|
|
|
timeout = DefaultStatusWatcherTimeout
|
|
|
|
|
@ -75,7 +81,7 @@ func (w *statusWaiter) WatchUntilReady(resourceList ResourceList, timeout time.D
|
|
|
|
|
ctx, cancel := w.contextWithTimeout(w.watchUntilReadyCtx, timeout)
|
|
|
|
|
defer cancel()
|
|
|
|
|
w.Logger().Debug("waiting for resources", "count", len(resourceList), "timeout", timeout)
|
|
|
|
|
sw := watcher.NewDefaultStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
sw := getStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
jobSR := helmStatusReaders.NewCustomJobStatusReader(w.restMapper)
|
|
|
|
|
podSR := helmStatusReaders.NewCustomPodStatusReader(w.restMapper)
|
|
|
|
|
// We don't want to wait on any other resources as watchUntilReady is only for Helm hooks.
|
|
|
|
|
@ -97,7 +103,7 @@ func (w *statusWaiter) Wait(resourceList ResourceList, timeout time.Duration) er
|
|
|
|
|
ctx, cancel := w.contextWithTimeout(w.waitCtx, timeout)
|
|
|
|
|
defer cancel()
|
|
|
|
|
w.Logger().Debug("waiting for resources", "count", len(resourceList), "timeout", timeout)
|
|
|
|
|
sw := watcher.NewDefaultStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
sw := getStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
sw.StatusReader = statusreaders.NewStatusReader(w.restMapper, w.readers...)
|
|
|
|
|
return w.wait(ctx, resourceList, sw)
|
|
|
|
|
}
|
|
|
|
|
@ -109,7 +115,7 @@ func (w *statusWaiter) WaitWithJobs(resourceList ResourceList, timeout time.Dura
|
|
|
|
|
ctx, cancel := w.contextWithTimeout(w.waitWithJobsCtx, timeout)
|
|
|
|
|
defer cancel()
|
|
|
|
|
w.Logger().Debug("waiting for resources", "count", len(resourceList), "timeout", timeout)
|
|
|
|
|
sw := watcher.NewDefaultStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
sw := getStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
newCustomJobStatusReader := helmStatusReaders.NewCustomJobStatusReader(w.restMapper)
|
|
|
|
|
readers := append([]engine.StatusReader(nil), w.readers...)
|
|
|
|
|
readers = append(readers, newCustomJobStatusReader)
|
|
|
|
|
@ -125,7 +131,7 @@ func (w *statusWaiter) WaitForDelete(resourceList ResourceList, timeout time.Dur
|
|
|
|
|
ctx, cancel := w.contextWithTimeout(w.waitForDeleteCtx, timeout)
|
|
|
|
|
defer cancel()
|
|
|
|
|
w.Logger().Debug("waiting for resources to be deleted", "count", len(resourceList), "timeout", timeout)
|
|
|
|
|
sw := watcher.NewDefaultStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
sw := getStatusWatcher(w.client, w.restMapper)
|
|
|
|
|
return w.waitForDelete(ctx, resourceList, sw)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|