Set system, chassis, and bmc as global variables

Changes:
  - Add SYSTEM_ID as a global variable and set to default value system
  - Replace redfish/v1/Systems/system to redfish/v1/Systems/SYSTEM_ID
  - Replace redfish/v1/Chassis/chassis to redfish/v1/Chassis/CHASSIS_ID
  - Replace redfish/v1/Managers/bmc to redfish/v1/Managers/MANAGER_ID

Tested:
  - Tested on sandbox with the changes with sample test run with
    sample test ID runs
    1. without SYSTEM_ID provided
    2. with -v SYSTEM_ID:system1
    3. with export SYSTEM_ID=""
    3. with export SYSTEM_ID="system2"

Change-Id: Ifc412b20038cef1eba632caaa6c300be328259bd
Signed-off-by: Wilson Suen <wilsons@supermicro.com>
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/data/variables.py b/data/variables.py
index 2711ea6..cb90a83 100755
--- a/data/variables.py
+++ b/data/variables.py
@@ -65,8 +65,13 @@
 # Logging URI variables
 BMC_LOGGING_URI = OPENBMC_BASE_URI + "logging/"
 BMC_LOGGING_ENTRY = BMC_LOGGING_URI + "entry/"
+REDFISH_SYSTEM_ID = BuiltIn().get_variable_value(
+    "${SYSTEM_ID}", default="system"
+)
 REDFISH_BMC_LOGGING_ENTRY = (
-    "/redfish/v1/Systems/system/LogServices/EventLog/Entries/"
+    "/redfish/v1/Systems/"
+    + REDFISH_SYSTEM_ID
+    + "/LogServices/EventLog/Entries/"
 )
 
 
@@ -228,7 +233,10 @@
 )
 REDFISH_DUMP_URI = REDFISH_BASE_URI + REDFISH_BMC_DUMP
 REDFISH_SYSTEM_DUMP = (
-    REDFISH_BASE_URI + "/Systems/system/LogServices/Dump/Entries"
+    REDFISH_BASE_URI
+    + "/Systems/"
+    + REDFISH_SYSTEM_ID
+    + "/LogServices/Dump/Entries"
 )
 
 # Boot options and URI variables.
@@ -237,7 +245,9 @@
 POWER_GRACEFUL_RESTART = "GracefulRestart"
 POWER_FORCE_OFF = "ForceOff"
 
-REDFISH_POWER = "Systems/system/Actions/ComputerSystem.Reset"
+REDFISH_POWER = (
+    "Systems/" + REDFISH_SYSTEM_ID + "/Actions/ComputerSystem.Reset"
+)
 REDFISH_POWER_URI = REDFISH_BASE_URI + REDFISH_POWER
 
 # rsyslog variables.
@@ -249,7 +259,7 @@
 CA_CERTIFICATE_URI = OPENBMC_BASE_URI + "certs/authority/truststore"
 
 # EventLog variables.
-SYSTEM_BASE_URI = REDFISH_BASE_URI + "Systems/system/"
+SYSTEM_BASE_URI = REDFISH_BASE_URI + "Systems/" + REDFISH_SYSTEM_ID + "/"
 EVENT_LOG_URI = SYSTEM_BASE_URI + "LogServices/EventLog/"
 DUMP_URI = SYSTEM_BASE_URI + "LogServices/Dump/"
 
diff --git a/gui/gui_test/overview_menu/test_overview_menu.robot b/gui/gui_test/overview_menu/test_overview_menu.robot
index ab2bc30..ac608c2 100644
--- a/gui/gui_test/overview_menu/test_overview_menu.robot
+++ b/gui/gui_test/overview_menu/test_overview_menu.robot
@@ -340,7 +340,7 @@
     # Description of argument(s):
     # expected_state    Expected value of Identify LED.
 
-    ${led_state}=  Redfish.Get Attribute  /redfish/v1/Systems/system  IndicatorLED
+    ${led_state}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  IndicatorLED
     Should Be True  '${led_state}' == '${expected_state}'
 
 
@@ -352,6 +352,6 @@
     # expect_resp_code     Expected HTTPS response code. Default [200, 204]
 
 
-    Redfish.Patch  /redfish/v1/Systems/system  body={"IndicatorLED": "${led_state}"}
+    Redfish.Patch  /redfish/v1/Systems/${SYSTEM_ID}  body={"IndicatorLED": "${led_state}"}
     ...  valid_status_codes=${expect_resp_code}
 
