*** Settings ***
Documentation    Module to test In band firmware update.

Resource         ../../lib/ipmi_client.robot
Resource         ../../lib/openbmc_ffdc.robot
Resource         ../../lib/connection_client.robot
Resource         ../../lib/code_update_utils.robot

Suite Setup      Suite Setup Execution

Test Tags       IPMI_Flash

*** Variables ***

${image-bios}        image-bios
${image-bios-sig}    image-bios.sig
${image-bmc}         image-bmc
${image-bmc-sig}     image-bmc.sig
${BAD_IMG}           tmp.bin
${BAD_SIG}           tmp.sig
${lpcshm_address}    ${0}

*** Test Cases ***

Test BIOS Firmware Update
    [Documentation]  Test BIOS firmware update over IPMI.
    [Tags]  Test_BIOS_Firmware_Update

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  3 mins

    Get LPC SHM Address
    Update BIOS Firmware  ${IMAGE_HOST_FILE_PATH_0}
    Verify BIOS Version  ${IMAGE_HOST_FILE_PATH_0}
    BMC Execute Command
    ...  systemctl restart phosphor-ipmi-host.service
    Sleep  10s
    Get LPC SHM Address
    Update BIOS Firmware  ${IMAGE_HOST_FILE_PATH_1}
    Verify BIOS Version  ${IMAGE_HOST_FILE_PATH_1}
    BMC Execute Command
    ...  systemctl restart phosphor-ipmi-host.service
    Sleep  10s

Test Invalid BIOS Firmware Update
    [Documentation]  Test Invalid BIOS firmware update over IPMI.
    [Tags]  Test_Invalid_BIOS_Firmware_Update

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  3 mins
    Get LPC SHM Address

    ${cmd}=  Catenate  ${HOST_WORK_DIR}/burn_my_bmc --command update --interface ipmilpc
    ...  --image ${HOST_WORK_DIR}/${BAD_IMG} --sig ${HOST_WORK_DIR}/${BAD_SIG} --type bios
    ...  --address 0x${lpcshmaddress} --length 0xFFC

    ${output}  ${stderr}  ${rc}=  OS Execute Command  ${cmd}  ignore_err=1
    Should Contain  ${stderr}  Verification failed

Test BMC Firmware Update
    [Documentation]  Test BMC firmware update over IPMI.
    [Tags]  Test_BMC_Firmware_Update

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  3 mins
    Get LPC SHM Address
    Update BMC Firmware  ${IMAGE_BMC_FILE_PATH_0}
    Verify BMC Version  ${IMAGE_BMC_FILE_PATH_0}
    Sleep  10s
    Update BMC Firmware  ${IMAGE_BMC_FILE_PATH_1}
    Verify BMC Version  ${IMAGE_BMC_FILE_PATH_1}

Test Invalid BMC Firmware Update
    [Documentation]  Test Invalid BMC firmware update over IPMI.
    [Tags]  Test_Invalid_BMC_Firmware_Update

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  3 mins
    Get LPC SHM Address

    ${cmd}=  Catenate  ${HOST_WORK_DIR}/burn_my_bmc --command update --interface ipmilpc
    ...  --image ${HOST_WORK_DIR}/${BAD_IMG} --sig ${HOST_WORK_DIR}/${BAD_SIG} --type image
    ...  --address 0x${lpcshmaddress} --length 0xFFC

    ${output}  ${stderr}  ${rc}=  OS Execute Command  ${cmd}  ignore_err=1
    Should Contain  ${stderr}  Verification failed


*** Keywords ***

Suite Setup Execution
    [Documentation]  Suite Setup Execution.

    ${os_state}=  Get Host State Attribute  OperatingSystemState
    Rprint Vars  os_state
    Run Keyword if  '${OS_BOOT_COMPLETE}' != '${os_state}'
    ...  Redfish Power On

    # generate bad image for test
    ${cmd}=  Catenate  dd if=/dev/urandom of=${HOST_WORK_DIR}/${BAD_IMG} bs=1K count=4
    OS Execute Command  ${cmd}  ignore_err=1
    ${cmd}=  Catenate  dd if=/dev/urandom of=${HOST_WORK_DIR}/${BAD_SIG} bs=1 count=128
    OS Execute Command  ${cmd}  ignore_err=1


Get LPC SHM Address
    [Documentation]  Get Mapped Address of LPC hare Memory.

    # select SHM logic device
    OS Execute Command  outb 0x4e 0x07
    OS Execute Command  outb 0x4f 0x0f

    OS Execute Command  outb 0x4e 0xf4
    ${output}  ${stderr}  ${rc}=  OS Execute Command  inb 0x4f
    ${output}=  Evaluate  ${output} + 4
    ${b0}=  Convert To Hex  ${output}  length=2

    OS Execute Command  outb 0x4e 0xf5
    ${output}  ${stderr}  ${rc}=  OS Execute Command  inb 0x4f
    ${b1}=  Convert To Hex  ${output}  length=2

    OS Execute Command  outb 0x4e 0xf6
    ${output}  ${stderr}  ${rc}=  OS Execute Command  inb 0x4f
    ${b2}=  Convert To Hex  ${output}  length=2

    OS Execute Command  outb 0x4e 0xf7
    ${output}  ${stderr}  ${rc}=  OS Execute Command  inb 0x4f
    ${b3}=  Convert To Hex  ${output}  length=2

    Set Global Variable  ${lpcshm_address}  ${b3}${b2}${b1}${b0}
    Rprint Vars  lpcshm_address

