Please check the type of change your PR introduces:
[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):
What is the current behavior?
Problem of unavailability some hosts at the time of cluster creation. Storage/Database object moved to "Ready" status only when all NodeSet provisioned and Ready. We should be able not to wait for all hosts to start and only check the creation and preparing of all necessary objects.
Issue Number: YDBOPS-9612
What is the new behavior?
Status.state DatabasePreparing and StoragePreparing to determine handleResourceSync step first running
Status.state DatabaseProvisioned and StorageProvisioned to determine waitForStatefulSetToScale or waitForNodeSetsToProvisioned step first running
New conditions for Storage and Database objects:
PreparedCondition to determine that all child resources created
ProvisionedCondition to determine that all pods are created and have status.phase=="Running"
ReadyCondition to determine that all conditions are True and last Reconcile successfully moved to Ready status
PausedCondition to determine that all conditions are True and last Reconcile successfully moved to Paused status
Set "Unknown" status for condition and change value of .status.state on step first run
Set "False" status for condition if non-Kubernetes error inside current Reconcile run
Set "True" status for condition if non-True status was set previously
Other information
Move handler for .spec.operatorSync to handleResourcesSync step
Use setInitialStatus with call Update to API instead of SetStatusOnFirstReconcile
Move handler for .spec.pause handlePauseResume to the last step position on Reconcile Sync
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
Pull request type
Please check the type of change your PR introduces:
What is the current behavior?
Problem of unavailability some hosts at the time of cluster creation. Storage/Database object moved to "Ready" status only when all NodeSet provisioned and Ready. We should be able not to wait for all hosts to start and only check the creation and preparing of all necessary objects.
Issue Number: YDBOPS-9612
What is the new behavior?
DatabasePreparing
andStoragePreparing
to determinehandleResourceSync
step first runningDatabaseProvisioned
andStorageProvisioned
to determinewaitForStatefulSetToScale
orwaitForNodeSetsToProvisioned
step first runningPreparedCondition
to determine that all child resources createdProvisionedCondition
to determine that all pods are created and havestatus.phase=="Running"
ReadyCondition
to determine that all conditions are True and last Reconcile successfully moved toReady
statusPausedCondition
to determine that all conditions are True and last Reconcile successfully moved toPaused
status.status.state
on step first runOther information
handleResourcesSync
stepsetInitialStatus
with callUpdate
to API instead ofSetStatusOnFirstReconcile
handlePauseResume
to the last step position on Reconcile Sync