diff --git a/lib/boot/boot_resource_master.robot b/lib/boot/boot_resource_master.robot
new file mode 100644
index 0000000..1c8e85a
--- /dev/null
+++ b/lib/boot/boot_resource_master.robot
@@ -0,0 +1,5 @@
+*** Settings ***
+# This file pulls in all of the other resource files in lib/boot/
+
+Resource    powerons.robot
+Resource    poweroffs.robot
diff --git a/lib/boot/poweroffs.robot b/lib/boot/poweroffs.robot
new file mode 100644
index 0000000..f9a6940
--- /dev/null
+++ b/lib/boot/poweroffs.robot
@@ -0,0 +1,32 @@
+*** Settings ***
+Documentation  Contains all of the keywords that do various power offs.
+
+Resource    ../resource.txt
+Resource    ../utils.robot
+Resource    ../connection_client.robot
+
+*** Keywords ***
+BMC Power Off
+    [Documentation]  Powers off the system and makes sure that all states are
+    ...  powered off.
+
+    Open Connection and Log In
+    Initiate Power Off
+    Check Power Off States
+    Close Connection
+
+Check Power Off States
+    [Documentation]  Checks that the BMC state, power state, and boot progress
+    ...  are correctly powered off.
+
+    ${power_state}=  Get Power State
+    Should Be Equal  ${power_state}  ${0}
+    Log to Console  Power State: ${power_state}
+
+    ${boot_progress}=  Get Boot Progress
+    Should Be Equal  ${boot_progress}  Off
+    Log to Console  Boot Progress: ${boot_progress}
+
+    ${bmc_state}=  Get BMC State
+    Should Contain  ${bmc_state}  HOST_POWERED_OFF
+    Log to Console  BMC State: ${bmc_state}
diff --git a/lib/boot/powerons.robot b/lib/boot/powerons.robot
new file mode 100644
index 0000000..b3e402f
--- /dev/null
+++ b/lib/boot/powerons.robot
@@ -0,0 +1,36 @@
+*** Settings ***
+Documentation  Contains all of the keywords that do various power ons.
+
+Resource    ../resource.txt
+Resource    ../utils.robot
+Resource    ../connection_client.robot
+
+*** Keywords ***
+BMC Power On
+    [Documentation]  Powers on the system, checks that the OS is functional, and
+    ...  makes sure that all states are powered on.
+
+    &{bmc_connection_args}=  Create Dictionary  alias=bmc_connection
+
+    Open Connection and Log In  &{bmc_connection_args}
+    Initiate Power On
+    Wait For OS
+    Switch Connection  bmc_connection
+    Check Power On States
+    Close Connection
+
+Check Power On States
+    [Documentation]  Checks that the BMC state, power state, and boot progress
+    ...  are correctly powered on.
+
+    ${bmc_state}=  Get BMC State
+    Should Contain  ${bmc_state}  HOST_BOOTED
+    Log to Console  BMC State: ${bmc_state}
+
+    ${boot_progress}=  Get Boot Progress
+    Should Be Equal  ${boot_progress}  FW Progress, Starting OS
+    Log to Console  Boot Progress: ${boot_progress}
+
+    ${power_state}=  Get Power State
+    Should Be Equal  ${power_state}  ${1}
+    Log to Console  Power State: ${power_state}
diff --git a/lib/connection_client.robot b/lib/connection_client.robot
index 2cc8413..b67996c 100755
--- a/lib/connection_client.robot
+++ b/lib/connection_client.robot
@@ -4,18 +4,54 @@
 
 Library           SSHLibrary
 Library           OperatingSystem
+Library           Collections
 
 *** Variables ***
 
 *** Keywords ***
 Open Connection And Log In
