Skip to content

Draft: [MCCS-1970] Add TPM_COMMS_DISABLED key to Tile Orchestrator

Bug description

  1. Get a MccsTile in the On state.
  2. turn MccsTile adminMode OFFLINE #observer state correctly transitions to DISABLE

3.Turn MccsTile adminMode ONLINE #observe state incorrectly stays in DISABLE

When turning the Tile OFFLINE the tile orchestrator would call stop_communicating_with_tpm and report_communication_disabled this would set the communication state DISABLED, and then call the TpmDriver stop_communicating. This would ask it to stop the polling loop (after its finished) once finished it would set its communication state to DISABLE this is carried back to TileOrchestrator where it is ignored.

The solution here is to not ignore this information but use it to change the state. Instead of OFFLINE calling stop_communicating_with_tpm and report_communication_disabled it calls only stop_communicating_with_tpm. The TpmDriver realises the comms are DISABLED, it will callback and inform the TileOrchestrator of the disconnect, at this point the we call report_communication_disabled and report_tpm_power_unknown.

Edited by Alistair Child

Merge request reports