xref: /openbmc/openbmc-test-automation/lib/ipmi_client.robot (revision 4d6c1dabefa990ea925ff481a0eeb47102acf0ea)
1b29d2e84SChris Austen*** Settings ***
2b29d2e84SChris AustenDocumentation   This module is for IPMI client for copying ipmitool to
3b29d2e84SChris Austen...             openbmc box and execute ipmitool commands.
4b29d2e84SChris Austen
5b29d2e84SChris AustenResource        ../lib/resource.txt
6*4d6c1dabSGeorge KeishingResource        ../lib/connection_client.robot
7b29d2e84SChris Austen
8b29d2e84SChris Austen*** Keywords ***
9b29d2e84SChris AustenRun IPMI Command
10b29d2e84SChris Austen    [arguments]    ${args}
11*4d6c1dabSGeorge Keishing    Copy ipmitool
12b29d2e84SChris Austen    ${output}   ${stderr}=  Execute Command    /tmp/ipmitool -I dbus raw ${args}  return_stderr=True
13b29d2e84SChris Austen    Should Be Empty 	${stderr}
14b29d2e84SChris Austen    set test variable    ${OUTPUT}     "${output}"
15b29d2e84SChris Austen
16b29d2e84SChris AustenRun IPMI Standard Command
17b29d2e84SChris Austen    [arguments]    ${args}
18*4d6c1dabSGeorge Keishing    Copy ipmitool
19b29d2e84SChris Austen    ${stdout}    ${stderr}    ${output}=  Execute Command    /tmp/ipmitool -I dbus ${args}    return_stdout=True    return_stderr= True    return_rc=True
20b29d2e84SChris Austen    Should Be Equal    ${output}    ${0}    msg=${stderr}
21b29d2e84SChris Austen    [return]    ${stdout}
22b29d2e84SChris Austen
23b29d2e84SChris AustenCopy ipmitool
24b29d2e84SChris Austen    OperatingSystem.File Should Exist   tools/ipmitool      msg=The ipmitool program could not be found in the tools directory. It is not part of the automation code by default. You must manually copy or link the correct openbmc version of the tool in to the tools directory in order to run this test suite.
25b29d2e84SChris Austen
26b29d2e84SChris Austen    Import Library      SCPLibrary      WITH NAME       scp
27b29d2e84SChris Austen    scp.Open connection     ${OPENBMC_HOST}     username=${OPENBMC_USERNAME}      password=${OPENBMC_PASSWORD}
28b29d2e84SChris Austen    scp.Put File    tools/ipmitool   /tmp
29b29d2e84SChris Austen    SSHLibrary.Open Connection     ${OPENBMC_HOST}
30b29d2e84SChris Austen    Login   ${OPENBMC_USERNAME}    ${OPENBMC_PASSWORD}
31b29d2e84SChris Austen    Execute Command     chmod +x /tmp/ipmitool
32