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