diff --git a/extended/code_update/code_update_utils.robot b/extended/code_update/code_update_utils.robot
new file mode 100644
index 0000000..715c8e2
--- /dev/null
+++ b/extended/code_update/code_update_utils.robot
@@ -0,0 +1,99 @@
+*** Settings ***
+Documentation    Code update utility
+
+Resource         ../../lib/rest_client.robot
+Resource         ../../lib/connection_client.robot
+Resource         ../../lib/utils.robot
+Library          OperatingSystem
+
+*** Variables ***
+
+${BMC_UPD_METHOD}   /org/openbmc/control/flash/bmc/action/update
+${BMC_UPD_ATTR}     /org/openbmc/control/flash/bmc
+
+*** Keywords ***
+
+Preserve BMC Network Setting
+    [Documentation]   Preserve Network setting
+    ${policy} =       Set Variable   ${1}
+    ${value} =    create dictionary   data=${policy}
+    Write Attribute   ${BMC_UPD_ATTR}  preserve_network_settings  data=${value}
+    ${data}=      Read Properties   ${BMC_UPD_ATTR}
+    should be equal as strings    ${data['preserve_network_settings']}   ${1}
+    ...   msg=0 indicates network is not preserved
+
+
+Activate BMC flash image
+    [Documentation]   Activate and verify the update status
+    ...               The status could be either one of these
+    ...               'Deferred for mounted filesystem. reboot BMC to apply.'
+    ...               'Image ready to apply.'
+    @{img_path} =   Create List    /tmp/flashimg
+    ${data} =   create dictionary   data=@{img_path}
+    ${resp}=    openbmc post request    ${BMC_UPD_METHOD}   data=${data}
+    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
+    ${content}=     To Json    ${resp.content}
+    should be equal as strings   ${content["data"]["filename"]}   /tmp/flashimg
+
+    ${data}=      Read Properties     ${BMC_UPD_ATTR}
+    should contain    ${data['status']}   to apply
+
+
+SCP Tar Image File to BMC
+    [arguments]         ${filepath}
+    Open Connection for SCP
+    scp.Put File      ${filepath}   /tmp/flashimg
+
+
+Check If warmReset is Initiated
+    # Ping would be still alive, so try SSH to connect if fails
+    # the ports are down indicating reboot in progress
+    ${alive}=   Run Keyword and Return Status
+    ...    Open Connection And Log In
+    Return From Keyword If   '${alive}' == '${False}'    ${False}
+    [return]    ${True}
+
+
+Check If File Exist
+    [Arguments]  ${filepath}
+    Log   \n PATH: ${filepath}
+    OperatingSystem.File Should Exist  ${filepath}
+    ...    msg=${filepath} doesn't exist [ ERROR ]
+
+    Set Global Variable   ${FILE_PATH}  ${filepath}
+
+
+System Readiness Test
+    ${l_status} =   Run Keyword    Verify Ping and REST Authentication
+    Run Keyword If  '${l_status}' == '${False}'
+    ...   Fail  msg=System not in ideal state to use [ERROR]
+
+
+Wait for BMC to respond
+    # Average code update takes from 15 -20 minutes
+    # For worse case 30 minutes, check every 1 min
+    Wait For Host To Ping  ${OPENBMC_HOST}  30 min   1 min
+
+
+Validate BMC Version
+    [Arguments]   ${args}=post
+    # Check BMC installed version
+    Open Connection And Log In
+    ${version}   ${stderr}=    Execute Command   cat /etc/version
+    ...    return_stderr=True
+    Should Be Empty     ${stderr}
+    # The File name contains the version installed
+    Run Keyword If   '${args}' == 'before'
+    ...    Should not Contain  ${FILE_PATH}   ${version}
+    ...    msg=Same version already installed
+    ...    ELSE
+    ...    Should Contain      ${FILE_PATH}   ${version}
+    ...    msg=Code update Failed
+
+
+Trigger Warm Reset via Reboot
+    Open Connection And Log In
+
+    ${rc}=  SSHLibrary.Execute Command
+    ...     /sbin/reboot  return_stdout=False   return_rc=True
+    Should Be Equal As Integers   ${rc}   0
diff --git a/extended/code_update/update_bmc.robot b/extended/code_update/update_bmc.robot
new file mode 100644
index 0000000..80faf9b
--- /dev/null
+++ b/extended/code_update/update_bmc.robot
@@ -0,0 +1,46 @@
+*** Settings ***
+Documentation     Trigger code update to a target BMC.
+...               Execution Method :
+...               python -m robot -v OPENBMC_HOST:<hostname>
+...               -v FILE_PATH:<path/*all.tar>  update_bmc.robot
+...
+...               Code update method BMC using REST
+...               Update work flow sequence:
+...                 - User input BMC File existence check
+...                 - Ping Test and REST authentication
+...                 - Apply preserve BMC Network setting
+...                 - SCP image to BMC
+...                 - Activate the flash image
+...                 - Warm Reset BMC to activate code
+...                 - Wait for BMC to come online time out 30 minutes
+...                 - Version check post update
+
+Resource          code_update_utils.robot
+
+*** Variables ***
+
+${FILE_PATH}      ${EMPTY}
+
+*** Test cases ***
+
+Initiate Code update BMC
+    [Documentation]    BMC code update process initiation
+
+    Check If File Exist    ${FILE_PATH}
+    System Readiness Test
+    Validate BMC Version   before
+
+    Preserve BMC Network Setting
+    SCP Tar Image File to BMC   ${FILE_PATH}
+
+    Activate BMC flash image
+
+    Trigger Warm Reset
+    # TODO: openbmc/openbmc#519
+    ${session_active}=   Check If warmReset is Initiated
+    Run Keyword If   '${session_active}' == '${True}'
+    ...    Trigger Warm Reset via Reboot
+
+    Wait for BMC to respond
+    Sleep  1 min
+    Validate BMC Version
diff --git a/lib/utils.robot b/lib/utils.robot
index 190e4fc..c5a45ec 100644
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -1,6 +1,7 @@
 *** Settings ***
 Resource                ../lib/resource.txt
 Resource                ../lib/rest_client.robot
+Resource                ../lib/connection_client.robot
 
 Library                 OperatingSystem
 
@@ -176,3 +177,19 @@
     [Documentation]  Checks whether system state is HOST_BOOTED.
     ${state}=    Get BMC State
     should be equal as strings     ${state}     HOST_BOOTED
+
+Verify Ping and REST Authentication
+    ${l_ping} =   Run Keyword And Return Status
+    ...    Ping Host  ${OPENBMC_HOST}
+    Return From Keyword If  '${l_ping}' == '${False}'    ${False}
+
+    ${l_rest} =   Run Keyword And Return Status
+    ...    Initialize OpenBMC
+    Return From Keyword If  '${l_rest}' == '${False}'    ${False}
+
+    # Just to make sure the SSH is working for SCP
+    Open Connection And Log In
+    ${system}   ${stderr}=    Execute Command   hostname   return_stderr=True
+    Should Be Empty     ${stderr}
+
+    [return]    ${True}
