*** 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

*** 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 Exection.

    ${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
