FSM sam:dme:ComputeRackUnitDiscover

Rule ID:610

Discovery Fsm for rack servers
Applies to MO: compute:RackUnit

Name: Discover
Stage: post-explicit
Message: rack-mount server discovery id(FSM:sam:dme:ComputeRackUnitDiscover)

Begin State: SwPortDetailsLocal


States
 SwPortDetailsLocal
NO COMMENTS

  On Success: SwPortDetailsPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Fetching adaptor connectivity details for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwPortDetailsLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: false
   Data:
   Method: SwPortDetails

 SwPortDetailsPeer
NO COMMENTS

  On Success: SwConfigurePortChannelLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Fetching adaptor connectivity details for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwPortDetailsPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: false
   Data:
   Method: SwPortDetails

 SwConfigurePortChannelLocal
NO COMMENTS

  On Success: SwConfigurePortChannelPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring port channel for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigurePortChannelLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigurePortChannelLocal

 SwConfigurePortChannelPeer
NO COMMENTS

  On Success: BmcConfigureConnLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring port channel for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigurePortChannelPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigurePortChannelPeer

 BmcConfigureConnLocal
Set the new lease in BMC

  On Success: SwConfigureConnLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring connectivity on CIMC of server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcConfigureConnLocal)

  Notify:
   Target: sam:rsdAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBmcConfigureConnLocal

 SwConfigureConnLocal
Set the port configuration

  On Success: BmcConfigureConnPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring fabric-interconnect connectivity to CIMC of server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigureConnLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigureConnLocal

 BmcConfigureConnPeer
NO COMMENTS

  On Success: SwConfigureConnPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring connectivity on CIMC of server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcConfigureConnPeer)

  Notify:
   Target: sam:rsdAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBmcConfigureConnPeer

 SwConfigureConnPeer
NO COMMENTS

  On Success: BmcPresence
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring fabric-interconnect connectivity to CIMC of server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigureConnPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigureConnPeer

 BmcPresence
No-op stage

  On Success: BmcFactoryReset
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: checking CIMC of server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcPresence)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBmcPresence

 BmcFactoryReset
NO COMMENTS

  On Success: BmcInventory
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: performing factory reset of server id via CIMC(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcFactoryReset)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBmcFactoryReset

 BmcInventory
dimms, adaptors, adaptor interfaces, cpus etc ..

  On Success: PreSanitize
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: getting inventory of server id via CIMC(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcInventory)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBmcInventory

 PreSanitize
notify bmc to start collecting will boot info

  On Success: Sanitize
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Preparing to check hardware configuration server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PreSanitize)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverPreSanitize

 Sanitize
check if bmc collected the info, if yes then send the post codes back to dme

  On Success: ConfigUserAccess
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Checking hardware configuration server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:Sanitize)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSanitize

 ConfigUserAccess
NO COMMENTS

  On Success: BladePowerOff
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 100000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configuring external user access to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:ConfigUserAccess)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverConfigUserAccess

 BladePowerOff
NO COMMENTS

  On Success: NicConfigPnuOSLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: power on server id for discovery(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BladePowerOff)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBladePowerOff

 NicConfigPnuOSLocal
NO COMMENTS

  On Success: NicConfigPnuOSPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configure primary adapter in server id for pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:NicConfigPnuOSLocal)

  Notify:
   Target: sam:nicAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverNicConfigPnuOSLocal

 NicConfigPnuOSPeer
NO COMMENTS

  On Success: ConfigDiscoveryMode
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configure secondary adapter in server id for pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:NicConfigPnuOSPeer)

  Notify:
   Target: sam:nicAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverNicConfigPnuOSPeer

 ConfigDiscoveryMode
NO COMMENTS

  On Success: SwUnconfigPortNivLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 30000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: setting adapter mode to discovery for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:ConfigDiscoveryMode)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverConfigDiscoveryMode

 SwUnconfigPortNivLocal
NO COMMENTS

  On Success: SwUnconfigPortNivPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Unconfiguring primary fabric interconnect access to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwUnconfigPortNivLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: fabric:Locale
   Method: FsmComputeRackUnitDiscoverSwUnconfigPortNivLocal

 SwUnconfigPortNivPeer
NO COMMENTS

  On Success: SwConfigPnuOSLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Unconfiguring secondary fabric interconnect access to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwUnconfigPortNivPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: fabric:Locale
   Method: FsmComputeRackUnitDiscoverSwUnconfigPortNivPeer

 SwConfigPnuOSLocal
