1import os 2 3OPENBMC_BASE_URI = '/xyz/openbmc_project/' 4OPENBMC_BASE_DBUS = 'xyz.openbmc_project.' 5 6# org open power base URI. 7OPENPOWER_BASE_URI = '/org/open_power/' 8OPENPOWER_CONTROL = OPENPOWER_BASE_URI + 'control/' 9OPENPOWER_SENSORS = OPENPOWER_BASE_URI + 'sensors/' 10 11# REST URI base endpoint paths. 12CONTROL_URI = OPENBMC_BASE_URI + 'control/' 13# old vs new code dependencies in many places. 14# TODO: remove when ready. 15SETTINGS_URI = '/org/openbmc/settings/' 16WATCHDOG_URI = OPENBMC_BASE_URI + 'watchdog/' 17TIME_MANAGER_URI = OPENBMC_BASE_URI + 'time/' 18NETWORK_MANAGER = OPENBMC_BASE_URI + 'network/' 19# SNMP 20SNMP_MANAGER_URI = NETWORK_MANAGER + 'snmp/manager/' 21# Sensors base variables. 22SENSORS_URI = OPENBMC_BASE_URI + 'sensors/' 23 24# State Manager base variables 25BMC_REBOOT_TRANS = 'xyz.openbmc_project.State.BMC.Transition.Reboot' 26 27HOST_POWEROFF_TRANS = 'xyz.openbmc_project.State.Host.Transition.Off' 28HOST_POWERON_TRANS = 'xyz.openbmc_project.State.Host.Transition.On' 29HOST_REBOOT_TRANS = 'xyz.openbmc_project.State.Host.Transition.Reboot' 30HOST_POWEROFF_STATE = 'xyz.openbmc_project.State.Host.HostState.Off' 31HOST_POWERON_STATE = 'xyz.openbmc_project.State.Host.HostState.Running' 32 33CHASSIS_POWEROFF_TRANS = 'xyz.openbmc_project.State.Chassis.Transition.Off' 34CHASSIS_POWERON_TRANS = 'xyz.openbmc_project.State.Chassis.Transition.On' 35CHASSIS_POWEROFF_STATE = 'xyz.openbmc_project.State.Chassis.PowerState.Off' 36CHASSIS_POWERON_STATE = 'xyz.openbmc_project.State.Chassis.PowerState.On' 37 38# State Manager URI variables. 39SYSTEM_STATE_URI = OPENBMC_BASE_URI + 'state/' 40BMC_STATE_URI = OPENBMC_BASE_URI + 'state/bmc0/' 41HOST_STATE_URI = OPENBMC_BASE_URI + 'state/host0/' 42CHASSIS_STATE_URI = OPENBMC_BASE_URI + 'state/chassis0/' 43HOST_WATCHDOG_URI = OPENBMC_BASE_URI + 'watchdog/host0/' 44 45# Logging URI variables 46BMC_LOGGING_URI = OPENBMC_BASE_URI + 'logging/' 47BMC_LOGGING_ENTRY = BMC_LOGGING_URI + 'entry/' 48 49# Software manager version 50SOFTWARE_VERSION_URI = OPENBMC_BASE_URI + 'software/' 51ACTIVE = 'xyz.openbmc_project.Software.Activation.Activations.Active' 52READY = 'xyz.openbmc_project.Software.Activation.Activations.Ready' 53INVALID = 'xyz.openbmc_project.Software.Activation.Activations.Invalid' 54ACTIVATING = 'xyz.openbmc_project.Software.Activation.Activations.Activating' 55NOTREADY = 'xyz.openbmc_project.Software.Activation.Activations.NotReady' 56FAILED = 'xyz.openbmc_project.Software.Activation.Activations.Failed' 57 58SOFTWARE_ACTIVATION = 'xyz.openbmc_project.Software.Activation' 59REQUESTED_ACTIVATION = SOFTWARE_ACTIVATION + '.RequestedActivations' 60REQUESTED_ACTIVE = REQUESTED_ACTIVATION + '.Active' 61REQUESTED_NONE = REQUESTED_ACTIVATION + '.None' 62 63SOFTWARE_PURPOSE = 'xyz.openbmc_project.Software.Version.VersionPurpose' 64VERSION_PURPOSE_HOST = SOFTWARE_PURPOSE + '.Host' 65VERSION_PURPOSE_BMC = SOFTWARE_PURPOSE + '.BMC' 66VERSION_PURPOSE_SYSTEM = SOFTWARE_PURPOSE + '.System' 67 68# Image Upload Directory Path 69IMAGE_UPLOAD_DIR_PATH = '/tmp/images/' 70 71# Inventory URI 72HOST_INVENTORY_URI = OPENBMC_BASE_URI + 'inventory/' 73 74# Led URI variable 75LED_GROUPS_URI = OPENBMC_BASE_URI + 'led/groups/' 76LED_PHYSICAL_URI = OPENBMC_BASE_URI + 'led/physical/' 77LED_LAMP_TEST_ASSERTED_URI = LED_GROUPS_URI + 'lamp_test/' 78LED_PHYSICAL_PS0_URI = LED_PHYSICAL_URI + 'cffps1_69/' 79LED_PHYSICAL_PS1_URI = LED_PHYSICAL_URI + 'cffps1_68/' 80LED_PHYSICAL_FAN0_URI = LED_PHYSICAL_URI + 'fan0/' 81LED_PHYSICAL_FAN2_URI = LED_PHYSICAL_URI + 'fan2/' 82LED_PHYSICAL_FAN3_URI = LED_PHYSICAL_URI + 'fan3/' 83 84# Host control URI variables. 85CONTROL_HOST_URI = OPENBMC_BASE_URI + 'control/host0/' 86 87# Power restore variables. 88POWER_RESTORE_URI = CONTROL_HOST_URI + 'power_restore_policy' 89CONTROL_DBUS_BASE = 'xyz.openbmc_project.Control.' 90 91RESTORE_LAST_STATE = CONTROL_DBUS_BASE + 'Power.RestorePolicy.Policy.Restore' 92ALWAYS_POWER_ON = CONTROL_DBUS_BASE + 'Power.RestorePolicy.Policy.AlwaysOn' 93ALWAYS_POWER_OFF = CONTROL_DBUS_BASE + 'Power.RestorePolicy.Policy.AlwaysOff' 94 95# Dump URI variables. 96DUMP_URI = OPENBMC_BASE_URI + 'dump/' 97DUMP_ENTRY_URI = DUMP_URI + 'entry/' 98DUMP_DOWNLOAD_URI = "/download/dump/" 99# The path on the BMC where dumps are stored. 100DUMP_DIR_PATH = "/var/lib/phosphor-debug-collector/dumps/" 101 102# Boot progress variables. 103STATE_DBUS_BASE = 'xyz.openbmc_project.State.' 104OS_BOOT_START = STATE_DBUS_BASE + 'Boot.Progress.ProgressStages.OSStart' 105OS_BOOT_OFF = STATE_DBUS_BASE + 'Boot.Progress.ProgressStages.Unspecified' 106OS_BOOT_PCI = STATE_DBUS_BASE + 'Boot.Progress.ProgressStages.PCIInit' 107OS_BOOT_SECPCI = STATE_DBUS_BASE + \ 108 'Boot.Progress.ProgressStages.SecondaryProcInit' 109OS_BOOT_MEM = STATE_DBUS_BASE + 'Boot.Progress.ProgressStages.MemoryInit' 110OS_BOOT_MOTHERBOARD = STATE_DBUS_BASE + \ 111 'Boot.Progress.ProgressStages.MotherboardInit' 112 113# OperatingSystem status variables. 114OS_BOOT_COMPLETE = STATE_DBUS_BASE + \ 115 'OperatingSystem.Status.OSStatus.BootComplete' 116OS_BOOT_CDROM = STATE_DBUS_BASE + 'OperatingSystem.Status.OSStatus.CDROMBoot' 117OS_BOOT_ROM = STATE_DBUS_BASE + 'OperatingSystem.Status.OSStatus.ROMBoot' 118OS_BOOT_PXE = STATE_DBUS_BASE + 'OperatingSystem.Status.OSStatus.PXEBoot' 119OS_BOOT_CBoot = STATE_DBUS_BASE + 'OperatingSystem.Status.OSStatus.CBoot' 120OS_BOOT_DiagBoot = STATE_DBUS_BASE + 'OperatingSystem.Status.OSStatus.DiagBoot' 121 122# Boot variables. 123BOOT_SOURCE_DEFAULT = 'xyz.openbmc_project.Control.Boot.Source.Sources.Default' 124BOOT_SOURCE_NETWORK = 'xyz.openbmc_project.Control.Boot.Source.Sources.Network' 125BOOT_SOURCE_DISK = 'xyz.openbmc_project.Control.Boot.Source.Sources.Disk' 126BOOT_SOURCE_CDROM = 'xyz.openbmc_project.Control.Boot.Source.Sources.ExternalMedia' 127BOOT_MODE_SAFE = 'xyz.openbmc_project.Control.Boot.Mode.Modes.Safe' 128BOOT_MODE_SETUP = 'xyz.openbmc_project.Control.Boot.Mode.Modes.Setup' 129BOOT_MODE_REGULAR = 'xyz.openbmc_project.Control.Boot.Mode.Modes.Regular' 130 131# Time variables. 132TIME_DBUS_BASE = 'xyz.openbmc_project.Time.' 133BMC_OWNER = TIME_DBUS_BASE + 'Owner.Owners.BMC' 134HOST_OWNER = TIME_DBUS_BASE + 'Owner.Owners.Host' 135SPLIT_OWNER = TIME_DBUS_BASE + 'Owner.Owners.Split' 136BOTH_OWNER = TIME_DBUS_BASE + 'Owner.Owners.Both' 137NTP_MODE = TIME_DBUS_BASE + 'Synchronization.Method.NTP' 138MANUAL_MODE = TIME_DBUS_BASE + 'Synchronization.Method.Manual' 139 140# User manager variable. 141BMC_USER_URI = OPENBMC_BASE_URI + 'user/' 142 143# LDAP User manager variable. 144BMC_LDAP_URI = BMC_USER_URI + 'ldap' 145 146# The path on the BMC where signed keys are stored. 147ACTIVATION_DIR_PATH = "/etc/activationdata/" 148 149# Redfish variables. 150REDFISH_BASE_URI = '/redfish/v1/' 151REDFISH_SESSION = REDFISH_BASE_URI + 'SessionService/Sessions' 152REDFISH_SESSION_URI = 'SessionService/Sessions/' 153REDFISH_NW_ETH0 = 'Managers/bmc/EthernetInterfaces/eth0/' 154REDFISH_NW_ETH0_URI = REDFISH_BASE_URI + REDFISH_NW_ETH0 155REDFISH_NW_PROTOCOL = 'Managers/bmc/NetworkProtocol' 156REDFISH_NW_PROTOCOL_URI = REDFISH_BASE_URI + REDFISH_NW_PROTOCOL 157REDFISH_ACCOUNTS_SERVICE = 'AccountService/' 158REDFISH_ACCOUNTS_SERVICE_URI = REDFISH_BASE_URI + REDFISH_ACCOUNTS_SERVICE 159REDFISH_ACCOUNTS = 'AccountService/Accounts/' 160REDFISH_ACCOUNTS_URI = REDFISH_BASE_URI + REDFISH_ACCOUNTS 161REDFISH_HTTPS_CERTIFICATE = 'Managers/bmc/NetworkProtocol/HTTPS/Certificates' 162REDFISH_HTTPS_CERTIFICATE_URI = REDFISH_BASE_URI + REDFISH_HTTPS_CERTIFICATE 163REDFISH_LDAP_CERTIFICATE = 'AccountService/LDAP/Certificates' 164REDFISH_LDAP_CERTIFICATE_URI = REDFISH_BASE_URI + REDFISH_LDAP_CERTIFICATE 165REDFISH_CA_CERTIFICATE = 'Managers/bmc/Truststore/Certificates' 166REDFISH_CA_CERTIFICATE_URI = REDFISH_BASE_URI + REDFISH_CA_CERTIFICATE 167REDFISH_CHASSIS_URI = REDFISH_BASE_URI + 'Chassis/' 168REDFISH_CHASSIS_THERMAL = 'chassis/Thermal/' 169REDFISH_CHASSIS_THERMAL_URI = REDFISH_CHASSIS_URI + REDFISH_CHASSIS_THERMAL 170REDFISH_CHASSIS_POWER = 'chassis/Power/' 171REDFISH_CHASSIS_POWER_URI = REDFISH_CHASSIS_URI + REDFISH_CHASSIS_POWER 172 173# Boot options and URI variables. 174POWER_ON = 'On' 175POWER_GRACEFUL_OFF = "GracefulShutdown" 176POWER_GRACEFUL_RESTART = "GracefulRestart" 177POWER_FORCE_OFF = 'ForceOff' 178 179REDFISH_POWER = 'Systems/system/Actions/ComputerSystem.Reset' 180REDFISH_POWER_URI = REDFISH_BASE_URI + REDFISH_POWER 181 182# rsyslog variables. 183REMOTE_LOGGING_URI = OPENBMC_BASE_URI + 'logging/config/remote/' 184 185# Certificate variables. 186SERVER_CERTIFICATE_URI = OPENBMC_BASE_URI + 'certs/server/https' 187CLIENT_CERTIFICATE_URI = OPENBMC_BASE_URI + 'certs/client/ldap' 188CA_CERTIFICATE_URI = OPENBMC_BASE_URI + 'certs/authority/ldap' 189 190# EventLog variables. 191SYSTEM_BASE_URI = REDFISH_BASE_URI + 'Systems/system/' 192EVENT_LOG_URI = SYSTEM_BASE_URI + 'LogServices/EventLog/' 193 194 195''' 196 QEMU HTTPS variable: 197 198 By default lib/resource.robot AUTH URI construct is as 199 ${AUTH_URI} https://${OPENBMC_HOST}${AUTH_SUFFIX} 200 ${AUTH_SUFFIX} is populated here by default EMPTY else 201 the port from the OS environment 202''' 203 204 205def get_port_https(): 206 # defaulted to empty string 207 l_suffix = '' 208 try: 209 l_https_port = os.getenv('HTTPS_PORT') 210 if l_https_port: 211 l_suffix = ':' + l_https_port 212 except BaseException: 213 print ("Environment variable HTTPS_PORT not set,\ 214 using default HTTPS port") 215 return l_suffix 216 217 218AUTH_SUFFIX = { 219 "https_port": [get_port_https()], 220} 221 222# Update the ':Port number' to this variable 223AUTH_SUFFIX = AUTH_SUFFIX['https_port'][0] 224 225# Here contains a list of valid Properties bases on fru_type after a boot. 226INVENTORY_ITEMS = { 227 "CPU": [ 228 "Custom Field 1", 229 "Custom Field 2", 230 "Custom Field 3", 231 "Custom Field 4", 232 "Custom Field 5", 233 "Custom Field 6", 234 "Custom Field 7", 235 "Custom Field 8", 236 "FRU File ID", 237 "Manufacturer", 238 "Name", 239 "Part Number", 240 "Serial Number", 241 "fault", 242 "fru_type", 243 "is_fru", 244 "present", 245 "version", 246 ], 247 248 "DIMM": [ 249 "Asset Tag", 250 "Custom Field 1", 251 "Custom Field 2", 252 "Custom Field 3", 253 "Custom Field 4", 254 "Custom Field 5", 255 "Custom Field 6", 256 "Custom Field 7", 257 "Custom Field 8", 258 "FRU File ID", 259 "Manufacturer", 260 "Model Number", 261 "Name", 262 "Serial Number", 263 "Version", 264 "fault", 265 "fru_type", 266 "is_fru", 267 "present", 268 "version", 269 ], 270 "MEMORY_BUFFER": [ 271 "Custom Field 1", 272 "Custom Field 2", 273 "Custom Field 3", 274 "Custom Field 4", 275 "Custom Field 5", 276 "Custom Field 6", 277 "Custom Field 7", 278 "Custom Field 8", 279 "FRU File ID", 280 "Manufacturer", 281 "Name", 282 "Part Number", 283 "Serial Number", 284 "fault", 285 "fru_type", 286 "is_fru", 287 "present", 288 "version", 289 ], 290 "FAN": [ 291 "fault", 292 "fru_type", 293 "is_fru", 294 "present", 295 "version", 296 ], 297 "DAUGHTER_CARD": [ 298 "Custom Field 1", 299 "Custom Field 2", 300 "Custom Field 3", 301 "Custom Field 4", 302 "Custom Field 5", 303 "Custom Field 6", 304 "Custom Field 7", 305 "Custom Field 8", 306 "FRU File ID", 307 "Manufacturer", 308 "Name", 309 "Part Number", 310 "Serial Number", 311 "fault", 312 "fru_type", 313 "is_fru", 314 "present", 315 "version", 316 ], 317 "BMC": [ 318 "fault", 319 "fru_type", 320 "is_fru", 321 "manufacturer", 322 "present", 323 "version", 324 ], 325 "MAIN_PLANAR": [ 326 "Custom Field 1", 327 "Custom Field 2", 328 "Custom Field 3", 329 "Custom Field 4", 330 "Custom Field 5", 331 "Custom Field 6", 332 "Custom Field 7", 333 "Custom Field 8", 334 "Part Number", 335 "Serial Number", 336 "Type", 337 "fault", 338 "fru_type", 339 "is_fru", 340 "present", 341 "version", 342 ], 343 "SYSTEM": [ 344 "Custom Field 1", 345 "Custom Field 2", 346 "Custom Field 3", 347 "Custom Field 4", 348 "Custom Field 5", 349 "Custom Field 6", 350 "Custom Field 7", 351 "Custom Field 8", 352 "FRU File ID", 353 "Manufacturer", 354 "Model Number", 355 "Name", 356 "Serial Number", 357 "Version", 358 "fault", 359 "fru_type", 360 "is_fru", 361 "present", 362 "version", 363 ], 364 "CORE": [ 365 "fault", 366 "fru_type", 367 "is_fru", 368 "present", 369 "version", 370 ], 371} 372