xref: /openbmc/openbmc-test-automation/lib/resource.robot (revision f7b4e6dfc334f8aec69d3da201923e12056ebf96)
1*** Settings ***
2Library           Collections
3Library           String
4Library           RequestsLibrary
5Library           OperatingSystem
6Variables         ../data/variables.py
7
8*** Variables ***
9
10# By default power, support x86 as well.
11${PLATFORM_ARCH_TYPE}             power
12
13# FFDC Redfish OEM path /<oem>/v1/
14${OEM_REDFISH_PATH}               ${EMPTY}
15
16${REDFISH_SUPPORT_TRANS_STATE}    ${1}
17
18# By default Delete all Redfish session per boot run.
19${REDFISH_DELETE_SESSIONS}        ${1}
20
21${OPENBMC_MODEL}           ${EMPTY}
22${OPENBMC_HOST}            ${EMPTY}
23${DBUS_PREFIX}             ${EMPTY}
24${PORT}                    ${EMPTY}
25
26# BMC ethernet eth0 and eth1 for multiple interfaces.
27# By default eth0 is assigned with OPENBMC_HOST
28${OPENBMC_HOST_ETH0}       ${OPENBMC_HOST}
29${OPENBMC_HOST_ETH1}       ${EMPTY}
30
31
32# AUTH_SUFFIX here is derived from variables.py
33${AUTH_URI}                https://${OPENBMC_HOST}${AUTH_SUFFIX}
34${OPENBMC_USERNAME}        root
35${OPENBMC_PASSWORD}        ${EMPTY}
36${OPENBMC_ADMIN_USERNAME}  admin
37${OPENBMC_ADMIN_PASSWORD}  ${EMPTY}
38
39# For users privilege admin or sudo.
40${USER_TYPE}               ${EMPTY}
41
42${MANAGER_ID}              bmc
43${CHASSIS_ID}              chassis
44${SYSTEM_ID}               system
45
46# MTLS_ENABLED indicates whether mTLS is enabled.
47${MTLS_ENABLED}            False
48# Valid mTLS certificate for authentication.
49${VALID_CERT}              ${EMPTY}
50# Path of mTLS certificates directory.
51${CERT_DIR_PATH}           ${EMPTY}
52
53${IPMI_USERNAME}           root
54# Assign BMC password as default. User can input using -v option to key in
55# IPMI password if different.
56${IPMI_PASSWORD}           ${OPENBMC_PASSWORD}
57
58${OPENBMC_REBOOT_TIMEOUT}   ${10}
59
60# IPMI_COMMAND here is set to "External" by default. User
61# can override to "Dbus" from command line.
62${IPMI_COMMAND}        External
63
64# IPMI chipher default.
65${IPMI_CIPHER_LEVEL}   ${17}
66
67# IPMI timeout default.
68${IPMI_TIMEOUT}        ${3}
69${GEN_ID_BYTE_1}       ${20}
70${GEN_ID_BYTE_2}       ${00}
71
72# Log default path for IPMI SOL.
73${IPMI_SOL_LOG_FILE}    ${EXECDIR}${/}logs${/}sol_${OPENBMC_HOST}
74
75# IPMI SOL console output types/parameters to verify.
76${SOL_BIOS_OUTPUT}          ${EMPTY}
77${SOL_LOGIN_OUTPUT}         ${EMPTY}
78
79# PDU related parameters
80${PDU_TYPE}         ${EMPTY}
81${PDU_IP}           ${EMPTY}
82${PDU_USERNAME}     ${EMPTY}
83${PDU_PASSWORD}     ${EMPTY}
84${PDU_SLOT_NO}      ${EMPTY}
85
86# User define input SSH and HTTPS related parameters
87${SSH_PORT}         22
88${HTTPS_PORT}       443
89${IPMI_PORT}        623
90${HOST_SOL_PORT}    2200
91${OPENBMC_SERIAL_HOST}      ${EMPTY}
92${OPENBMC_SERIAL_PORT}      ${EMPTY}
93${OPENBMC_CONSOLE_CLIENT}   ${EMPTY}
94
95# OS related parameters.
96${OS_HOST}          ${EMPTY}
97${OS_USERNAME}      ${EMPTY}
98${OS_PASSWORD}      ${EMPTY}
99${OS_WAIT_TIMEOUT}  ${15*60}
100
101# Networking related parameters
102${NETWORK_PORT}            80
103${PACKET_TYPE}             tcp
104${ICMP_PACKETS}            icmp
105${NETWORK_RETRY_TIME}      6
106${NETWORK_TIMEOUT}         18
107${ICMP_TIMESTAMP_REQUEST}  13
108${ICMP_ECHO_REQUEST}       8
109${CHANNEL_NUMBER}          1
110${SECONDARY_CHANNEL_NUMBER}      2
111${TCP_PACKETS}             tcp
112${TCP_CONNECTION}          tcp-connect
113${ICMP_NETMASK_REQUEST}    17
114${REDFISH_INTERFACE}       443
115${SYN_PACKETS}             SYN
116${RESET_PACKETS}           RST
117${FIN_PACKETS}             FIN
118${SYN_ACK_RESET}           SAR
119${ALL_FLAGS}               ALL
120
121# Used to set BMC static IPv4 configuration.
122${STATIC_IP}            10.10.10.10
123${NETMASK}              255.255.255.0
124${GATEWAY}              10.10.10.10
125
126# BMC debug tarball parameter
127${DEBUG_TARBALL_PATH}  ${EMPTY}
128
129# Upload Image parameters
130${TFTP_SERVER}                  ${EMPTY}
131${PNOR_TFTP_FILE_NAME}          ${EMPTY}
132${BMC_TFTP_FILE_NAME}           ${EMPTY}
133${IMAGE_FILE_PATH}              ${EMPTY}
134${ALTERNATE_IMAGE_FILE_PATH}    ${EMPTY}
135${PNOR_IMAGE_FILE_PATH}         ${EMPTY}
136${BMC_IMAGE_FILE_PATH}          ${EMPTY}
137${BAD_IMAGES_DIR_PATH}          ${EMPTY}
138${SKIP_UPDATE_IF_ACTIVE}        false
139
140# Parameters for doing N-1 and N+1 code updates.
141${N_MINUS_ONE_IMAGE_FILE_PATH}    ${EMPTY}
142${N_PLUS_ONE_IMAGE_FILE_PATH}     ${EMPTY}
143
144# The caller must set this to the string "true" in order to delete images. The
145# code is picky.
146${DELETE_OLD_PNOR_IMAGES}   false
147${DELETE_OLD_GUARD_FILE}    false
148
149# Caller can specify a value for LAST_KNOWN_GOOD_VERSION to indicate that if
150# the machine already has that version on it, the update should be skipped.
151${LAST_KNOWN_GOOD_VERSION}  ${EMPTY}
152
153# By default field mode is disabled.
154${FIELD_MODE}               ${False}
155
156# LDAP related variables.
157${LDAP_BASE_DN}             ${EMPTY}
158${LDAP_BIND_DN}             ${EMPTY}
159${LDAP_SERVER_HOST}         ${EMPTY}
160${LDAP_SECURE_MODE}         ${EMPTY}
161${LDAP_BIND_DN_PASSWORD}    ${EMPTY}
162${LDAP_SEARCH_SCOPE}        ${EMPTY}
163${LDAP_TYPE}                ${EMPTY}
164${LDAP_USER}                ${EMPTY}
165${LDAP_USER_PASSWORD}       ${EMPTY}
166${GROUP_PRIVILEGE}          ${EMPTY}
167${GROUP_NAME}               ${EMPTY}
168${LDAP_SERVER_URI}          ldap://${LDAP_SERVER_HOST}
169
170# General tool variables
171# FFDC_DEFAULT == 1; use Default FFDC methods
172${FFDC_DEFAULT}            ${1}
173
174# NTP Server Address
175# NTP Address needs to be given as an list.
176# For example,
177# 1 NTP Address - 14.139.60.103
178# 2 NTP Address - 14.139.60.103  14.139.60.106
179@{NTP_SERVER_ADDRESSES}    ${EMPTY}
180
181# Client related parameters
182${CLIENT_PASSWORD}         ${EMPTY}
183
184# Task Service related variables.
185${TASK_JSON_FILE_PATH}   data/task_state.json
186
187
188*** Keywords ***
189
190Get Inventory Schema
191    [Documentation]  Get inventory schema.
192    [Arguments]    ${machine}
193    RETURN    &{INVENTORY}[${machine}]
194
195Get Inventory Items Schema
196    [Documentation]  Get inventory items schema.
197    [Arguments]    ${machine}
198    RETURN    &{INVENTORY_ITEMS}[${machine}]
199
200Get Sensor Schema
201    [Documentation]  Get sensors schema.
202    [Arguments]    ${machine}
203    RETURN    &{SENSORS}[${machine}]
204