| #!/usr/bin/env python3 |
| |
| r""" |
| Variable constants applicable to all OpenBMC test. |
| """ |
| |
| import os |
| |
| from robot.libraries.BuiltIn import BuiltIn |
| |
| OPENBMC_BASE_URI = "/xyz/openbmc_project/" |
| OPENBMC_BASE_DBUS = "xyz.openbmc_project." |
| |
| # Generic Dbus commands. |
| OPENBMC_DBUS_GET_PROPERTY = "busctl get-property " |
| OPENBMC_DBUS_SET_PROPERTY = "busctl set-property " |
| |
| # org open power base URI. |
| OPENPOWER_BASE_URI = "/org/open_power/" |
| OPENPOWER_CONTROL = OPENPOWER_BASE_URI + "control/" |
| OPENPOWER_SENSORS = OPENPOWER_BASE_URI + "sensors/" |
| |
| # REST URI base endpoint paths. |
| CONTROL_URI = OPENBMC_BASE_URI + "control/" |
| # Continue to keep to support legacy code. |
| SETTINGS_URI = "/org/openbmc/settings/" |
| WATCHDOG_URI = OPENBMC_BASE_URI + "watchdog/" |
| TIME_MANAGER_URI = OPENBMC_BASE_URI + "time/" |
| NETWORK_MANAGER = OPENBMC_BASE_URI + "network/" |
| NETWORK_RESOURCE = "xyz.openbmc_project.Network.IP.Protocol.IPv4" |
| # SNMP |
| SNMP_MANAGER_URI = NETWORK_MANAGER + "snmp/manager/" |
| # Sensors base variables. |
| SENSORS_URI = OPENBMC_BASE_URI + "sensors/" |
| # Thermal Control base variables |
| THERMAL_CONTROL_URI = CONTROL_URI + "thermal/0" |
| THERMAL_METRICS = "ThermalSubsystem/ThermalMetrics" |
| |
| COMPONENT_NAME_OF_POWER_SUPPLY = "powersupply" |
| |
| # State Manager base variables |
| BMC_REBOOT_TRANS = "xyz.openbmc_project.State.BMC.Transition.Reboot" |
| |
| HOST_POWEROFF_TRANS = "xyz.openbmc_project.State.Host.Transition.Off" |
| HOST_POWERON_TRANS = "xyz.openbmc_project.State.Host.Transition.On" |
| HOST_REBOOT_TRANS = "xyz.openbmc_project.State.Host.Transition.Reboot" |
| HOST_POWEROFF_STATE = "xyz.openbmc_project.State.Host.HostState.Off" |
| HOST_POWERON_STATE = "xyz.openbmc_project.State.Host.HostState.Running" |
| |
| CHASSIS_POWEROFF_TRANS = "xyz.openbmc_project.State.Chassis.Transition.Off" |
| CHASSIS_POWERON_TRANS = "xyz.openbmc_project.State.Chassis.Transition.On" |
| CHASSIS_POWEROFF_STATE = "xyz.openbmc_project.State.Chassis.PowerState.Off" |
| CHASSIS_POWERON_STATE = "xyz.openbmc_project.State.Chassis.PowerState.On" |
| |
| # State Manager URI variables. |
| SYSTEM_STATE_URI = OPENBMC_BASE_URI + "state/" |
| BMC_STATE_URI = OPENBMC_BASE_URI + "state/bmc0/" |
| HOST_STATE_URI = OPENBMC_BASE_URI + "state/host0/" |
| CHASSIS_STATE_URI = OPENBMC_BASE_URI + "state/chassis0/" |
| HOST_WATCHDOG_URI = OPENBMC_BASE_URI + "watchdog/host0/" |
| |
| # OS state for x86 architecture |
| OS_STATE_URI = OPENBMC_BASE_URI + "state/os/" |
| |
| # Logging URI variables |
| BMC_LOGGING_URI = OPENBMC_BASE_URI + "logging/" |
| BMC_LOGGING_ENTRY = BMC_LOGGING_URI + "entry/" |
| REDFISH_BMC_LOGGING_ENTRY = ( |
| "/redfish/v1/Systems/system/LogServices/EventLog/Entries/" |
| ) |
| |
| |
| # Software manager version |
| SOFTWARE_VERSION_URI = OPENBMC_BASE_URI + "software/" |
| ACTIVE = "xyz.openbmc_project.Software.Activation.Activations.Active" |
| READY = "xyz.openbmc_project.Software.Activation.Activations.Ready" |
| INVALID = "xyz.openbmc_project.Software.Activation.Activations.Invalid" |
| ACTIVATING = "xyz.openbmc_project.Software.Activation.Activations.Activating" |
| NOTREADY = "xyz.openbmc_project.Software.Activation.Activations.NotReady" |
| FAILED = "xyz.openbmc_project.Software.Activation.Activations.Failed" |
| |
| SOFTWARE_ACTIVATION = "xyz.openbmc_project.Software.Activation" |
| REQUESTED_ACTIVATION = SOFTWARE_ACTIVATION + ".RequestedActivations" |
| REQUESTED_ACTIVE = REQUESTED_ACTIVATION + ".Active" |
| REQUESTED_NONE = REQUESTED_ACTIVATION + ".None" |
| |
| SOFTWARE_PURPOSE = "xyz.openbmc_project.Software.Version.VersionPurpose" |
| VERSION_PURPOSE_HOST = SOFTWARE_PURPOSE + ".Host" |
| VERSION_PURPOSE_BMC = SOFTWARE_PURPOSE + ".BMC" |
| VERSION_PURPOSE_SYSTEM = SOFTWARE_PURPOSE + ".System" |
| |
| # Image Upload Directory Path |
| IMAGE_UPLOAD_DIR_PATH = "/tmp/images/" |
| |
| # Inventory URI variables |
| HOST_INVENTORY_URI = OPENBMC_BASE_URI + "inventory/" |
| CHASSIS_INVENTORY_URI = HOST_INVENTORY_URI + "system/chassis/" |
| MOTHERBOARD_INVENTORY_URI = CHASSIS_INVENTORY_URI + "motherboard/" |
| |
| # Led URI variable |
| LED_GROUPS_URI = OPENBMC_BASE_URI + "led/groups/" |
| LED_PHYSICAL_URI = OPENBMC_BASE_URI + "led/physical/" |
| LED_LAMP_TEST_ASSERTED_URI = LED_GROUPS_URI + "lamp_test/" |
| LED_PHYSICAL_PS0_URI = LED_PHYSICAL_URI + "cffps1_69/" |
| LED_PHYSICAL_PS1_URI = LED_PHYSICAL_URI + "cffps1_68/" |
| LED_PHYSICAL_FAN0_URI = LED_PHYSICAL_URI + "fan0/" |
| LED_PHYSICAL_FAN2_URI = LED_PHYSICAL_URI + "fan2/" |
| LED_PHYSICAL_FAN3_URI = LED_PHYSICAL_URI + "fan3/" |
| |
| # Host control URI variables. |
| CONTROL_HOST_URI = OPENBMC_BASE_URI + "control/host0/" |
| |
| # Power restore variables. |
| POWER_RESTORE_URI = CONTROL_HOST_URI + "power_restore_policy" |
| CONTROL_DBUS_BASE = "xyz.openbmc_project.Control." |
| |
| RESTORE_LAST_STATE = CONTROL_DBUS_BASE + "Power.RestorePolicy.Policy.Restore" |
| ALWAYS_POWER_ON = CONTROL_DBUS_BASE + "Power.RestorePolicy.Policy.AlwaysOn" |
| ALWAYS_POWER_OFF = CONTROL_DBUS_BASE + "Power.RestorePolicy.Policy.AlwaysOff" |
| |
| # Dump URI variables. |
| REST_DUMP_URI = OPENBMC_BASE_URI + "dump/bmc/" |
| DUMP_ENTRY_URI = REST_DUMP_URI + "entry/" |
| DUMP_DOWNLOAD_URI = "/download/dump/" |
| # The path on the BMC where dumps are stored. |
| DUMP_DIR_PATH = "/var/lib/phosphor-debug-collector/" |
| |
| # Boot progress variables. |
| STATE_DBUS_BASE = "xyz.openbmc_project.State." |
| OS_BOOT_START = STATE_DBUS_BASE + "Boot.Progress.ProgressStages.OSStart" |
| OS_BOOT_OFF = STATE_DBUS_BASE + "Boot.Progress.ProgressStages.Unspecified" |
| OS_BOOT_PCI = STATE_DBUS_BASE + "Boot.Progress.ProgressStages.PCIInit" |
| OS_BOOT_SECPCI = ( |
| STATE_DBUS_BASE + "Boot.Progress.ProgressStages.SecondaryProcInit" |
| ) |
| OS_BOOT_MEM = STATE_DBUS_BASE + "Boot.Progress.ProgressStages.MemoryInit" |
| OS_BOOT_MOTHERBOARD = ( |
| STATE_DBUS_BASE + "Boot.Progress.ProgressStages.MotherboardInit" |
| ) |
| OPENBMC_DBUS_BMC_STATE = STATE_DBUS_BASE + "BMC" |
| |
| # OperatingSystem status variables. |
| OS_BOOT_COMPLETE = ( |
| STATE_DBUS_BASE + "OperatingSystem.Status.OSStatus.BootComplete" |
| ) |
| OS_BOOT_CDROM = STATE_DBUS_BASE + "OperatingSystem.Status.OSStatus.CDROMBoot" |
| OS_BOOT_ROM = STATE_DBUS_BASE + "OperatingSystem.Status.OSStatus.ROMBoot" |
| OS_BOOT_PXE = STATE_DBUS_BASE + "OperatingSystem.Status.OSStatus.PXEBoot" |
| OS_BOOT_CBOOT = STATE_DBUS_BASE + "OperatingSystem.Status.OSStatus.CBoot" |
| OS_BOOT_DIAGBOOT = STATE_DBUS_BASE + "OperatingSystem.Status.OSStatus.DiagBoot" |
| |
| # Boot variables. |
| BOOT_SOURCE_DEFAULT = "xyz.openbmc_project.Control.Boot.Source.Sources.Default" |
| BOOT_SOURCE_NETWORK = "xyz.openbmc_project.Control.Boot.Source.Sources.Network" |
| BOOT_SOURCE_DISK = "xyz.openbmc_project.Control.Boot.Source.Sources.Disk" |
| BOOT_SOURCE_CDROM = ( |
| "xyz.openbmc_project.Control.Boot.Source.Sources.ExternalMedia" |
| ) |
| BOOT_MODE_SAFE = "xyz.openbmc_project.Control.Boot.Mode.Modes.Safe" |
| BOOT_MODE_SETUP = "xyz.openbmc_project.Control.Boot.Mode.Modes.Setup" |
| BOOT_MODE_REGULAR = "xyz.openbmc_project.Control.Boot.Mode.Modes.Regular" |
| BOOT_TYPE_LEGACY = "xyz.openbmc_project.Control.Boot.Type.Types.Legacy" |
| BOOT_TYPE_EFI = "xyz.openbmc_project.Control.Boot.Type.Types.EFI" |
| |
| # Time variables. |
| TIME_DBUS_BASE = "xyz.openbmc_project.Time." |
| BMC_OWNER = TIME_DBUS_BASE + "Owner.Owners.BMC" |
| HOST_OWNER = TIME_DBUS_BASE + "Owner.Owners.Host" |
| SPLIT_OWNER = TIME_DBUS_BASE + "Owner.Owners.Split" |
| BOTH_OWNER = TIME_DBUS_BASE + "Owner.Owners.Both" |
| NTP_MODE = TIME_DBUS_BASE + "Synchronization.Method.NTP" |
| MANUAL_MODE = TIME_DBUS_BASE + "Synchronization.Method.Manual" |
| |
| # User manager variable. |
| BMC_USER_URI = OPENBMC_BASE_URI + "user/" |
| |
| # LDAP User manager variable. |
| BMC_LDAP_URI = BMC_USER_URI + "ldap" |
| |
| # The path on the BMC where signed keys are stored. |
| ACTIVATION_DIR_PATH = "/etc/activationdata/" |
| |
| # Redfish variables. |
| REDFISH_BASE_URI = "/redfish/v1/" |
| REDFISH_SESSION = REDFISH_BASE_URI + "SessionService/Sessions" |
| REDFISH_SESSION_URI = "SessionService/Sessions/" |
| REDFISH_MANAGERS_ID = BuiltIn().get_variable_value( |
| "${MANAGER_ID}", default="bmc" |
| ) |
| REDFISH_NW_ETH0 = ( |
| "Managers/" + REDFISH_MANAGERS_ID + "/EthernetInterfaces/eth0/" |
| ) |
| REDFISH_NW_ETH0_URI = REDFISH_BASE_URI + REDFISH_NW_ETH0 |
| REDFISH_NW_ETH_IFACE = ( |
| REDFISH_BASE_URI |
| + "Managers/" |
| + REDFISH_MANAGERS_ID |
| + "/EthernetInterfaces/" |
| ) |
| REDFISH_NW_PROTOCOL = "Managers/" + REDFISH_MANAGERS_ID + "/NetworkProtocol" |
| REDFISH_NW_PROTOCOL_URI = REDFISH_BASE_URI + REDFISH_NW_PROTOCOL |
| REDFISH_ACCOUNTS_SERVICE = "AccountService/" |
| REDFISH_ACCOUNTS_SERVICE_URI = REDFISH_BASE_URI + REDFISH_ACCOUNTS_SERVICE |
| REDFISH_ACCOUNTS = "AccountService/Accounts/" |
| REDFISH_ACCOUNTS_URI = REDFISH_BASE_URI + REDFISH_ACCOUNTS |
| REDFISH_HTTPS_CERTIFICATE = ( |
| "Managers/" + REDFISH_MANAGERS_ID + "/NetworkProtocol/HTTPS/Certificates" |
| ) |
| REDFISH_HTTPS_CERTIFICATE_URI = REDFISH_BASE_URI + REDFISH_HTTPS_CERTIFICATE |
| REDFISH_LDAP_CERTIFICATE = "AccountService/LDAP/Certificates" |
| REDFISH_LDAP_CERTIFICATE_URI = REDFISH_BASE_URI + REDFISH_LDAP_CERTIFICATE |
| REDFISH_CA_CERTIFICATE = ( |
| "Managers/" + REDFISH_MANAGERS_ID + "/Truststore/Certificates" |
| ) |
| REDFISH_CA_CERTIFICATE_URI = REDFISH_BASE_URI + REDFISH_CA_CERTIFICATE |
| REDFISH_CHASSIS_ID = BuiltIn().get_variable_value( |
| "${CHASSIS_ID}", default="chassis" |
| ) |
| REDFISH_CHASSIS_URI = REDFISH_BASE_URI + "Chassis/" |
| REDFISH_CHASSIS_THERMAL = REDFISH_CHASSIS_ID + "/Thermal/" |
| REDFISH_CHASSIS_THERMAL_URI = REDFISH_CHASSIS_URI + REDFISH_CHASSIS_THERMAL |
| REDFISH_CHASSIS_POWER = REDFISH_CHASSIS_ID + "/Power/" |
| REDFISH_CHASSIS_POWER_URI = REDFISH_CHASSIS_URI + REDFISH_CHASSIS_POWER |
| REDFISH_CHASSIS_SENSORS = REDFISH_CHASSIS_ID + "/Sensors" |
| REDFISH_CHASSIS_SENSORS_URI = REDFISH_CHASSIS_URI + REDFISH_CHASSIS_SENSORS |
| REDFISH_BMC_DUMP = ( |
| "Managers/" + REDFISH_MANAGERS_ID + "/LogServices/Dump/Entries" |
| ) |
| REDFISH_DUMP_URI = REDFISH_BASE_URI + REDFISH_BMC_DUMP |
| REDFISH_SYSTEM_DUMP = ( |
| REDFISH_BASE_URI + "/Systems/system/LogServices/Dump/Entries" |
| ) |
| |
| # Boot options and URI variables. |
| POWER_ON = "On" |
| POWER_GRACEFUL_OFF = "GracefulShutdown" |
| POWER_GRACEFUL_RESTART = "GracefulRestart" |
| POWER_FORCE_OFF = "ForceOff" |
| |
| REDFISH_POWER = "Systems/system/Actions/ComputerSystem.Reset" |
| REDFISH_POWER_URI = REDFISH_BASE_URI + REDFISH_POWER |
| |
| # rsyslog variables. |
| REMOTE_LOGGING_URI = OPENBMC_BASE_URI + "logging/config/remote/" |
| |
| # Certificate variables. |
| SERVER_CERTIFICATE_URI = OPENBMC_BASE_URI + "certs/server/https" |
| CLIENT_CERTIFICATE_URI = OPENBMC_BASE_URI + "certs/client/ldap" |
| CA_CERTIFICATE_URI = OPENBMC_BASE_URI + "certs/authority/truststore" |
| |
| # EventLog variables. |
| SYSTEM_BASE_URI = REDFISH_BASE_URI + "Systems/system/" |
| EVENT_LOG_URI = SYSTEM_BASE_URI + "LogServices/EventLog/" |
| DUMP_URI = SYSTEM_BASE_URI + "LogServices/Dump/" |
| |
| BIOS_ATTR_URI = SYSTEM_BASE_URI + "Bios" |
| BIOS_ATTR_SETTINGS_URI = BIOS_ATTR_URI + "/Settings" |
| |
| """ |
| QEMU HTTPS variable: |
| |
| By default lib/resource.robot AUTH URI construct is as |
| ${AUTH_URI} https://${OPENBMC_HOST}${AUTH_SUFFIX} |
| ${AUTH_SUFFIX} is populated here by default EMPTY else |
| the port from the OS environment |
| """ |
| |
| AUTH_SUFFIX = ":" + BuiltIn().get_variable_value( |
| "${HTTPS_PORT}", os.getenv("HTTPS_PORT", "443") |
| ) |
| |
| # Here contains a list of valid Properties bases on fru_type after a boot. |
| INVENTORY_ITEMS = { |
| "CPU": [ |
| "Custom Field 1", |
| "Custom Field 2", |
| "Custom Field 3", |
| "Custom Field 4", |
| "Custom Field 5", |
| "Custom Field 6", |
| "Custom Field 7", |
| "Custom Field 8", |
| "FRU File ID", |
| "Manufacturer", |
| "Name", |
| "Part Number", |
| "Serial Number", |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "DIMM": [ |
| "Asset Tag", |
| "Custom Field 1", |
| "Custom Field 2", |
| "Custom Field 3", |
| "Custom Field 4", |
| "Custom Field 5", |
| "Custom Field 6", |
| "Custom Field 7", |
| "Custom Field 8", |
| "FRU File ID", |
| "Manufacturer", |
| "Model Number", |
| "Name", |
| "Serial Number", |
| "Version", |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "MEMORY_BUFFER": [ |
| "Custom Field 1", |
| "Custom Field 2", |
| "Custom Field 3", |
| "Custom Field 4", |
| "Custom Field 5", |
| "Custom Field 6", |
| "Custom Field 7", |
| "Custom Field 8", |
| "FRU File ID", |
| "Manufacturer", |
| "Name", |
| "Part Number", |
| "Serial Number", |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "FAN": [ |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "DAUGHTER_CARD": [ |
| "Custom Field 1", |
| "Custom Field 2", |
| "Custom Field 3", |
| "Custom Field 4", |
| "Custom Field 5", |
| "Custom Field 6", |
| "Custom Field 7", |
| "Custom Field 8", |
| "FRU File ID", |
| "Manufacturer", |
| "Name", |
| "Part Number", |
| "Serial Number", |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "BMC": [ |
| "fault", |
| "fru_type", |
| "is_fru", |
| "manufacturer", |
| "present", |
| "version", |
| ], |
| "MAIN_PLANAR": [ |
| "Custom Field 1", |
| "Custom Field 2", |
| "Custom Field 3", |
| "Custom Field 4", |
| "Custom Field 5", |
| "Custom Field 6", |
| "Custom Field 7", |
| "Custom Field 8", |
| "Part Number", |
| "Serial Number", |
| "Type", |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "SYSTEM": [ |
| "Custom Field 1", |
| "Custom Field 2", |
| "Custom Field 3", |
| "Custom Field 4", |
| "Custom Field 5", |
| "Custom Field 6", |
| "Custom Field 7", |
| "Custom Field 8", |
| "FRU File ID", |
| "Manufacturer", |
| "Model Number", |
| "Name", |
| "Serial Number", |
| "Version", |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| "CORE": [ |
| "fault", |
| "fru_type", |
| "is_fru", |
| "present", |
| "version", |
| ], |
| } |