Add an init phase to scheduler/web startup

This adds a new component state: INITIALIZING and the scheduler and
web components use it when they are creating their initial config.

It is safe for the scheduler to start processing tenant and pipeline
events as soon as it starts because it only processes those for
the tenants that it has already loaded.

However it is not safe for drivers to move events from their
incoming queue into the scheduler since that requires the full
tenant list.  The 4 drivers to which this applies are updated
to wait on config priming.

Zuul-web is already structured to wait until config priming
so does not need a corresponding change.

Change-Id: I36dd4927e583328434e66553aa3ff0cd7469b488
This commit is contained in:
James E. Blair
2021-11-14 06:30:34 -08:00
parent e09e3463c1
commit fb3d3f7471
8 changed files with 33 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ import {
RunningIcon,
QuestionIcon,
StopCircleIcon,
HistoryIcon,
} from '@patternfly/react-icons'
import { IconProperty } from '../build/Misc'
@@ -39,6 +40,10 @@ const STATE_ICON_CONFIGS = {
icon: RunningIcon,
color: 'var(--pf-global--success-color--100)',
},
INITIALIZING: {
icon: HistoryIcon,
color: 'var(--pf-global--warning-color--100)',
},
PAUSED: {
icon: PauseCircleIcon,
color: 'var(--pf-global--warning-color--100)',