This guide offers an overview of how CFS sessions are created and started, in order to help troubleshoot related issues. Also see the CFS Flow Diagram.
In this context, a manual CFS session is one that is created when an administrator directly makes an API or CLI request to create the session.
After performing some basic validation, the CFS API server does the following things in order:
status of pending.When the CFS operator receives the Kafka message, it does the following things in order:
status to running.In this context, an automated CFS session is one that is created by the CFS Batcher.
Batcher periodically makes API calls to CFS to identify all components that meet the following criteria:
pending (which means that their desired configuration state does not match their actual configuration state)It groups these components into batches and periodically makes an API call to CFS to create a session to configure the components. What happens outside of batcher works exactly the same way as Manual sessions.
Batcher also monitors the status of all of the sessions that it creates. If any of them
remain in in pending state for too long, it makes an API call to CFS to delete them.
When a node boots, the CFS State Reporter runs.
It makes a CFS API call to patch the node. This patch enables the node in CFS
and clears its state field. This causes the Automated sessions
procedure to kick in.
If a node is rebooted but no session is created in CFS, then check the following:
systemctl status cfs-state-reporter).cray-cfs-batcher and cray-cfs-api Kubernetes pod logs to look for errors.If a CFS session is created but remains in pending state:
Check the cray-cfs-operator and cray-cfs-api Kubernetes pod logs to look for errors.
In particular, this may be caused by the following known issue: CFS Sessions Stuck Pending.