Cisco UCS Manager B-Series Troubleshooting Guide
Finite State Machine
Downloads: This chapterpdf (PDF - 1.27MB) The complete bookPDF (PDF - 3.01MB) | The complete bookePub (ePub - 302.0KB) | Feedback

Finite State Machine

Finite State Machine

This chapter includes the following sections:

Overview of the FSM

An FSM is a workflow model, similar to a flow chart, that is composed of the following:

  • A finite number of stages (states)
  • Transitions between those stages
  • Operations

The current stage in an FSM is determined by past stages and the operations performed to transition between the stages. A transition from one stage to another is dependent on the success or failure of an operation.

Cisco UCS Manager uses FSM tasks that run in the Data Management Engine (DME) to manage end points in the Cisco UCS object model, including the following

  • Physical components (chassis, I/O module, servers)
  • Logical components (LAN cloud, policies)
  • Workflows (server discovery, service profile management, downloads, upgrades, backups)

The DME manages the FSM stages and transitions and instructs the Application Gateway (AG) to perform operations on the managed end points. Therefore, each stage can be considered to be an interaction between the DME, AG, and managed end point. The AGs do the real work in interacting with managed end points, such as the CIMC, adapter, or I/O module.

When all of the FSM stages have run successfully, Cisco UCS considers the FSM to be successful.

If the FSM encounters an error or timeout at a stage, the FSM retries that stage at scheduled intervals. When the retry count has been reached for that stage, the FSM stops and Cisco UCS Manager declares the change to have failed. If an FSM task fails, Cisco UCS Manager raises faults and alarms.

Multiple FSM tasks can be associated to an end point. However, only one FSM task at a time can run. Additional FSM tasks for the same end point are placed in a queue and are scheduled to be run when the previous FSM task is either successfully completed or fails.

You can view the FSM details for a particular end point to determine if a task succeeded or failed. You can also use the FSM to troubleshoot any failures.

FSM Stage Names

The FSM stage names are usually constructed using the following notation:

FsmObjectWorkflowOperationWhere-is-it-executed

where:

  • Object is the object the FSM is running, such as Blade/Chassis.
  • Workflow is the overall task being performed by the FSM, such as Discover or Association.
  • Operation is the task being performed at a particular stage, such as Pnuos-Config.
  • Where-is-it-executed is generally “”, or “A” or “B” or “Local” or “Peer”. If not specified, it is executed on the managingInst node.

Each FSM stage name has a prefix that identifies the FSM and a suffix that identifies a stage within the FSM. The prefix notation is FsmObjectWorkflow and the suffix notation is OperationWhere-is-it-executed. For example, if the FSM name is FsmComputeBladeDiscoverCimcInventory, the prefix is FsmComputeBladeDiscover and the suffix is CimcInventory.

FSM in the Cisco UCS Manager GUI

The Cisco UCS Manager GUI displays FSM information for an end point on the FSM tab for that end point. You can use the FSM tab to monitor the progress and status of the current FSM task and view a list of the pending FSM tasks.

The information about a current FSM task in the Cisco UCS Manager GUI is dynamic and changes as the task progresses. You can view the following information about the current FSM task:

  • Which FSM task is being executed
  • The current state of that task
  • The time and status of the previously completed task
  • Any remote invocation error codes returned while processing the task
  • The progress of the current task

If you want to view the FSM task for an endpoint that supports FSM, navigate to the endpoint in the Navigation pane and click on the FSM tab in the Work pane.

FSM in Cisco UCS Manager CLI

The Cisco UCS Manager CLI can display the FSM information for an endpoint when you are in the command mode for that end point.

You can use the show fsm status command in the appropriate mode to view the current FSM task for an end point. The information displayed about a current FSM task in the command-line interface (CLI) is static. You must reenter the command to see progress updates.

The following example shows how to display information about the current FSM task for the server in chassis 1, slot 6:

)
UCS-A# scope server 1/6

UCS-A /chassis/server # show fsm status 
Slot: 6
Server: sys/chassis-1/blade-6
    FSM 1:
        Remote Result: Not Applicable
        Remote Error Code: None
        Remote Error Description:
        Status: Discover Blade Boot Wait
        Previous Status: Discover Blade Boot Wait
        Timestamp: 2006-01-26T23:31:36
        Try: 0
        Flags: 0
        Progress (%): 33
        Current Task: Waiting for system reset on server 1/6 
(FSM-STAGE:sam:dme:ComputeBladeDiscover:BladeBootWait)

You can use the show fsm task command in the appropriate mode to view all pending tasks in the FSM queue.

The following example shows how to display the FSM task queue for the server in chassis 1, slot 6:

UCS-A# scope server 1/6
UCS-A /chassis/server # show fsm task

FSM Task:
    Item             ID       Completion   FSM Flags
    ---------------- -------- ------------ ---------
    Powercycle        1154858 Scheduled
    BiosRecovery      1154860 Scheduled