Deploy al the port configurations. Ports connected to adaptors and to BMC

  On Success: SwConfigPnuOSPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configure primary fabric interconnect for pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigPnuOSLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigPnuOSLocal

 SwConfigPnuOSPeer
Deploy al the port configurations. Ports connected to adaptors and to BMC

  On Success: UnconfigCimcVMedia
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configure secondary fabric interconnect for pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigPnuOSPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigPnuOSPeer

 UnconfigCimcVMedia
Deleted all mappings at BMC configured for scriptable vmedia.

  On Success: UnconfigExtMgmtRules
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: cleaning all bmc mappings for vmedia(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:UnconfigCimcVMedia)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:Physical
   Method: FsmComputeRackUnitDiscoverUnconfigCimcVMedia

 UnconfigExtMgmtRules
Deleted all ExtMgmt rules configured for scriptable vmedia.

  On Success: UnconfigExtMgmtGw
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: cleaning all ext mgmt rules for vmedia(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:UnconfigExtMgmtRules)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:Physical
   Method: FsmComputeRackUnitDiscoverUnconfigExtMgmtRules

 UnconfigExtMgmtGw
Deleted all ExtMgmt gateways at BMC configured for scriptable vmedia.

  On Success: BmcPreconfigPnuOSLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: cleaning all ext mgmt bmc gateway for vmedia(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:UnconfigExtMgmtGw)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:Physical
   Method: FsmComputeRackUnitDiscoverUnconfigExtMgmtGw

 BmcPreconfigPnuOSLocal
kILL EXISTING VMEDIA SESSIONS

  On Success: BmcPreconfigPnuOSPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: prepare configuration for preboot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcPreconfigPnuOSLocal)

  Notify:
   Target: sam:bladeAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:Physical
   Method: FsmComputeRackUnitDiscoverBmcPreconfigPnuOSLocal

 BmcPreconfigPnuOSPeer
kILL EXISTING VMEDIA SESSIONS

  On Success: BmcConfigPnuOS
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: prepare configuration for preboot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcPreconfigPnuOSPeer)

  Notify:
   Target: sam:bladeAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:Physical
   Method: FsmComputeRackUnitDiscoverBmcPreconfigPnuOSPeer

 BmcConfigPnuOS
set up vmedia session

  On Success: CheckPowerAvailability
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: provisioning a bootable device with a bootable pre-boot image for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcConfigPnuOS)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:Physical
   Method: FsmComputeRackUnitDiscoverBmcConfigPnuOS

 CheckPowerAvailability
NO COMMENTS

  On Success: PowerDeployWait
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Check if power can be allocated to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:CheckPowerAvailability)

  Notify:
   Target:
   Instance: active
   Purpose: mod
   Custom: true
   Data:

 PowerDeployWait
NO COMMENTS

  On Success: SolRedirectEnable
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 5000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Waiting for power allocation to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PowerDeployWait)

  Notify:
   Target:
   Instance: active
   Purpose: mod
   Custom: true
   Data:

 SolRedirectEnable
Set the BIOS token to enable SOL

  On Success: serialDebugConnect
  On Fail: BootPnuos
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_SKIP
  Retry Interval: 60000
  Retry Count: 1
  Unavailable: UNAVAIL_RETRY
  Message: set up bios token on server id for Sol redirect(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SolRedirectEnable)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSolRedirectEnable

 serialDebugConnect
Connect to the BMC at the port number specified for serial debug connect over SOL

  On Success: BootPnuos
  On Fail: BootPnuos
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_SKIP
  Retry Interval: 60000
  Retry Count: 1
  Unavailable: UNAVAIL_RETRY
  Message: Connect to pre-boot environment agent on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:serialDebugConnect)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSerialDebugConnect

 BootPnuos
Power down and power up the server

  On Success: BootWait
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: power server id on with pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BootPnuos)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBootPnuos

 BootWait
required otherwsie fake bios post completion notification can come

  On Success: BiosPostCompletion
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Waiting for system reset on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BootWait)

  Notify:
   Target:
   Instance: active
   Purpose: mod
   Custom: false
   Data:

 BiosPostCompletion
Check if BIOS post completed. If it didnt complete successfully then collect the post codes.

  On Success: ReadSmbios
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 90
  Unavailable: UNAVAIL_RETRY
  Message: Waiting for BIOS POST completion from CIMC on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BiosPostCompletion)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBiosPostCompletion

 ReadSmbios