diff --git a/ipmi/test_ipmi_general.robot b/ipmi/test_ipmi_general.robot
index 0eba9ab..4f9fa3b 100644
--- a/ipmi/test_ipmi_general.robot
+++ b/ipmi/test_ipmi_general.robot
@@ -435,6 +435,6 @@
     # power_cap_value    Power cap value which need to be set.
 
     # Set power cap value based on argument.
-    Redfish.Patch  /redfish/v1/Chassis/chassis/EnvironmentMetrics
+    Redfish.Patch  /redfish/v1/Chassis/${CHASSIS_ID}/EnvironmentMetrics
     ...  body={"PowerLimitWatts":{"SetPoint": ${power_cap_value}}}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
diff --git a/ipmi/test_ipmi_sensor.robot b/ipmi/test_ipmi_sensor.robot
index 6a312c5..cd16d88 100644
--- a/ipmi/test_ipmi_sensor.robot
+++ b/ipmi/test_ipmi_sensor.robot
@@ -384,7 +384,7 @@
 
      # Redfish cpu components have "-" instead of "_" (e.g.: dcm0-cpu0).
      ${cpu_name}=  Replace String  ${sensor_name}  _  -
-     ${sensor_properties}=  Redfish.Get Properties  /redfish/v1/Systems/system/Processors/${cpu_name}
+     ${sensor_properties}=  Redfish.Get Properties  /redfish/v1/Systems/${SYSTEM_ID}/Processors/${cpu_name}
 
      #  Example of CPU state via Redfish
 
diff --git a/lib/bmc_redfish_utils.robot b/lib/bmc_redfish_utils.robot
index a9ca187..c8e9ac4 100644
--- a/lib/bmc_redfish_utils.robot
+++ b/lib/bmc_redfish_utils.robot
@@ -32,7 +32,7 @@
     #  }
     # }
 
-    ${target}=  redfish_utils.Get Target Actions  /redfish/v1/Systems/system/  ComputerSystem.Reset
+    ${target}=  redfish_utils.Get Target Actions  /redfish/v1/Systems/${SYSTEM_ID}/  ComputerSystem.Reset
     ${payload}=  Create Dictionary  ResetType=${reset_type}
     ${resp}=  Redfish.Post  ${target}  body=&{payload}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
@@ -60,7 +60,7 @@
 Reset BIOS Via Redfish
     [Documentation]  Do BIOS reset through Redfish.
 
-    ${target}=  redfish_utils.Get Target Actions  /redfish/v1/Systems/system/Bios/  Bios.ResetBios
+    ${target}=  redfish_utils.Get Target Actions  /redfish/v1/Systems/${SYSTEM_ID}/Bios/  Bios.ResetBios
     Redfish.Post  ${target}  valid_status_codes=[${HTTP_OK}]
 
 
@@ -173,7 +173,7 @@
     # fru_type  The type of fru (e.g. "Processors", "Memory", etc.).
 
     ${fru_records}=  Redfish_Utils.Enumerate Request
-    ...  /redfish/v1/Systems/system/${fru_type}  return_json=0
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/${fru_type}  return_json=0
     ${fru_records}=  Filter Struct  ${fru_records}  [('State', 'Enabled'), ('Health', 'OK')]
 
     [Return]  ${fru_records}
diff --git a/lib/common_utils.robot b/lib/common_utils.robot
index 5eeb62c..18f77a1 100755
--- a/lib/common_utils.robot
+++ b/lib/common_utils.robot
@@ -865,7 +865,7 @@
 Redfish Get Host Version
     [Documentation]  Get host version via Redfish.
 
-    ${output}=  Redfish.Get Attribute  ${REDFISH_BASE_URI}Systems/system  BiosVersion
+    ${output}=  Redfish.Get Attribute  ${REDFISH_BASE_URI}Systems/${SYSTEM_ID}  BiosVersion
     [Return]  ${output}
 
 
diff --git a/lib/dump_utils.robot b/lib/dump_utils.robot
index d320059..02b203c 100644
--- a/lib/dump_utils.robot
+++ b/lib/dump_utils.robot
@@ -194,7 +194,7 @@
 Redfish Delete All System Dumps
     [Documentation]  Delete all system  dumps via Redfish.
 
