xref: /openbmc/openbmc-test-automation/lib/ipmi_client.robot (revision b29d2e849d9c1e88270d6d2d5a61e01e9cefe6fb)
1*b29d2e84SChris Austen*** Settings ***
2*b29d2e84SChris AustenDocumentation           This module is for IPMI client for copying ipmitool to
3*b29d2e84SChris Austen...                     openbmc box and execute ipmitool commands.
4*b29d2e84SChris Austen
5*b29d2e84SChris AustenResource        ../lib/resource.txt
6*b29d2e84SChris Austen
7*b29d2e84SChris AustenLibrary                SSHLibrary
8*b29d2e84SChris AustenLibrary                OperatingSystem
9*b29d2e84SChris Austen
10*b29d2e84SChris Austen*** Keywords ***
11*b29d2e84SChris AustenOpen Connection And Log In
12*b29d2e84SChris Austen    Open connection     ${OPENBMC_HOST}
13*b29d2e84SChris Austen    Login   ${OPENBMC_USERNAME}    ${OPENBMC_PASSWORD}
14*b29d2e84SChris Austen    Copy ipmitool
15*b29d2e84SChris Austen
16*b29d2e84SChris AustenRun IPMI Command
17*b29d2e84SChris Austen    [arguments]    ${args}
18*b29d2e84SChris Austen    ${output}   ${stderr}=  Execute Command    /tmp/ipmitool -I dbus raw ${args}  return_stderr=True
19*b29d2e84SChris Austen    Should Be Empty 	${stderr}
20*b29d2e84SChris Austen    set test variable    ${OUTPUT}     "${output}"
21*b29d2e84SChris Austen
22*b29d2e84SChris AustenRun IPMI Standard Command
23*b29d2e84SChris Austen    [arguments]    ${args}
24*b29d2e84SChris Austen    ${stdout}    ${stderr}    ${output}=  Execute Command    /tmp/ipmitool -I dbus ${args}    return_stdout=True    return_stderr= True    return_rc=True
25*b29d2e84SChris Austen    Should Be Equal    ${output}    ${0}    msg=${stderr}
26*b29d2e84SChris Austen    [return]    ${stdout}
27*b29d2e84SChris Austen
28*b29d2e84SChris AustenCopy ipmitool
29*b29d2e84SChris 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.
30*b29d2e84SChris Austen
31*b29d2e84SChris Austen    Import Library      SCPLibrary      WITH NAME       scp
32*b29d2e84SChris Austen    scp.Open connection     ${OPENBMC_HOST}     username=${OPENBMC_USERNAME}      password=${OPENBMC_PASSWORD}
33*b29d2e84SChris Austen    scp.Put File    tools/ipmitool   /tmp
34*b29d2e84SChris Austen    SSHLibrary.Open Connection     ${OPENBMC_HOST}
35*b29d2e84SChris Austen    Login   ${OPENBMC_USERNAME}    ${OPENBMC_PASSWORD}
36*b29d2e84SChris Austen    Execute Command     chmod +x /tmp/ipmitool
37