NO COMMENTS

  On Success: hagConnect
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 10
  Unavailable: UNAVAIL_RETRY
  Message: Waiting for SMBIOS table from CIMC on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:ReadSmbios)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverReadSmbios

 hagConnect
what is this stage doing? How is it different then serialdebugconnect?

  On Success: PnuosBootWait
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Connect to pre-boot environment agent on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:hagConnect)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverHagConnect

 PnuosBootWait
NO COMMENTS

  On Success: PnuOSIdent
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Waiting for PNUOS to boot on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuosBootWait)

  Notify:
   Target:
   Instance: active
   Purpose: mod
   Custom: false
   Data:

 PnuOSIdent
why do we check vendor,model,seral again here?

  On Success: PnuOSPolicy
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Identify pre-boot environment agent on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSIdent)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   ProxyEp: hostag:agcore
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverPnuOSIdent

 PnuOSPolicy
NO COMMENTS

  On Success: PnuOSCatalog
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Populate pre-boot environment behavior policy to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSPolicy)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   ProxyEp: hostag:agcore
   Data: ls:AgentPolicy
   Method: FsmComputeRackUnitDiscoverPnuOSPolicy

 PnuOSCatalog
NO COMMENTS

  On Success: OobStorageConfig
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Populate pre-boot catalog to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSCatalog)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   ProxyEp: hostag:agcore
   Data: capability:Catalogue
   Method: FsmComputeRackUnitDiscoverPnuOSCatalog

 OobStorageConfig
Any configuration on the storage side which needs to be done by the OOB prior to inventory. We start with the SubOEM ID programming and can be extended for other modules in the future

  On Success: PnuOSInventory
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configure the storage configuration settings of server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:OobStorageConfig)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverOobStorageConfig

 PnuOSInventory
NO COMMENTS

  On Success: OobStorageInventory
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 240000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Perform inventory of server id pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSInventory)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: false
   ProxyEp: hostag:agcore
   Data:
   Method: FsmComputeRackUnitDiscoverPnuOSInventory

 OobStorageInventory
NO COMMENTS

  On Success: ConfigFlexFlashScrub
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 30
  Unavailable: UNAVAIL_RETRY
  Message: getting oob storage inventory of server id via CIMC(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:OobStorageInventory)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverOobStorageInventory

 ConfigFlexFlashScrub
FlexFlash Configuration

  On Success: PnuOSScrub
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 20000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring FlexFlash Scrub on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:ConfigFlexFlashScrub)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverConfigFlexFlashScrub

 PnuOSScrub
NO COMMENTS

  On Success: SwHostOSMultiPortConnectivityLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Scrub server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSScrub)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   ProxyEp: hostag:agcore
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverPnuOSScrub

 SwHostOSMultiPortConnectivityLocal
NO COMMENTS

  On Success: SwHostOSMultiPortConnectivityPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Fetching adaptor connectivity details for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwHostOSMultiPortConnectivityLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: false
   Data:
   Method: SwPortDetails

 SwHostOSMultiPortConnectivityPeer
NO COMMENTS

  On Success: SwHostOSConfigurePortChannelLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Fetching adaptor connectivity details for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwHostOSMultiPortConnectivityPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: false
   Data:
   Method: SwPortDetails

 SwHostOSConfigurePortChannelLocal
NO COMMENTS

  On Success: SwHostOSConfigurePortChannelPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring port channel for multi-port adaptor on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwHostOSConfigurePortChannelLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwHostOSConfigurePortChannelLocal

 SwHostOSConfigurePortChannelPeer
NO COMMENTS

  On Success: PnuOSConnectivity
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Configuring port channel for multi-port adaptor on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwHostOSConfigurePortChannelPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwHostOSConfigurePortChannelPeer

 PnuOSConnectivity
Request DHCP leases on every adaptor interface

  On Success: waitForConnReady
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Explore connectivity of server id in pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSConnectivity)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   ProxyEp: hostag:agcore
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverPnuOSConnectivity

 waitForConnReady
NO COMMENTS

  On Success: PnuOSConnStatus
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 10000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: wait for connection to be established(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:waitForConnReady)

  Notify:
   Target:
   Instance: active
   Purpose: mod
   Custom: false
   Data:

 PnuOSConnStatus
Check the status of dhcp leases. If given then collect them and send the stimilus back to dme

  On Success: SwPnuOSConnectivityLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Explore connectivity of server id in pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSConnStatus)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   ProxyEp: hostag:agcore
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverPnuOSConnStatus

 SwPnuOSConnectivityLocal