-    Run Keyword If   '${SSH_PORT}' != '${EMPTY}' and '${HTTPS_PORT}' != '${EMPTY}'
+    [Documentation]  Opens a connection with the given arguments, and logs in.
+    ...  Defaults to logging into the BMC.
+    [Arguments]  ${username}=${OPENBMC_USERNAME}
+    ...          ${password}=${OPENBMC_PASSWORD}  &{connection_args}
+
+    # username          The username to log into the connection with.
+    # password          The password to log into the connection with.
+    # connection_args   A dictionary of acceptable inputs to the Open Connection
+    #                   keyword. This includes, but is not limited to, the
+    #                   following:
+    #                   host, alias, port, timeout, newline, prompt, term_type,
+    #                   width, height, path_separator, endcoding
+    #                   (For more information, please visit the SSHLibrary doc)
+
+    #                   Of the above arguments to Open Connection, this keyword
+    #                   will provide the following default values:
+    #                   host             ${OPENBMC_HOST}
+
+    # If no host was provided, add ${OPENBMC_HOST} to the dictionary
+    ${has_host}=  Run Keyword and Return Status
+    ...           Dictionary Should Contain Key  ${connection_args}  host
+    Run Keyword If  ${has_host} == ${FALSE}
+    ...             Set To Dictionary  ${connection_args}  host=${OPENBMC_HOST}
+
+    Run Keyword If
+    ...   '${SSH_PORT}' != '${EMPTY}' and '${HTTPS_PORT}' != '${EMPTY}'
     ...   User input SSH and HTTPs Ports
 
-    Run Keyword If  '${SSH_PORT}' == '${EMPTY}'    Open connection     ${OPENBMC_HOST}
-    ...    ELSE  Run Keyword   Open connection     ${OPENBMC_HOST}    port=${SSH_PORT}
+    # Check to see if a port to connect to was provided.
+    ${has_port}=  Run Keyword and Return Status
+    ...           Dictionary Should Contain Key  ${connection_args}  port
 
-    Login   ${OPENBMC_USERNAME}    ${OPENBMC_PASSWORD}
+    # If the ${SSH_PORT} is set and no port was provided, add the defined port
+    # to the dictionary and open the connection. Otherwise, open the connection
+    # with the either the provided port or the default port.
+    Run Keyword If  '${SSH_PORT}' != '${EMPTY}' and ${has_port} == ${FALSE}
+    ...            Run Keywords
+    ...            Set To Dictionary  ${connection_args}  port=${SSH_PORT}  AND
+    ...            Open connection  &{connection_args}
+    ...   ELSE  Run Keyword  Open connection  &{connection_args}
+
+    Login  ${username}  ${password}
 
 User input SSH and HTTPs Ports
     [Documentation]   Update the global SSH and HTTPs port variable for QEMU
diff --git a/lib/utils.robot b/lib/utils.robot
index 7cb179a..f7bae9c 100644
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -8,10 +8,15 @@
 ${SYSTEM_SHUTDOWN_TIME}       ${5}
 
 *** Keywords ***
-
 Wait For Host To Ping
-    [Arguments]     ${host}
-    Wait Until Keyword Succeeds     ${OPENBMC_REBOOT_TIMEOUT}min    5 sec   Ping Host   ${host}
+    [Arguments]  ${host}  ${timeout}=${OPENBMC_REBOOT_TIMEOUT}min
+    ...          ${interval}=5 sec
+
+    # host      The DNS name or IP of the host to ping.
+    # timeout   The amount of time after which attempts to ping cease.
+    # interval  The amount of time in between attempts to ping.
+
+    Wait Until Keyword Succeeds  ${timeout}  ${interval}  Ping Host  ${host}
 
 Ping Host
     [Arguments]     ${host}
@@ -24,21 +29,25 @@
     [return]  ${state}
 
 Is Power On
-    ${state} =    Get Boot Progress
-    Should be equal   ${state}     FW Progress, Starting OS
+    ${state}=  Get Power State
+    Should be equal  ${state}  ${1}
 
 Is Power Off
-    ${state} =    Get Boot Progress
-    Should be equal   ${state}     Off
+    ${state}=  Get Power State
+    Should be equal  ${state}  ${0}
 
-Power On Host
+Initiate Power On
+    [Documentation]  Initiates the power on and waits until the Is Power On
+    ...  keyword returns that the power state has switched to on.
     @{arglist}=   Create List
     ${args}=     Create Dictionary    data=@{arglist}
     ${resp}=   Call Method    /org/openbmc/control/chassis0/    powerOn    data=${args}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
     Wait Until Keyword Succeeds	  3 min    	10 sec    Is Power On
 
-Power Off Host
+Initiate Power Off
+    [Documentation]  Initiates the power off and waits until the Is Power Off
+    ...  keyword returns that the power state has switched to off.
     @{arglist}=   Create List
     ${args}=     Create Dictionary    data=@{arglist}
     ${resp}=   Call Method    /org/openbmc/control/chassis0/    powerOff   data=${args}
@@ -54,7 +63,8 @@
     Wait For Host To Ping   ${OPENBMC_HOST}
 
 Check OS
