Tungsten Fabric Controller maintenance API¶
The Tungsten Fabric (TF) Controller creates and uses both types of
workloadlocks that include ClusterWorkloadLock and NodeWorkloadLock.
Maintenance workflow¶
When the ClusterMaintenanceRequest object is created, the TF Controller
verifies the TF cluster health status and proceeds as follows:
If the cluster is
Ready, the TF Controller moves theClusterWorkloadLockobject to the inactive state.Otherwise, the TF Controller keeps the
ClusterWorkloadLockobject in the active state.
When the NodeMaintenanceRequest object is created, the TF Controller
verifies the vRouter pod state on the corresponding node and proceeds as
follows:
If all containers are
Ready, the TF Controller moves theNodeWorkloadLockobject to the inactive state.Otherwise, the TF Controller keeps the
NodeWorkloadLockin the active state.
Note
If there is a NodeWorkloadLock object in the inactive state
present in the cluster, the TF Controller does not process the
NodeMaintenanceRequest object for other nodes until this inactive
NodeWorkloadLock object becomes active.
When the cluster LCM removes the MaintenanceRequest object, the TF
Controller waits for the vRouter pods to become ready and proceeds as follows:
If all containers are in the
Readystate, the TF Controller moves theNodeWorkloadLockobject to the active state.Otherwise, the TF Controller keeps the
NodeWorkloadLockobject in the inactive state.
Maintenance progress tracking logic¶
The Tungsten Fabric (TF) Operator monitors maintenance progress for both cluster-wide and node-level operations. The operator automatically calculates progress and displays it as a percentage based on the number of nodes that have successfully completed the maintenance lifecycle.
Maintenance progress is reported through two custom resources:
ClusterWorkloadLock and NodeWorkloadLock.
The ClusterWorkloadLock provides the high-level update status across
the entire cluster:
Formula:
Percentage inactive = (inactive_nodes/total_enabled_nodes) * 100
If new nodes are added during maintenance, the TF Operator detects additional
NodeWorkloadLockresources during its next iteration.Status format:
X out of Y nodes updated.Update trigger: The value updates automatically as node states transition during the maintenance window.
The NodeWorkloadLock provides granular statuses for individual nodes:
Percentage |
Status |
Meaning |
|---|---|---|
0% |
|
Update is currently in progress |
100% |
|
Update completed successfully |
0% |
|
Update encountered an error and stopped |