Patch Management - Admin Console Implementation

Version 13

    This document gives an overwiev about the current implementation of the patch management in the console.

     

    Apply Patch

    Applying a patch is done using a wizard which consists of the following steps.

     

    Steps

    1. Shutdown Servers
    2. Shutdown Pending
    3. Unable to Shutdown Servers (Error / Timeout)
    4. Select Patch
    5. Confirm Patch
    6. Apply Pending
    7. Patch Applied Successfully
    8. Conflict
    9. Other Error

    After "Patch Applied Successfully" the user can decide to restart the system. This happens after the wizard is closed, though.

     

    Path

    Here are the possible paths thru the wizard. Please note that the user can cancel the wizard at any step. I'm using Graphviz to describe the paths. For those who are familiar with graphviz or want to play around with different paths, I've include the source. A double border marks an entry point to the wizard, a dashed line stands for an ongoing progress and red and green colors are used for error and success state.

     

    digraph apply {
        /* fonts */
        graph [fontname="Helvetica"];
        node [fontname="Helvetica"];
        edge [fontname="Helvetica"];
    
        /* actual workflow */
        stop_servers -> stopping;
        stopping -> select_patch;
        stopping -> stopped_failed;
        stopped_failed -> select_patch;
        stop_servers -> select_patch;
        select_patch -> applying;
        applying -> success;
        applying -> conflict;
        applying -> error;
        conflict -> applying;
        error -> select_patch;
    
        /* style */
        stop_servers [label="Shutdown Servers",peripheries=2];
        stopping [label="Shutdown Pending",style=dashed];
        stopped_failed [label="Unable to\nShutdown Servers",fontcolor="#cc0000",color="#cc0000"];
        select_patch [label="Select Patch",peripheries=2];
        applying [label="Apply Pending",style=dashed];
        success [label="Patch Applied\nSuccessfully",fontcolor="#009900",color="#009900"];
        conflict [label="Conflict",fontcolor="#cc0000",color="#cc0000"];
        error [label="Other Error",fontcolor="#cc0000",color="#cc0000"];
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

     

    apply.png

     

    Rollback Patch

    Patch rollback uses a similar wizard.

     

    Steps

    1. Shutdown Servers
    2. Shutdown Pending
    3. Unable to Shutdown Servers (Error / Timeout)
    4. Choose Options for Rollback
    5. Rollback Pending
    6. Patch Rolled Back Successfully
    7. Error

    Like in "Apply Patch" the user can choose to restart the system after the patch was successfully rolled back.

     

    Path

     

    digraph rollback {
        /* fonts */
        graph [fontname="Helvetica"];
        node [fontname="Helvetica"];
        edge [fontname="Helvetica"];
    
        /* actual workflow */
        stop_servers -> stopping;
        stopping -> choose_options;
        stopping -> stopped_failed;
        stopped_failed -> choose_options;
        stop_servers -> choose_options;
        choose_options -> confirm_rollback;
        confirm_rollback -> rolling_back;
        rolling_back -> success;
        rolling_back -> error;
        error -> choose_options;
    
        /* style */
        stop_servers [label="Shutdown Servers",peripheries=2];
        stopping [label="Shutdown Pending",style=dashed];
        stopped_failed [label="Unable to\nShutdown Servers",fontcolor="#cc0000",color="#cc0000"];
        choose_options [label="Choose Options\nfor Rollback",peripheries=2];
        confirm_rollback [label="Confrim Rollback"]
        rolling_back [label="Rollback Pending",style=dashed];
        success [label="Patch Rolled Back\nSuccessfully",fontcolor="#009900",color="#009900"];
        error [label="Error",fontcolor="#cc0000",color="#cc0000"];
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    

     

    rollback.png