code: def pop_fw_state(self, compl_result, os_status, dcnm_status):
          
          res_list = compl_result.split('(')
          state_num = None
          if len(res_list) > 1:
              state_num = int(res_list[1].split(')')[0])
          else:
              if res_list[0] == fw_const.RESULT_FW_CREATE_INIT:
                  if os_status is None:
                      state_num = fw_const.INIT_STATE
              elif res_list[0] == fw_const.RESULT_FW_CREATE_DONE:
                  state_num = fw_const.FABRIC_PREPARE_DONE_STATE
              elif res_list[0] == fw_const.RESULT_FW_DELETE_INIT:
                  if os_status == fw_const.OS_CREATE_SUCCESS and (
                     dcnm_status == fw_const.DCNM_CREATE_SUCCESS):
                      state_num = fw_const.FABRIC_PREPARE_DONE_STATE
          return state_num
docs: Populate the state information in the cache.
  
          Check if state information is embedded in result
          If not:
          a. It's still in Init state and no SM is called yet
          b. The SM has completely run
          c. Delete has started and before any SM is run, it restarted.