-    Redfish.Post  /redfish/v1/Systems/system/LogServices/Dump/Actions/LogService.ClearLog
+    Redfish.Post  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/Dump/Actions/LogService.ClearLog
 
 
 Redfish BMC Dump Should Not Exist
diff --git a/lib/logging_utils.robot b/lib/logging_utils.robot
index 9d6ca1f..bc77fc4 100644
--- a/lib/logging_utils.robot
+++ b/lib/logging_utils.robot
@@ -319,7 +319,7 @@
     [Documentation]  Do Redfish EventLog purge.
 
     ${target_action}=  redfish_utils.Get Target Actions
-    ...  /redfish/v1/Systems/system/LogServices/EventLog/  LogService.ClearLog
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/EventLog/  LogService.ClearLog
     Redfish.Post  ${target_action}  body={'target': '${target_action}'}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
@@ -335,7 +335,7 @@
     [Documentation]  Do Redfish PostCodes purge from system.
 
     ${target_action}=  redfish_utils.Get Target Actions
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/  LogService.ClearLog
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/  LogService.ClearLog
     Redfish.Post  ${target_action}  body={'target': '${target_action}'}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
@@ -361,7 +361,7 @@
     #    [Name]:                   POST Code Log Entry
     #    [Severity]:               OK
 
-    ${members}=  Redfish.Get Attribute  /redfish/v1/Systems/system/LogServices/PostCodes/Entries  Members
+    ${members}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries  Members
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
     [Return]  ${members}
diff --git a/lib/open_power_utils.robot b/lib/open_power_utils.robot
index 344590b..21a0901 100644
--- a/lib/open_power_utils.robot
+++ b/lib/open_power_utils.robot
@@ -83,7 +83,7 @@
 Get Functional Processor Count
     [Documentation]  Get functional processor count.
 
-    ${cpu_list}=  Redfish.Get Members List  /redfish/v1/Systems/system/Processors/  *cpu*
+    ${cpu_list}=  Redfish.Get Members List  /redfish/v1/Systems/${SYSTEM_ID}/Processors/  *cpu*
 
     FOR  ${endpoint_path}  IN  @{cpu_list}
        # {'Health': 'OK', 'State': 'Enabled'} get only matching status good.
@@ -98,7 +98,7 @@
 Get Active OCC State Count
     [Documentation]  Get active OCC state count.
 
-    ${cpu_list}=  Redfish.Get Members List  /redfish/v1/Systems/system/Processors/  *cpu*
+    ${cpu_list}=  Redfish.Get Members List  /redfish/v1/Systems/${SYSTEM_ID}/Processors/  *cpu*
 
     FOR  ${endpoint_path}  IN  @{cpu_list}
        ${num}=  Set Variable  ${endpoint_path[-1]}
@@ -150,7 +150,7 @@
     #  /redfish/v1/Systems/system/Processors/cpu0
     #  /redfish/v1/Systems/system/Processors/cpu1
 
-    ${cpu_list}=  Redfish.Get Members List  /redfish/v1/Systems/system/Processors/  cpu*
+    ${cpu_list}=  Redfish.Get Members List  /redfish/v1/Systems/${SYSTEM_ID}/Processors/  cpu*
 
     FOR  ${endpoint_path}  IN  @{cpu_list}
        # {'Health': 'OK', 'State': 'Enabled'} get only matching status good.
diff --git a/lib/openbmc_ffdc_list.py b/lib/openbmc_ffdc_list.py
index cd7dd3f..5820532 100755
--- a/lib/openbmc_ffdc_list.py
+++ b/lib/openbmc_ffdc_list.py
@@ -236,9 +236,23 @@
         del FFDC_GET_REQUEST[key]
 
 REDFISH_BASE = "/redfish/v1/"
-REDFISH_ELOG = REDFISH_BASE + "Systems/system/LogServices/EventLog/Entries"
 REDFISH_FIRMWARE = REDFISH_BASE + "UpdateService/FirmwareInventory"
 
