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