BIOS Update Status Should Be
    [Documentation]  Check the Update Process is Activating.
    [Arguments]  ${state}

    # Description of argument(s):
    # state   The state of update process.

    ${cmd}=  Catenate  systemctl show --property=ActiveState --property=LoadState
    ...  --property=Result phosphor-ipmi-flash-bios-update.service
    ${output}  ${stderr}  ${rc}=  BMC Execute Command  ${cmd}

    Should Contain  ${output}  ${state}  case_insensitive=True

Verify BIOS Version
    [Documentation]  Verify BIOS Version.
    [Arguments]      ${image_file_path}

    # Description of argument(s):
    # image_file_path   Path to the image tarball.

    ${image_version}=  Get Version Tar  ${image_file_path}
    Rprint Vars  image_version

    ${BIOS_Version}=  Get BIOS Version
    Rprint Vars  BIOS_Version
    Should Be Equal  ${BIOS_Version}  ${image_version}

Verify BMC Version
    [Documentation]  Verify that the version on the BMC is the same as the
    ...              version in the given image via Redfish.
    [Arguments]      ${image_file_path}

    # Description of argument(s):
    # image_file_path   Path to the image tarball.

    # Extract the version from the image tarball on our local system.
    ${image_version}=  Get Version Tar  ${image_file_path}
    Rprint Vars  image_version
    Redfish.Login
    ${bmc_version}=  Redfish Get BMC Version
    Rprint Vars  bmc_version

    Valid Value  bmc_version  valid_values=['${image_version}']

Update BIOS Firmware
    [Documentation]  Update BIOS Firmware.
    [Arguments]      ${image_file_path}

    # Description of argument(s):
    # image_file_path   Path to the image tarball.

    OperatingSystem.File Should Exist  ${image_file_path}

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  3 mins

    scp.Open connection  ${OS_HOST}  username=${OS_USERNAME}
    ...  password=${OS_PASSWORD}
    scp.Put File  ${image_file_path}  ${HOST_WORK_DIR}/${image_file_path}

    ${cmd}=  Catenate  tar -xf ${HOST_WORK_DIR}/${image_file_path} -C ${HOST_WORK_DIR}
    ${output}  ${stderr}  ${rc}=  OS Execute Command  ${cmd}

    ${cmd}=  Catenate  ${HOST_WORK_DIR}/burn_my_bmc --command update --interface ipmilpc
    ...  --image ${HOST_WORK_DIR}/${image-bios} --sig ${HOST_WORK_DIR}/${image-bios-sig} --type bios
    ...  --address 0x${lpcshm_address} --length 0xFFC

    OS Execute Command  ${cmd}  fork=1

    Wait Until Keyword Succeeds  5 mins  10 secs
    ...  BIOS Update Status Should Be  ActiveState=activating

    Wait Until Keyword Succeeds  20 mins  30 secs
    ...  BIOS Update Status Should Be  ActiveState=inactive

    ${cmd}=  Catenate  systemctl show --property=Result
    ...  phosphor-ipmi-flash-bios-update.service
    ${output}  ${stderr}  ${rc}=  BMC Execute Command  ${cmd}
    Should Contain  ${output}  Result=success

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  5 mins

Update BMC Firmware
    [Documentation]  Update BIOS Firmware.
    [Arguments]      ${image_file_path}

    # Description of argument(s):
    # image_file_path   Path to the image tarball.

    OperatingSystem.File Should Exist  ${image_file_path}

    Run Keyword  Wait For Host To Ping  ${OS_HOST}  3 mins

    scp.Open connection  ${OS_HOST}  username=${OS_USERNAME}
    ...  password=${OS_PASSWORD}
    scp.Put File  ${image_file_path}  ${HOST_WORK_DIR}/${image_file_path}

    ${cmd}=  Catenate  tar -xf ${HOST_WORK_DIR}/${image_file_path} -C ${HOST_WORK_DIR}
    ${output}  ${stderr}  ${rc}=  OS Execute Command  ${cmd}

    ${cmd}=  Catenate  ${HOST_WORK_DIR}/burn_my_bmc --command update --interface ipmilpc
    ...  --image ${HOST_WORK_DIR}/${image-bmc} --sig ${HOST_WORK_DIR}/${image-bmc-sig} --type image
    ...  --address 0x${lpcshm_address} --length 0xFFC --ignore-update

    ${output}  ${stderr}  ${rc}=  OS Execute Command  ${cmd}  ignore_err=1
    Should Not Contain  ${stderr}  Exception received

    Sleep  10s
    Check If BMC is Up  20 min  20 sec
    Wait For BMC Ready