+try:
+    REDFISH_SYSTEM_ID = REDFISH_SYSTEM_ID = os.environ.get(
+        "SYSTEM_ID", ""
+    ) or BuiltIn().get_variable_value("${SYSTEM_ID}", default="system")
+
+    REDFISH_ELOG = (
+        REDFISH_BASE
+        + "Systems/"
+        + REDFISH_SYSTEM_ID
+        + "/LogServices/EventLog/Entries"
+    )
+except RobotNotRunningError:
+    REDFISH_ELOG = REDFISH_BASE + "Systems/system/LogServices/EventLog/Entries"
+    pass
+
 # Add file name and corresponding Get Request
 FFDC_GET_REDFISH_REQUEST = {
     "GET REQUESTS": {
diff --git a/lib/redfish_code_update_utils.robot b/lib/redfish_code_update_utils.robot
index 4395ef2..96dd265 100644
--- a/lib/redfish_code_update_utils.robot
+++ b/lib/redfish_code_update_utils.robot
@@ -24,7 +24,7 @@
     ...   '${image_info["Description"]}' == 'BMC image' or '${image_info["Description"]}' == 'BMC update'
     ...    Redfish.Get Attribute  /redfish/v1/Managers/${MANAGER_ID}  FirmwareVersion
     ...  ELSE
-    ...    Redfish.Get Attribute  /redfish/v1/Systems/system  BiosVersion
+    ...    Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  BiosVersion
 
     ${functional}=  Run Keyword And Return Status
     ...   Should Be Equal  ${sw_functional}  ${image_info["Version"]}
@@ -245,7 +245,7 @@
     # quiet    Indicates whether results should be printed.
 
     ${state}=  Redfish.Get Attribute
-    ...  ${REDFISH_BASE_URI}Systems/system  PowerState
+    ...  ${REDFISH_BASE_URI}Systems/${SYSTEM_ID}  PowerState
     Rqprint Vars  state
 
     [Return]  ${state}
diff --git a/lib/resource.robot b/lib/resource.robot
index 6e54e6e..49ddc4c 100755
--- a/lib/resource.robot
+++ b/lib/resource.robot
@@ -35,6 +35,7 @@
 
 ${MANAGER_ID}              bmc
 ${CHASSIS_ID}              chassis
+${SYSTEM_ID}               system
 
 # MTLS_ENABLED indicates whether mTLS is enabled.
 ${MTLS_ENABLED}            False
diff --git a/lib/utils.robot b/lib/utils.robot
index eeeb9a0..e0fd04f 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -375,7 +375,7 @@
 Redfish Get Power Restore Policy
     [Documentation]  Returns the BMC power restore policy.
 
-    ${power_restore_policy}=  Redfish.Get Attribute  /redfish/v1/Systems/system  PowerRestorePolicy
+    ${power_restore_policy}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  PowerRestorePolicy
     [Return]  ${power_restore_policy}
 
 Get Auto Reboot
@@ -388,7 +388,7 @@
 Redfish Get Auto Reboot
     [Documentation]  Returns auto reboot setting.
 
-    ${resp}=  Redfish.Get Attribute  /redfish/v1/Systems/system  Boot
+    ${resp}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  Boot
     [Return]  ${resp["AutomaticRetryConfig"]}
 
 
@@ -691,7 +691,7 @@
     # Description of argument(s):
     # power_restore_policy    Power restore policy (e.g. "AlwaysOff", "AlwaysOn", "LastState").
 
-    Redfish.Patch  /redfish/v1/Systems/system  body={"PowerRestorePolicy": "${power_restore_policy}"}
+    Redfish.Patch  /redfish/v1/Systems/${SYSTEM_ID}  body={"PowerRestorePolicy": "${power_restore_policy}"}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
 
@@ -749,7 +749,7 @@
     # Description of argument(s):
     # setting    The reboot setting, "RetryAttempts" and "Disabled".
 
-    Redfish.Patch  /redfish/v1/Systems/system  body={"Boot": {"AutomaticRetryConfig": "${setting}"}}
+    Redfish.Patch  /redfish/v1/Systems/${SYSTEM_ID}  body={"Boot": {"AutomaticRetryConfig": "${setting}"}}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
     ${current_setting}=  Redfish Get Auto Reboot
@@ -881,10 +881,10 @@
 
     ${payload}=  Create Dictionary  Boot=${data}
 
-    Redfish.Patch  /redfish/v1/Systems/system  body=&{payload}
+    Redfish.Patch  /redfish/v1/Systems/${SYSTEM_ID}  body=&{payload}
     ...  valid_status_codes=[${HTTP_OK},${HTTP_NO_CONTENT}]
 
-    ${resp}=  Redfish.Get Attribute  /redfish/v1/Systems/system  Boot
+    ${resp}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}  Boot
     Should Be Equal As Strings  ${resp["BootSourceOverrideEnabled"]}  ${override_enabled}
     Should Be Equal As Strings  ${resp["BootSourceOverrideTarget"]}  ${override_target}
     Run Keyword If  '${PLATFORM_ARCH_TYPE}' == 'x86'
@@ -916,7 +916,7 @@
     # Description of argument(s):
     # match_state    Expected match state (e.g. Enabled, Starting, Error)
 
-    ${Status}=  Redfish.Get Attribute  /redfish/v1/Managers/bmc  Status
+    ${Status}=  Redfish.Get Attribute  /redfish/v1/Managers/${MANAGER_ID}  Status
 
     Should Be Equal As Strings  ${match_state}  ${Status['State']}
 
@@ -946,7 +946,7 @@
     #    "LastState": "OSRunning"
     # },
 
-    ${boot_progress}=  Redfish.Get Properties  /redfish/v1/Systems/system/
+    ${boot_progress}=  Redfish.Get Properties  /redfish/v1/Systems/${SYSTEM_ID}/
 
     Return From Keyword If  "${PLATFORM_ARCH_TYPE}" == "x86"
     ...  NA  ${boot_progress["Status"]["State"]}
diff --git a/openpower/mpipl/test_mpipl_basic.robot b/openpower/mpipl/test_mpipl_basic.robot
index ca1498b..5fd0507 100644
--- a/openpower/mpipl/test_mpipl_basic.robot
+++ b/openpower/mpipl/test_mpipl_basic.robot
@@ -143,7 +143,7 @@
     #       "Name": "System Dump Entry",
     #       "OEMDiagnosticDataType": "System"
     #   }
-    ${sys_dump}=  Redfish.Get Properties  /redfish/v1/Systems/system/LogServices/Dump/Entries
+    ${sys_dump}=  Redfish.Get Properties  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/Dump/Entries
     Log To Console  System dump generated: ${sys_dump['Members@odata.count']}
     Should Be True  ${sys_dump['Members@odata.count']} == 1  msg=No system dump generated.
 
diff --git a/openpower/pel/test_bmc_pel.robot b/openpower/pel/test_bmc_pel.robot
index ec51e45..5ba76a6 100644
--- a/openpower/pel/test_bmc_pel.robot
+++ b/openpower/pel/test_bmc_pel.robot
@@ -165,9 +165,9 @@
     #    [Serial Number]:                              ABCDEFG    <---- Serial number
     #    [Sub-section type]:                           0
 
-    ${redfish_machine_model}=  Redfish.Get Attribute  /redfish/v1/Systems/system/  Model
+    ${redfish_machine_model}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}/  Model
     ${redfish_machine_model}=  Replace String Using Regexp  ${redfish_machine_model}  ^0+  ${EMPTY}
