1*** Settings ***
2Library           Collections
3Library           String
4Library           RequestsLibrary.RequestsKeywords
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# Transition REST vs Redfish ONLY temporary changes for stagging
17# automation infrastructure change and for continuity.
18${REDFISH_SUPPORT_TRANS_STATE}    ${0}
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# AUTH_SUFFIX here is derived from variables.py
28${AUTH_URI}       https://${OPENBMC_HOST}${AUTH_SUFFIX}
29${OPENBMC_USERNAME}    root
30${OPENBMC_PASSWORD}    0penBmc
31${REST_USERNAME}       root
32${REST_PASSWORD}       0penBmc
33${OPENBMC_ADMIN_PASSWORD}  0penBmc
34${SERVICE_USER_PASSWORD}   0penBmc
35
36# For users privilege admin or sudo.
37${USER_TYPE}          ${EMPTY}
38
39${CHASSIS_ID}  chassis
40${COMPONENT_NAME_OF_POWER_SUPPLY}  powersupply
41
42# MTLS_ENABLED indicates whether mTLS is enabled.
43${MTLS_ENABLED}        False
44# Valid mTLS certificate for authentication.
45${VALID_CERT}          ${EMPTY}
46# Path of mTLS certificates directory.
47${CERT_DIR_PATH}       ${EMPTY}
48
49${IPMI_USERNAME}       root
50${IPMI_PASSWORD}       0penBmc
51${MACHINE_TYPE}    palmetto
52${DBUS_POLL_INTERVAL}      15s
53${OPENBMC_REBOOT_TIMEOUT}   ${10}
54# IPMI_COMMAND here is set to "External" by default. User
55# can override to "Dbus" from command line.
56${IPMI_COMMAND}    External
57# IPMI chipher default.
58${IPMI_CIPHER_LEVEL}  ${17}
59# IPMI timeout default.
60${IPMI_TIMEOUT}       ${3}
61
62# Log default path for IPMI SOL.
63${IPMI_SOL_LOG_FILE}    ${EXECDIR}${/}logs${/}sol_${OPENBMC_HOST}
64
65# PDU related parameters
66${PDU_TYPE}         ${EMPTY}
67${PDU_IP}           ${EMPTY}
68${PDU_USERNAME}     ${EMPTY}
69${PDU_PASSWORD}     ${EMPTY}
70${PDU_SLOT_NO}      ${EMPTY}
71
72# User define input SSH and HTTPS related parameters
73${SSH_PORT}         22
74${HTTPS_PORT}       443
75${IPMI_PORT}        623
76${HOST_SOL_PORT}    2200
77${OPENBMC_SERIAL_HOST}      ${EMPTY}
78${OPENBMC_SERIAL_PORT}      ${EMPTY}
79
80# OS related parameters.
81${OS_HOST}          ${EMPTY}
82${OS_USERNAME}      ${EMPTY}
83${OS_PASSWORD}      ${EMPTY}
84${OS_WAIT_TIMEOUT}  ${15*60}
85
86# Networking related parameters
87${NETWORK_PORT}            80
88${PACKET_TYPE}             tcp
89${ICMP_PACKETS}            icmp
90${NETWORK_RETRY_TIME}      6
91${NETWORK_TIMEOUT}         18
92${ICMP_TIMESTAMP_REQUEST}  13
93${ICMP_ECHO_REQUEST}       8
94${CHANNEL_NUMBER}          1
95${TCP_PACKETS}             tcp
96${ICMP_NETMASK_REQUEST}    17
97${REDFISH_INTERFACE}       443
98${SYN_PACKETS}             SYN
99${RESET_PACKETS}           RST
100${FIN_PACKETS}             FIN
101${SYN_ACK_RESET}           SAR
102${ALL_FLAGS}               ALL
103# Used to set BMC static IPv4 configuration.
104${STATIC_IP}            10.10.10.10
105${NETMASK}              255.255.255.0
106${GATEWAY}              10.10.10.10
107
108# BMC debug tarball parameter
109${DEBUG_TARBALL_PATH}  ${EMPTY}
110
111# Upload Image parameters
112${TFTP_SERVER}                  ${EMPTY}
113${PNOR_TFTP_FILE_NAME}          ${EMPTY}
114${BMC_TFTP_FILE_NAME}           ${EMPTY}
115${IMAGE_FILE_PATH}              ${EMPTY}
116${ALTERNATE_IMAGE_FILE_PATH}    ${EMPTY}
117${PNOR_IMAGE_FILE_PATH}         ${EMPTY}
118${BMC_IMAGE_FILE_PATH}          ${EMPTY}
119${BAD_IMAGES_DIR_PATH}          ${EMPTY}
120${SKIP_UPDATE_IF_ACTIVE}        false
121
122# Parameters for doing N-1 and N+1 code updates.
123${N_MINUS_ONE_IMAGE_FILE_PATH}    ${EMPTY}
124${N_PLUS_ONE_IMAGE_FILE_PATH}     ${EMPTY}
125
126# The caller must set this to the string "true" in order to delete images. The
127# code is picky.
128${DELETE_OLD_PNOR_IMAGES}   false
129${DELETE_OLD_GUARD_FILE}    false
130
131# Caller can specify a value for LAST_KNOWN_GOOD_VERSION to indicate that if
132# the machine already has that version on it, the update should be skipped.
133${LAST_KNOWN_GOOD_VERSION}  ${EMPTY}
134
135# By default field mode is disabled.
136${FIELD_MODE}               ${False}
137
138# LDAP related variables.
139${LDAP_BASE_DN}             ${EMPTY}
140${LDAP_BIND_DN}             ${EMPTY}
141${LDAP_SERVER_HOST}         ${EMPTY}
142${LDAP_SECURE_MODE}         ${EMPTY}
143${LDAP_BIND_DN_PASSWORD}    ${EMPTY}
144${LDAP_SEARCH_SCOPE}        ${EMPTY}
145${LDAP_TYPE}                ${EMPTY}
146${LDAP_USER}                ${EMPTY}
147${LDAP_USER_PASSWORD}       ${EMPTY}
148${GROUP_PRIVILEGE}          ${EMPTY}
149${GROUP_NAME}               ${EMPTY}
150${LDAP_SERVER_URI}          ldap://${LDAP_SERVER_HOST}
151
152# General tool variables
153# FFDC_DEFAULT == 1; use Default FFDC methods
154${FFDC_DEFAULT}            ${1}
155
156*** Keywords ***
157Get Inventory Schema
158    [Documentation]  Get inventory schema.
159    [Arguments]    ${machine}
160    [Return]    &{INVENTORY}[${machine}]
161
162Get Inventory Items Schema
163    [Documentation]  Get inventory items schema.
164    [Arguments]    ${machine}
165    [Return]    &{INVENTORY_ITEMS}[${machine}]
166
167Get Sensor Schema
168    [Documentation]  Get sensors schema.
169    [Arguments]    ${machine}
170    [Return]    &{SENSORS}[${machine}]
171