Add changes to BMC cleanup module

This commit adds minor changes to BMC cleanup module and moves the
keywords to a new file lib/bmc_cleanup.robot. This helps to import
lib/bmc_cleanup.robot and use these keywords wherever necessary.

Change-Id: I138548a8118a44ad33ec7789aaa55e1a333c744b
Signed-off-by: Sunil M <sunilmam@us.ibm.com>
diff --git a/lib/bmc_cleanup.robot b/lib/bmc_cleanup.robot
new file mode 100644
index 0000000..909e57a
--- /dev/null
+++ b/lib/bmc_cleanup.robot
@@ -0,0 +1,51 @@
+*** Settings ***
+Resource                ../lib/utils.robot
+Resource                ../lib/connection_client.robot
+Resource                ../lib/boot_utils.robot
+
+*** Variables ***
+# User defined path to do the cleanup.
+${CLEANUP_DIR_PATH}  ${EMPTY}
+# List that holds space separated filepaths to skip from cleanup.
+${SKIP_LIST}  ${EMPTY}
+
+*** Keywords ***
+
+###############################################################################
+
+Cleanup Dir
+    [Documentation]  Remove leftover files in cleanup directory path.
+    [Arguments]      ${cleanup_dir_path}=${CLEANUP_DIR_PATH}
+    ...              ${skip_list}=${SKIP_LIST}
+
+    # Description of argument(s):
+    # cleanup_dir_path  Directory path to do the cleanup.
+    # skip_list  List of files to skip from cleanup.
+
+    Should Not Be Empty  ${cleanup_dir_path}
+    Should Not Be Empty  ${SKIP_LIST}
+    Open Connection And Log In
+    @{skip_list}=  Set Variable  ${skip_list.split()}
+    ${skip_list_string}=  Set Variable  ${EMPTY}
+    :FOR  ${file}  IN  @{skip_list}
+    \  ${skip_list_string}=   Set Variable  ${skip_list_string} ! -path "${file}"
+
+    ${file_count1}=  Execute Command On BMC  find ${cleanup_dir_path} | wc -l
+    Set Global Variable  ${file_count1}
+    Write  find ${cleanup_dir_path} \\( ${skip_list_string} \\) | xargs rm
+    Write  find ${cleanup_dir_path} \\( ${skip_list_string} \\) | xargs rmdir
+    ${file_count2}=  Execute Command On BMC  find ${cleanup_dir_path} | wc -l
+
+    Run Keyword If  ${file_count2} < ${file_count1}
+    ...  Reboot And Verify
+
+Reboot And Verify
+    [Documentation]  Reboot BMC and verify cleanup.
+    [Arguments]      ${cleanup_dir_path}=${CLEANUP_DIR_PATH}
+
+    # Description of argument(s):
+    # cleanup_dir_path  Directory path to do the cleanup.
+
+    OBMC Reboot (off)
+    ${file_count2}=  Execute Command On BMC  find ${cleanup_dir_path} | wc -l
+    Should Be True  ${file_count2} < ${file_count1}