-    ${redfish_serial_number}=  Redfish.Get Attribute  /redfish/v1/Systems/system/  SerialNumber
+    ${redfish_serial_number}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}/  SerialNumber
     ${redfish_serial_number}=  Replace String Using Regexp  ${redfish_serial_number}  ^0+  ${EMPTY}
 
     Valid Value  pel_machine_type_model  ['${redfish_machine_model}']
@@ -267,7 +267,7 @@
     #    [BMC Event Log Id]:           341      <---- BMC event log id value
     #    [Committed at]:               03/25/1920 12:06:22
 
-    ${redfish_event_logs}=  Redfish.Get Properties  /redfish/v1/Systems/system/LogServices/EventLog/Entries
+    ${redfish_event_logs}=  Redfish.Get Properties  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/EventLog/Entries
 
     # Example of redfish_event_logs output:
     # redfish_event_logs:
diff --git a/openpower/test_timed_power_on.robot b/openpower/test_timed_power_on.robot
index 0fe7517..2f24511 100644
--- a/openpower/test_timed_power_on.robot
+++ b/openpower/test_timed_power_on.robot
@@ -119,7 +119,7 @@
     # Description of argument(s):
     # power_policy_mode           BIOS attribute value. E.g. "Stay On", "Automatic".
 
-    Redfish.Patch  /redfish/v1/Systems/system/Bios/Settings
+    Redfish.Patch  /redfish/v1/Systems/${SYSTEM_ID}/Bios/Settings
     ...  body={"Attributes":{"pvm_system_power_off_policy": "${power_policy_mode}"}}
     ...  valid_status_codes=[${HTTP_OK}]
 
diff --git a/redfish/managers/test_bmc_dumps.robot b/redfish/managers/test_bmc_dumps.robot
index 7ec352e..fd24feb 100644
--- a/redfish/managers/test_bmc_dumps.robot
+++ b/redfish/managers/test_bmc_dumps.robot
@@ -374,7 +374,7 @@
     ${dump_id}=  Create User Initiated BMC Dump Via Redfish
 
     # Download BMC dump and verify its size.
-    ${resp}=  Redfish.Get  /redfish/v1/Managers/bmc/LogServices/Dump/Entries/${dump_id}
+    ${resp}=  Redfish.Get  /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/${dump_id}
     ${redfish_dump_creation_timestamp}=  Set Variable  ${resp.dict["Created"]}
     # Download BMC dump and verify its size.
     ${tarfile}=  Download BMC Dump  ${dump_id}
@@ -438,7 +438,7 @@
     ${dump_entries}=  Get BMC Dump Entries
 
     # Find the timestamp of BMC dump.
-    ${resp}=  Redfish.Get  /redfish/v1/Managers/bmc/LogServices/Dump/Entries/${dump_entries[0]}
+    ${resp}=  Redfish.Get  /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/${dump_entries[0]}
     ${redfish_dump_creation_timestamp}=  Set Variable  ${resp.dict["Created"]}
 
     # Download BMC dump and verify its size.
@@ -487,13 +487,13 @@
     # Description of argument(s):
     # dump_id                An integer value that identifies a particular dump (e.g. 1, 3).
 
-    ${resp}=  Redfish.Get  /redfish/v1/Managers/bmc/LogServices/Dump/Entries/${dump_id}
+    ${resp}=  Redfish.Get  /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/${dump_id}
     ${redfish_bmc_dump_size}=  Set Variable  ${resp.dict["AdditionalDataSizeBytes"]}
 
     Initialize OpenBMC
     ${headers}=  Create Dictionary  Content-Type=application/octet-stream  X-Auth-Token=${XAUTH_TOKEN}
 
-    ${ret}=  GET On Session  openbmc  /redfish/v1/Managers/bmc/LogServices/Dump/Entries/${dump_id}/attachment  headers=${headers}
+    ${ret}=  GET On Session  openbmc  /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/${dump_id}/attachment  headers=${headers}
 
     Should Be Equal As Numbers  ${ret.status_code}  200
 
diff --git a/redfish/service_root/test_service_root.robot b/redfish/service_root/test_service_root.robot
index 9e4c2ba..9f83e2e 100644
--- a/redfish/service_root/test_service_root.robot
+++ b/redfish/service_root/test_service_root.robot
@@ -49,7 +49,7 @@
     # Expect status      Resource URL Path
     ${HTTP_OK}           /redfish/v1/SessionService
     ${HTTP_OK}           /redfish/v1/AccountService
-    ${HTTP_OK}           /redfish/v1/Systems/system
+    ${HTTP_OK}           /redfish/v1/Systems/${SYSTEM_ID}
     ${HTTP_OK}           /redfish/v1/Chassis/${CHASSIS_ID}
     ${HTTP_OK}           /redfish/v1/Managers/${MANAGER_ID}
     ${HTTP_OK}           /redfish/v1/UpdateService
diff --git a/redfish/service_root/test_sessions_management.robot b/redfish/service_root/test_sessions_management.robot
index a627357..31aa3b4 100644
--- a/redfish/service_root/test_sessions_management.robot
+++ b/redfish/service_root/test_sessions_management.robot
@@ -181,7 +181,7 @@
     Valid Value  systems['Members@odata.count']  [${systems_count}]
     Valid Value  systems['Members@odata.count']  [${systems_count}]
     # Members can be one or more, hence checking in the list.
-    Valid List  systems['Members']  required_values=[{'@odata.id': '/redfish/v1/Systems/system'}]
+    Valid List  systems['Members']  required_values=[{'@odata.id': '/redfish/v1/Systems/${SYSTEM_ID}'}]
 
 
 Verify Session Persistency After BMC Reboot