NO COMMENTS

  On Success: SwPnuOSConnectivityPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: determine connectivity of server id to fabric(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwPnuOSConnectivityLocal)

  Notify:
   Target: sam:rsdAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwPnuOSConnectivityLocal

 SwPnuOSConnectivityPeer
NO COMMENTS

  On Success: PnuOSSelfTest
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: determine connectivity of server id to fabric(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwPnuOSConnectivityPeer)

  Notify:
   Target: sam:rsdAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwPnuOSConnectivityPeer

 PnuOSSelfTest
NO COMMENTS

  On Success: BmcUnconfigPnuOS
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 30000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Trigger self-test of server id pre-boot environment(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:PnuOSSelfTest)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: retrieval
   Custom: false
   ProxyEp: hostag:agcore
   Data:
   Method: FsmComputeRackUnitDiscoverPnuOSSelfTest

 BmcUnconfigPnuOS
NO COMMENTS

  On Success: hagDisconnect
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 40000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: unprovisioning the bootable device for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcUnconfigPnuOS)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: false
   Data:
   Method: FsmComputeRackUnitDiscoverBmcUnconfigPnuOS

 hagDisconnect
NO COMMENTS

  On Success: serialDebugDisconnect
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Disconnect pre-boot environment agent for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:hagDisconnect)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverHagDisconnect

 serialDebugDisconnect
NO COMMENTS

  On Success: SolRedirectDisable
  On Fail: SolRedirectDisable
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_SKIP
  Retry Interval: 60000
  Retry Count: 1
  Unavailable: UNAVAIL_RETRY
  Message: Disconnect pre-boot environment agent for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:serialDebugDisconnect)

  Notify:
   Target: sam:hostagentAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSerialDebugDisconnect

 SolRedirectDisable
NO COMMENTS

  On Success: SwConfigPortNivLocal
  On Fail: SwConfigPortNivLocal
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_SKIP
  Retry Interval: 60000
  Retry Count: 1
  Unavailable: UNAVAIL_RETRY
  Message: Disable Sol Redirection on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SolRedirectDisable)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSolRedirectDisable

 SwConfigPortNivLocal
NO COMMENTS

  On Success: SwConfigPortNivPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configuring primary fabric interconnect access to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigPortNivLocal)

  Notify:
   Target: sam:portAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigPortNivLocal

 SwConfigPortNivPeer
NO COMMENTS

  On Success: NicInventoryLocal
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: configuring secondary fabric interconnect access to server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:SwConfigPortNivPeer)

  Notify:
   Target: sam:portAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverSwConfigPortNivPeer

 NicInventoryLocal
Not sure what thsi stage is doing.. :) .. Please look at the code.

  On Success: NicInventoryPeer
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: detect and get mezz cards information from id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:NicInventoryLocal)

  Notify:
   Target: sam:nicAG
   Instance: self
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverNicInventoryLocal

 NicInventoryPeer
Not sure what thsi stage is doing.. :) .. Please look at the code.

  On Success: ConfigNivMode
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: detect and get mezz cards information from id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:NicInventoryPeer)

  Notify:
   Target: sam:nicAG
   Instance: peer
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverNicInventoryPeer

 ConfigNivMode
NO COMMENTS

  On Success: BmcShutdownDiscovered
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 30000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: setting adapter mode to NIV for server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:ConfigNivMode)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverConfigNivMode

 BmcShutdownDiscovered
NO COMMENTS

  On Success: HandlePooling
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Shutdown the server id; deep discovery completed(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:BmcShutdownDiscovered)

  Notify:
   Target: sam:bladeAG
   Instance: active
   Purpose: mod
   Custom: true
   Data: compute:RackUnit
   Method: FsmComputeRackUnitDiscoverBmcShutdownDiscovered

 HandlePooling
NO COMMENTS

  On Success:
  On Fail:
  Restart: INIT_RESET
  Retry: RETRY_FINITE
  Retry Exhaust: RETRY_EXHAUST_RESET_FSM
  Retry Interval: 60000
  Retry Count: 20
  Unavailable: UNAVAIL_RETRY
  Message: Invoke post-discovery policies on server id(FSM-STAGE:sam:dme:ComputeRackUnitDiscover:HandlePooling)

  Notify:
   Target:
   Instance: active
   Purpose: mod
   Custom: true
   Data: