diff --git a/extended/code_update/bmc_multi_code_update.robot b/extended/code_update/bmc_multi_code_update.robot
index 4d909e6..6c8728e 100644
--- a/extended/code_update/bmc_multi_code_update.robot
+++ b/extended/code_update/bmc_multi_code_update.robot
@@ -43,9 +43,9 @@
 Suite Setup Execution
     [Documentation]  Do test suite setup tasks.
 
-    Rvalid Value  IMAGE_FILE_PATH
-    Rvalid Value  N_MINUS_ONE_IMAGE_FILE_PATH
-    Rvalid Value  N_PLUS_ONE_IMAGE_FILE_PATH
+    Valid Value  IMAGE_FILE_PATH
+    Valid Value  N_MINUS_ONE_IMAGE_FILE_PATH
+    Valid Value  N_PLUS_ONE_IMAGE_FILE_PATH
 
 
 Code Update And Reboot BMC
diff --git a/extended/run_keyword.py b/extended/run_keyword.py
index c2fe43b..3bb89c2 100644
--- a/extended/run_keyword.py
+++ b/extended/run_keyword.py
@@ -29,7 +29,7 @@
     Validate all program parameters.
     """
 
-    grv.rvalid_value("keyword_string")
+    grv.valid_value("keyword_string")
 
     return True
 
diff --git a/lib/code_update_utils.robot b/lib/code_update_utils.robot
index 034e5c8..b92a215 100644
--- a/lib/code_update_utils.robot
+++ b/lib/code_update_utils.robot
@@ -185,7 +185,7 @@
     ${tar_version}=  Get Version Tar  ${image_file_path}
     ${bmc_version}=  Redfish Get BMC Version
 
-    Rvalid Value  bmc_version  valid_values=['${tar_version}']
+    Valid Value  bmc_version  valid_values=['${tar_version}']
 
 
 Redfish Verify Host Version
@@ -200,7 +200,7 @@
     ${tar_version}=  Get Version Tar  ${image_file_path}
     ${host_version}=  Redfish Get Host Version
 
-    Rvalid Value  host_version  valid_values=['${tar_version}']
+    Valid Value  host_version  valid_values=['${tar_version}']
 
 
 Upload And Activate Image
@@ -525,7 +525,7 @@
     # Example: # ls /tmp/images/
     #            1b714fb7
     ${image_id}=  Get Latest File  /tmp/images/
-    Rvalid Value  image_id
+    Valid Value  image_id
 
     # Though an image sub-directory was found, it really isn't valid unless
     # the MANIFEST file is present.
@@ -545,7 +545,7 @@
     # image_id       The image ID (e.g. "1b714fb7").
 
     ${state}=  Get Image Update Progress State  image_id=${image_id}
-    Rvalid Value  state  valid_values=[${match_state}]
+    Valid Value  state  valid_values=[${match_state}]
 
 
 Get Image Update Progress State
@@ -591,5 +591,5 @@
 
     Redfish.Patch  ${REDFISH_BASE_URI}UpdateService  body={'ApplyTime' : '${policy}'}
     ${apply_time}=  Read Attribute   ${SOFTWARE_VERSION_URI}apply_time  RequestedApplyTime
-    Rvalid Value  apply_time  valid_values=["xyz.openbmc_project.Software.ApplyTime.RequestedApplyTimes.${policy}"]
+    Valid Value  apply_time  valid_values=["xyz.openbmc_project.Software.ApplyTime.RequestedApplyTimes.${policy}"]
     Rprint Vars  apply_time
diff --git a/lib/gen_robot_valid.py b/lib/gen_robot_valid.py
index 88048f1..d49b00e 100755
--- a/lib/gen_robot_valid.py
+++ b/lib/gen_robot_valid.py
@@ -219,6 +219,3 @@
         + ".__doc__ = customize_doc_string(gv.raw_doc_strings['" \
         + func_name + "'])"
     exec(cmd_buf)
-
-# Define aliases for backward compatibility.
-rvalid_value = valid_value
diff --git a/openpower/tests_openbmctool/test_openbmctool.robot b/openpower/tests_openbmctool/test_openbmctool.robot
index 84b5cf9..ae9582b 100755
--- a/openpower/tests_openbmctool/test_openbmctool.robot
+++ b/openpower/tests_openbmctool/test_openbmctool.robot
@@ -227,8 +227,8 @@
 
     ${remote_logging_view}=  Get Remote Logging View  verify=${True}
 
-    Rvalid Value  remote_logging_view['Address']  valid_values=['${log_host}']
-    Rvalid Value  remote_logging_view['Port']  valid_values=[int(${log_port})]
+    Valid Value  remote_logging_view['Address']  valid_values=['${log_host}']
+    Valid Value  remote_logging_view['Port']  valid_values=[int(${log_port})]
 
 
 Verify Logging Disable
@@ -242,7 +242,7 @@
     ...  logging remote_logging disable
 
     ${remote_logging_view}=  Get Remote Logging View  verify=${True}
-    Rvalid Value  remote_logging_view['Address']  valid_values=['']
+    Valid Value  remote_logging_view['Address']  valid_values=['']
 
 
 Get Remote Logging Settings
diff --git a/redfish/account_service/test_ldap_configuration.robot b/redfish/account_service/test_ldap_configuration.robot
index 907db7b..61d2641 100644
--- a/redfish/account_service/test_ldap_configuration.robot
+++ b/redfish/account_service/test_ldap_configuration.robot
@@ -321,15 +321,15 @@
 Suite Setup Execution
     [Documentation]  Do suite setup tasks.
 
-    Rvalid Value  LDAP_TYPE  valid_values=["ActiveDirectory", "LDAP"]
-    Rvalid Value  LDAP_USER
-    Rvalid Value  LDAP_USER_PASSWORD
-    Rvalid Value  GROUP_PRIVILEGE
-    Rvalid Value  GROUP_NAME
-    Rvalid Value  LDAP_SERVER_URI
-    Rvalid Value  LDAP_BIND_DN_PASSWORD
-    Rvalid Value  LDAP_BIND_DN
-    Rvalid Value  LDAP_BASE_DN
+    Valid Value  LDAP_TYPE  valid_values=["ActiveDirectory", "LDAP"]
+    Valid Value  LDAP_USER
+    Valid Value  LDAP_USER_PASSWORD
+    Valid Value  GROUP_PRIVILEGE
+    Valid Value  GROUP_NAME
+    Valid Value  LDAP_SERVER_URI
+    Valid Value  LDAP_BIND_DN_PASSWORD
+    Valid Value  LDAP_BIND_DN
+    Valid Value  LDAP_BASE_DN
 
     Redfish.Login
     # Call 'Get LDAP Configuration' to verify that LDAP configuration exists.
diff --git a/redfish/managers/test_managers_bmc.robot b/redfish/managers/test_managers_bmc.robot
index cd86e54..efe8371 100644
--- a/redfish/managers/test_managers_bmc.robot
+++ b/redfish/managers/test_managers_bmc.robot
@@ -64,7 +64,7 @@
 
     ${redfish_mac_addr}=  Redfish.Get Attribute  /redfish/v1/Managers/bmc/EthernetInterfaces/eth0  MACAddress
     Rprint Vars  redfish_mac_addr  fmt=terse
-    Rvalid Value  redfish_mac_addr
+    Valid Value  redfish_mac_addr
 
     ${ipaddr_mac_addr}=  Get BMC MAC Address List
     Rprint Vars  ipaddr_mac_addr  fmt=terse
diff --git a/redfish/managers/test_managers_bmc_time.robot b/redfish/managers/test_managers_bmc_time.robot
index e0e7e5f..dfba145 100644
--- a/redfish/managers/test_managers_bmc_time.robot
+++ b/redfish/managers/test_managers_bmc_time.robot
@@ -152,7 +152,7 @@
     Redfish.Patch  ${REDFISH_NW_PROTOCOL_URI}  body={u'NTPEnabled': ${True}}
     ${ntp}=  Redfish.Get Attribute  ${REDFISH_NW_PROTOCOL_URI}  NTP
     Rprint Vars  ntp
-    Rvalid Value  ntp["ProtocolEnabled"]  valid_values=[True]
+    Valid Value  ntp["ProtocolEnabled"]  valid_values=[True]
 
 
 *** Keywords ***
diff --git a/redfish/systems/test_power_voltage_readings.robot b/redfish/systems/test_power_voltage_readings.robot
index cbd60a1..65f914e 100755
--- a/redfish/systems/test_power_voltage_readings.robot
+++ b/redfish/systems/test_power_voltage_readings.robot
@@ -46,7 +46,7 @@
 
     Run Keyword If  ${num_invalid_records} > ${0}
     ...  Rprint Vars  num_invalid_records  invalid_records  fmt=terse
-    Rvalid Value  num_invalid_records  valid_values=[0]
+    Valid Value  num_invalid_records  valid_values=[0]
 
     ${invalid_records}=  Evaluate
     ...  [x for x in ${records} if not x['LowerThresholdNonCritical'] <= x['ReadingVolts'] <= x['UpperThresholdNonCritical']]
@@ -54,7 +54,7 @@
     ${num_invalid_records}=  Get Length  ${invalid_records}
     Run Keyword If  ${num_invalid_records} > ${0}
     ...  Rprint Vars  num_invalid_records  invalid_records  fmt=terse
-    Rvalid Value  num_invalid_records  valid_values=[0]
+    Valid Value  num_invalid_records  valid_values=[0]
 
 
 Suite Teardown Execution
diff --git a/redfish/systems/test_powersupply_readings.robot b/redfish/systems/test_powersupply_readings.robot
index e9c9fba..8744205 100755
--- a/redfish/systems/test_powersupply_readings.robot
+++ b/redfish/systems/test_powersupply_readings.robot
@@ -66,7 +66,7 @@
     ${num_invalid_records}=  Get Length  ${invalid_records}
     Run Keyword If  ${num_invalid_records} > ${0}
     ...  Rprint Vars  num_invalid_records  invalid_records
-    Rvalid Value  num_invalid_records  valid_values=[0]
+    Valid Value  num_invalid_records  valid_values=[0]
 
 
 Verify Valid Records
@@ -91,7 +91,7 @@
 
     Run Keyword If  ${num_invalid_records} > ${0}
     ...  Rprint Vars  num_invalid_records  invalid_records
-    Rvalid Value  num_invalid_records  valid_values=[0]
+    Valid Value  num_invalid_records  valid_values=[0]
 
 
 Suite Teardown Execution
diff --git a/redfish/systems/test_systems_inventory.robot b/redfish/systems/test_systems_inventory.robot
index 7c47fd5..b562692 100755
--- a/redfish/systems/test_systems_inventory.robot
+++ b/redfish/systems/test_systems_inventory.robot
@@ -63,7 +63,7 @@
     [Tags]  Get_System_Serial_And_Verify_Populated
 
     ${serial_number}=  Redfish.Get Attribute  ${SYSTEM_BASE_URI}  SerialNumber
-    Rvalid Value  serial_number
+    Valid Value  serial_number
     Rprint Vars  serial_number
 
 
@@ -72,7 +72,7 @@
     [Tags]  Get_Model_And_Verify_Populated
 
     ${model}=  Redfish.Get Attribute  ${SYSTEM_BASE_URI}  Model
-    Rvalid Value  model
+    Valid Value  model
     Rprint Vars  model
 
 
@@ -110,7 +110,7 @@
 
     ${serial_number}=  Redfish.Get Attribute
     ...  ${REDFISH_CHASSIS_URI}motherboard  SerialNumber
-    Rvalid Value  serial_number
+    Valid Value  serial_number
     Rprint Vars  serial_number
 
 
diff --git a/redfish/systems/test_thermal_ambient_temperatures.robot b/redfish/systems/test_thermal_ambient_temperatures.robot
index 3b655a5..57d877e 100755
--- a/redfish/systems/test_thermal_ambient_temperatures.robot
+++ b/redfish/systems/test_thermal_ambient_temperatures.robot
@@ -46,7 +46,7 @@
 
     Run Keyword If  ${num_invalid_records} > ${0}
     ...  Rprint Vars  num_invalid_records  invalid_records
-    Rvalid Value  num_invalid_records  valid_values=[0]
+    Valid Value  num_invalid_records  valid_values=[0]
 
     ${invalid_records}=  Evaluate
     ...  [x for x in ${records} if not x['LowerThresholdNonCritical'] <= x['ReadingCelsius'] <= x['UpperThresholdNonCritical']]
@@ -54,7 +54,7 @@
     ${num_invalid_records}=  Get Length  ${invalid_records}
     Run Keyword If  ${num_invalid_records} > ${0}
     ...  Rprint Vars  num_invalid_records  invalid_records
-    Rvalid Value   num_invalid_records  valid_values=[0]
+    Valid Value   num_invalid_records  valid_values=[0]
 
 Suite Teardown Execution
     [Documentation]  Do the post suite teardown.
diff --git a/redfish/update_service/test_firmware_inventory.robot b/redfish/update_service/test_firmware_inventory.robot
index 2e6ece3..b21d8af 100644
--- a/redfish/update_service/test_firmware_inventory.robot
+++ b/redfish/update_service/test_firmware_inventory.robot
@@ -121,8 +121,8 @@
 
     ${allowable_values}=  Redfish.Get Attribute  /redfish/v1/UpdateService  Actions
 
-    Rvalid Value  allowable_values["#UpdateService.SimpleUpdate"]["TransferProtocol@Redfish.AllowableValues"][0]  valid_values=['TFTP']
-    Rvalid Value  allowable_values["#UpdateService.SimpleUpdate"]["target"]  valid_values=['/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate']
+    Valid Value  allowable_values["#UpdateService.SimpleUpdate"]["TransferProtocol@Redfish.AllowableValues"][0]  valid_values=['TFTP']
+    Valid Value  allowable_values["#UpdateService.SimpleUpdate"]["target"]  valid_values=['/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate']
 
 
 Verify Redfish BIOS Version
diff --git a/redfish/update_service/test_firmware_tftp_upload_image.robot b/redfish/update_service/test_firmware_tftp_upload_image.robot
index ca80115..a62acf3 100644
--- a/redfish/update_service/test_firmware_tftp_upload_image.robot
+++ b/redfish/update_service/test_firmware_tftp_upload_image.robot
@@ -69,8 +69,8 @@
     [Documentation]  Do the suite setup.
 
     Redfish.Login
-    Rvalid Value  TFTP_SERVER
-    Rvalid Value  IMAGE_FILE_NAME
+    Valid Value  TFTP_SERVER
+    Valid Value  IMAGE_FILE_NAME
 
 
 TFTP Download Install
@@ -112,7 +112,7 @@
     # Verify the image is installed and functional.
     ${cmd}=  Set Variable  grep ^VERSION_ID= /etc/os-release | cut -f 2 -d '=' | sed 's/"//g'
     ${functional_version}  ${stderr}  ${rc}=  BMC Execute Command  ${cmd}
-    Rvalid Value  functional_version  valid_values=['${install_version}']
+    Valid Value  functional_version  valid_values=['${install_version}']
     Rprint Vars  functional_version
 
 
@@ -154,7 +154,7 @@
     # Verify the image is installed and functional.
     ${cmd}=  Set Variable  grep ^VERSION_ID= /etc/os-release | cut -f 2 -d '=' | sed 's/"//g'
     ${functional_version}  ${stderr}  ${rc}=  BMC Execute Command  ${cmd}
-    Rvalid Value  functional_version  valid_values=['${install_version}']
+    Valid Value  functional_version  valid_values=['${install_version}']
     Rprint Vars  functional_version
 
 
diff --git a/templates/pgm_template.py b/templates/pgm_template.py
index 22c9963..c597992 100755
--- a/templates/pgm_template.py
+++ b/templates/pgm_template.py
@@ -35,7 +35,7 @@
     """
 
     # Programmer must add these.
-    grv.rvalid_value("OPENBMC_HOST")
+    grv.valid_value("OPENBMC_HOST")
 
     return
 