diff --git a/redfish/systems/LogServices/test_post_codes.robot b/redfish/systems/LogServices/test_post_codes.robot
index f6a859a..214dae8 100644
--- a/redfish/systems/LogServices/test_post_codes.robot
+++ b/redfish/systems/LogServices/test_post_codes.robot
@@ -28,7 +28,7 @@
     Rprint Vars  post_code_list
 
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     Log To Console  BIOS POST Codes count: ${post_codes['Members@odata.count']}
     Should Be True  ${post_codes['Members@odata.count']} >= 1  msg=No BIOS POST Codes populated.
 
@@ -46,7 +46,7 @@
     Rprint Vars  post_code_list
 
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     Log To Console  BIOS POST Codes count: ${post_codes['Members@odata.count']}
     Should Be True  ${post_codes['Members@odata.count']} >= 1  msg=No BIOS POST Codes populated.
 
@@ -64,7 +64,7 @@
     Rprint Vars  post_code_list
 
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     Log To Console  BIOS POST Codes count: ${post_codes['Members@odata.count']}
     Should Be True  ${post_codes['Members@odata.count']} == 0
     ...  msg=BIOS POST Codes populated.
@@ -96,7 +96,7 @@
 
     # Get log count before BMC reboot.
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     ${initial_log_count}=  Set Variable  ${post_codes['Members@odata.count']}
 
     # Reboot BMC.
@@ -104,7 +104,7 @@
 
     # Get log count after BMC reboot and compare with initial log count.
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     ${current_log_count}=  Set Variable  ${post_codes['Members@odata.count']}
     Should Be True  ${current_log_count} == ${initial_log_count}
 
@@ -117,7 +117,7 @@
     # Perform clear postcode log action.
     Redfish Clear PostCodes
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
 
     # Verify if log count becomes zero.
     Should Be True  ${post_codes['Members@odata.count']} == 0
