1*** Settings ***
2Library           Collections
3Library           String
4Library           RequestsLibrary.RequestsKeywords
5Library           OperatingSystem
6Variables         ../data/variables.py
7
8*** Variables ***
9
10# Transition REST vs Redfish ONLY temporary changes for stagging
11# automation infrastructure change and for continuity.
12${REDFISH_SUPPORT_TRANS_STATE}    ${0}
13
14# By default Delete all Redfish session per boot run.
15${REDFISH_DELETE_SESSIONS}        ${1}
16
17${OPENBMC_MODEL}  ${EMPTY}
18${OPENBMC_HOST}   ${EMPTY}
19${DBUS_PREFIX}    ${EMPTY}
20${PORT}           ${EMPTY}
21# AUTH_SUFFIX here is derived from variables.py
22${AUTH_URI}       https://${OPENBMC_HOST}${AUTH_SUFFIX}
23${OPENBMC_USERNAME}    root
24${OPENBMC_PASSWORD}    0penBmc
25${REST_USERNAME}       root
26${REST_PASSWORD}       0penBmc
27
28# MTLS_ENABLED indicates whether mTLS is enabled.
29${MTLS_ENABLED}        False
30# Valid mTLS certificate for authentication.
31${VALID_CERT}          ${EMPTY}
32# Path of mTLS certificates directory.
33${CERT_DIR_PATH}       ${EMPTY}
34
35${IPMI_PASSWORD}       0penBmc
36${MACHINE_TYPE}    palmetto
37${DBUS_POLL_INTERVAL}      15s
38${OPENBMC_REBOOT_TIMEOUT}   ${10}
39# IPMI_COMMAND here is set to "External" by default. User
40# can override to "Dbus" from command line.
41${IPMI_COMMAND}    External
42# IPMI chipher default.
43${IPMI_CIPHER_LEVEL}  ${17}
44
45# PDU related parameters
46${PDU_TYPE}         ${EMPTY}
47${PDU_IP}           ${EMPTY}
48${PDU_USERNAME}     ${EMPTY}
49${PDU_PASSWORD}     ${EMPTY}
50${PDU_SLOT_NO}      ${EMPTY}
51
52# User define input SSH and HTTPS related parameters
53${SSH_PORT}         22
54${HTTPS_PORT}       443
55${IPMI_PORT}        623
56${HOST_SOL_PORT}    2200
57${OPENBMC_SERIAL_HOST}      ${EMPTY}
58${OPENBMC_SERIAL_PORT}      ${EMPTY}
59
60# OS related parameters.
61${OS_HOST}          ${EMPTY}
62${OS_USERNAME}      ${EMPTY}
63${OS_PASSWORD}      ${EMPTY}
64${OS_WAIT_TIMEOUT}  ${15*60}
65
66# Networking related parameters
67${NETWORK_PORT}            80
68${PACKET_TYPE}             tcp
69${ICMP_PACKETS}            icmp
70${NETWORK_RETRY_TIME}      6
71${NETWORK_TIMEOUT}         18
72${ICMP_TIMESTAMP_REQUEST}  13
73${ICMP_ECHO_REQUEST}       8
74${CHANNEL_NUMBER}          1
75
76# BMC debug tarball parameter
77${DEBUG_TARBALL_PATH}  ${EMPTY}
78
79# Upload Image parameters
80${TFTP_SERVER}                  ${EMPTY}
81${PNOR_TFTP_FILE_NAME}          ${EMPTY}
82${BMC_TFTP_FILE_NAME}           ${EMPTY}
83${IMAGE_FILE_PATH}              ${EMPTY}
84${ALTERNATE_IMAGE_FILE_PATH}    ${EMPTY}
85${PNOR_IMAGE_FILE_PATH}         ${EMPTY}
86${BMC_IMAGE_FILE_PATH}          ${EMPTY}
87${BAD_IMAGES_DIR_PATH}          ${EMPTY}
88${SKIP_UPDATE_IF_ACTIVE}        false
89
90# Parameters for doing N-1 and N+1 code updates.
91${N_MINUS_ONE_IMAGE_FILE_PATH}    ${EMPTY}
92${N_PLUS_ONE_IMAGE_FILE_PATH}     ${EMPTY}
93
94# The caller must set this to the string "true" in order to delete images. The
95# code is picky.
96${DELETE_OLD_PNOR_IMAGES}   false
97${DELETE_OLD_GUARD_FILE}    false
98
99# Caller can specify a value for LAST_KNOWN_GOOD_VERSION to indicate that if
100# the machine already has that version on it, the update should be skipped.
101${LAST_KNOWN_GOOD_VERSION}  ${EMPTY}
102
103# By default field mode is disabled.
104${FIELD_MODE}               ${False}
105
106# LDAP related variables.
107${LDAP_BASE_DN}             ${EMPTY}
108${LDAP_BIND_DN}             ${EMPTY}
109${LDAP_SERVER_HOST}         ${EMPTY}
110${LDAP_SECURE_MODE}         ${EMPTY}
111${LDAP_BIND_DN_PASSWORD}    ${EMPTY}
112${LDAP_SEARCH_SCOPE}        ${EMPTY}
113${LDAP_TYPE}                ${EMPTY}
114${LDAP_USER}                ${EMPTY}
115${LDAP_USER_PASSWORD}       ${EMPTY}
116
117*** Keywords ***
118Get Inventory Schema
119    [Documentation]  Get inventory schema.
120    [Arguments]    ${machine}
121    [Return]    &{INVENTORY}[${machine}]
122
123Get Inventory Items Schema
124    [Documentation]  Get inventory items schema.
125    [Arguments]    ${machine}
126    [Return]    &{INVENTORY_ITEMS}[${machine}]
127
128Get Sensor Schema
129    [Documentation]  Get sensors schema.
130    [Arguments]    ${machine}
131    [Return]    &{SENSORS}[${machine}]
132