-    [Documentation]  Checks that the host OS is up by running an SSH command.
+    [Documentation]  Attempts to ping the host OS and then checks that the host
+    ...              OS is up by running an SSH command.
 
     [Arguments]  ${os_host}=${OS_HOST}  ${os_username}=${OS_USERNAME}
     ...          ${os_password}=${OS_PASSWORD}
@@ -64,6 +74,9 @@
     # os_username       The username to be used to sign on to the OS host.
     # os_password       The password to be used to sign on to the OS host.
 
+    # Attempt to ping the OS. Store the return code to check later.
+    ${ping_rc}=  Run Keyword and Return Status  Ping Host  ${os_host}
+
     Open connection  ${os_host}
     Login  ${os_username}  ${os_password}
 
@@ -76,6 +89,9 @@
     # We will likewise fail if there is any stderr data.
     Should Be Empty  ${stderr}
 
+    # We will likewise fail if the OS did not ping, as we could SSH but not ping
+    Should Be Equal As Strings  ${ping_rc}  ${TRUE}
+
 Wait for OS
     [Documentation]  Waits for the host OS to come up via calls to "Check OS".
     [Arguments]  ${os_host}=${OS_HOST}  ${os_username}=${OS_USERNAME}
@@ -93,3 +109,23 @@
 
     Wait Until Keyword Succeeds  ${timeout} sec  ${interval}  Check OS
     ...                          ${os_host}  ${os_username}  ${os_password}
+
+Get BMC State
+    [Documentation]  Returns the state of the BMC as a string. (i.e: BMC_READY)
+    @{arglist}=  Create List
+    ${args}=  Create Dictionary  data=@{arglist}
+    ${resp}=  Call Method  /org/openbmc/managers/System/  getSystemState
+    ...        data=${args}
+    Should be equal as strings  ${resp.status_code}  ${HTTP_OK}
+    ${content}=  to json  ${resp.content}
+    [return]  ${content["data"]}
+
+Get Power State
+    [Documentation]  Returns the power state as an integer. Either 0 or 1.
+    @{arglist}=  Create List
+    ${args}=  Create Dictionary  data=@{arglist}
+    ${resp}=  Call Method  /org/openbmc/control/chassis0/  getPowerState
+    ...        data=${args}
+    Should be equal as strings  ${resp.status_code}  ${HTTP_OK}
+    ${content}=  to json  ${resp.content}
+    [return]  ${content["data"]}
diff --git a/tests/test_bootpolicy.robot b/tests/test_bootpolicy.robot
index 621179d..173f5e6 100644
--- a/tests/test_bootpolicy.robot
+++ b/tests/test_bootpolicy.robot
@@ -59,13 +59,13 @@
     [Documentation]   This testcase is to verify that boot order does not change
     ...               after first boot when boot policy set to permanent
 
-    Power Off Host
+    Initiate Power Off
 
     Set Boot Policy   PERMANENT
 
     Set Boot Device   CDROM
 
-    Power On Host
+    Initiate Power On
 
     ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    PERMANENT
@@ -77,7 +77,7 @@
     [Documentation]   This testcase is to verify that boot policy and order does not change
     ...               after warm reset on a system with onetime boot policy.
 
-    Power On Host
+    Initiate Power On
 
     Set Boot Policy   ONETIME
 
@@ -95,7 +95,7 @@
     [Documentation]   This testcase is to verify that boot policy and order does not change  
     ...               after warm reset on a system with permanent boot policy.
 
-    Power On Host
+    Initiate Power On
 
     Set Boot Policy   PERMANENT
 
diff --git a/tests/test_inventory.robot b/tests/test_inventory.robot
index d2feda9..4d908be 100644
--- a/tests/test_inventory.robot
+++ b/tests/test_inventory.robot
@@ -62,7 +62,7 @@
 *** Keywords ***
 
 Setup The Suite
-	Power On Host
+	Initiate Power On
 
 	@{ret} = 	Get Inventory List 	${OPENBMC_MODEL}
 	Set Suite Variable 	@{sys_inv} 	@{ret}
diff --git a/tests/test_occ_powercap.robot b/tests/test_occ_powercap.robot
index 1c600dd..ee72a4f 100644
--- a/tests/test_occ_powercap.robot
+++ b/tests/test_occ_powercap.robot
@@ -5,7 +5,7 @@
 Resource                ../lib/resource.txt
 Resource                ../lib/utils.robot
 
-Suite Setup            Power On Host
+Suite Setup            Initiate Power On
 
 *** Test Cases ***
 