@@ -189,13 +189,13 @@
     #     "Name": "BIOS POST Code Log Entries"
     # }
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     ${total_log_count}=  Set Variable  ${post_codes['Members@odata.count']}
 
     IF  ${total_log_count} > ${max_view_count}
         ${skip_count}=  Evaluate  (${total_log_count}//${max_view_count})*${max_view_count}
         ${uri}=  Set Variable
-        ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries?$skip=${skip_count}
+        ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries?$skip=${skip_count}
         ${post_codes}=  Redfish.Get Properties  ${uri}
     END
 
@@ -211,7 +211,7 @@
     ...  to populate postcode logs if there are no prior log entries.
 
     ${post_codes}=  Redfish.Get Properties
-    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
+    ...  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/PostCodes/Entries
     Run Keyword If  ${post_codes['Members@odata.count']} == 0
     ...  RF SYS GracefulRestart
 
diff --git a/redfish/systems/eventlog/test_event_logging.robot b/redfish/systems/eventlog/test_event_logging.robot
index 6c4e22a..42136d3 100644
--- a/redfish/systems/eventlog/test_event_logging.robot
+++ b/redfish/systems/eventlog/test_event_logging.robot
@@ -66,7 +66,7 @@
     Create Test PEL Log
     ${elog_entry}=  Get Event Logs
 
-    Redfish.Delete  /redfish/v1/Systems/system/LogServices/EventLog/Entries/${elog_entry[0]["Id"]}
+    Redfish.Delete  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/EventLog/Entries/${elog_entry[0]["Id"]}
 
     ${error_entries}=  Get Redfish Error Entries
     Should Be Empty  ${error_entries}
@@ -338,7 +338,7 @@
     Create Test PEL Log
     Create Test PEL Log
     ${error_entries_before}=  Get Redfish Error Entries
-    Redfish.Delete  /redfish/v1/Systems/system/LogServices/EventLog/Entries/${error_entries_before[0]}
+    Redfish.Delete  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/EventLog/Entries/${error_entries_before[0]}
 
     ${error_entries_after}=  Get Redfish Error Entries
     Should Not Contain  ${error_entries_after}  ${error_entries_before[0]}
@@ -477,7 +477,7 @@
 
 Get Redfish Error Entries
     [Documentation]  Return Redfish error ids list.
-    ${error_uris}=  redfish_utils.get_member_list  /redfish/v1/Systems/system/LogServices/EventLog/Entries
+    ${error_uris}=  redfish_utils.get_member_list  /redfish/v1/Systems/${SYSTEM_ID}/LogServices/EventLog/Entries
     ${error_ids}=  Create List
 
     FOR  ${error_uri}  IN  @{error_uris}
diff --git a/redfish/systems/test_led_indicator_asserted.robot b/redfish/systems/test_led_indicator_asserted.robot
index 535ae47..df1f4da 100755
--- a/redfish/systems/test_led_indicator_asserted.robot
+++ b/redfish/systems/test_led_indicator_asserted.robot
@@ -231,7 +231,7 @@
 Set Suite LED Indicator Initial Value
     [Documentation]  set suite For LED Initial value.
 
-    ${value}=  Redfish.Get Attribute      /redfish/v1/Systems/system  LocationIndicatorActive
+    ${value}=  Redfish.Get Attribute      /redfish/v1/Systems/${SYSTEM_ID}  LocationIndicatorActive
     Set Suite Variable  ${value}
 
     IF  ${value} == False
@@ -246,10 +246,10 @@
     [Arguments]  ${set_value}
 
     ${payload}=  Create Dictionary    LocationIndicatorActive=${set_value}
-    Redfish.Patch      /redfish/v1/Systems/system    body=&{payload}
+    Redfish.Patch      /redfish/v1/Systems/${SYSTEM_ID}    body=&{payload}
     ...  valid_status_codes=[${HTTP_NO_CONTENT}]
 
-    ${value}=  Redfish.Get Attribute      /redfish/v1/Systems/system  LocationIndicatorActive
+    ${value}=  Redfish.Get Attribute      /redfish/v1/Systems/${SYSTEM_ID}  LocationIndicatorActive
 
     Should Be Equal As Strings  ${value}    ${set_value}
 
@@ -259,8 +259,8 @@
     [Arguments]  ${value}
 
     ${payload}=  Create Dictionary    LocationIndicatorActive=${value}
-    Redfish.Patch      /redfish/v1/Systems/system    body=&{payload}
+    Redfish.Patch      /redfish/v1/Systems/${SYSTEM_ID}    body=&{payload}
     ...  valid_status_codes=[${HTTP_NO_CONTENT}]
 
-    ${intial_value}=  Redfish.Get Attribute      /redfish/v1/Systems/system  LocationIndicatorActive
+    ${intial_value}=  Redfish.Get Attribute      /redfish/v1/Systems/${SYSTEM_ID}  LocationIndicatorActive
     Should Be Equal As Strings  ${intial_value}  ${value}
diff --git a/redfish/update_service/test_firmware_inventory.robot b/redfish/update_service/test_firmware_inventory.robot
index b9b59c7..b50c319 100644
--- a/redfish/update_service/test_firmware_inventory.robot
+++ b/redfish/update_service/test_firmware_inventory.robot
@@ -234,7 +234,7 @@
     [Documentation]  Get host firmware version from system inventory.
     [Tags]  Verify_Redfish_BIOS_Version
 
-    ${bios_version}=  Redfish.Get Attribute  /redfish/v1/Systems/system/  BiosVersion
+    ${bios_version}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}/  BiosVersion
     ${pnor_version}=  Get PNOR Version
     Should Be Equal  ${pnor_version}  ${bios_version}
 
diff --git a/redfish/update_service/test_redfish_host_code_update.robot b/redfish/update_service/test_redfish_host_code_update.robot
index db00ad9..c9fc7e3 100644
--- a/redfish/update_service/test_redfish_host_code_update.robot
+++ b/redfish/update_service/test_redfish_host_code_update.robot
@@ -53,9 +53,9 @@
     [Documentation]  Trigger PNOR update and do BMC reboot.
     [Tags]  BMC_Reboot_When_PNOR_Update_Goes_On
 
-    ${bios_version_before}=  Redfish.Get Attribute  /redfish/v1/Systems/system/  BiosVersion
+    ${bios_version_before}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}/  BiosVersion
     Redfish Firmware Update And Do BMC Reboot
-    ${bios_version_after}=  Redfish.Get Attribute  /redfish/v1/Systems/system/  BiosVersion
+    ${bios_version_after}=  Redfish.Get Attribute  /redfish/v1/Systems/${SYSTEM_ID}/  BiosVersion
     Valid Value  bios_version_after  ['${bios_version_before}']