Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

LIC Design Page

Aperi Wiki Home

Workspace for communicating design thoughts/ideas

SMI-S Model

The basic idea is to extend the access points subprofile of SMI-S to include linkages to the data model supported through the access point. For example, we might want to have an association between the access point and the specific RegisteredSubprofile instance (as defined in ProfileRegisteredProfiles subprofile).

Another thought is to include a set of capabilities/settings that is attached directly to the access point (much like capabilities are attached to services) that explain the set of operations supported through the access point.

Here's a pdf file with powerpoint diagram LICModel2008-04-29.pdf.

And here's a pdf of the SMI-S Scoping Document:

SMI-S_1.5_Scoping_Document_-_LaunchInContextV1.pdf
SMI-S_1.5_Scoping_Document_-_LaunchInContextv0.pdf.

And here's some DRAFT MOF for the new classes:

//
// ==================================================================
// SNIA_LICCapabilities
// ==================================================================

[Description(
     "Describes the launch-in-context capabilities of a launch point.")]
class SNIA_LICCapabiliites : CIM_Capabilities {

    [Description(
         "Enumeration indicating what operations are accesible through "
         "the launch point."),
     ValueMap { 
         "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9",  "10",
         "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
         "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
         "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
         "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", 
         "51..999","1000..10000",".."};
        
     Values { 

         "Manage Volume",                        // 1
         "View Volume",                          // 2
         "Create Volume",                        // 3
         "Modify Volume",                        // 4
         "Delete Volume",                        // 5

         "Manage Storage Pool",                  // 6
         "View Storage Pool",                    // 7
         "Create Storage Pool",                  // 8
         "Modify Storage Pool",                  // 9
         "Delete Storage Pool",                  // 10

         "Manage Extent",                        // 11
         "View Extent",                          // 12
         "Create Extent",                        // 13
         "Modify Extent",                        // 14
         "Delete Extent",                        // 15

         "Manage Host Port",                     // 16
         "View Host Port",                       // 17
         "Create Host Port",                     // 18
         "Modify Host Port",                     // 19
         "Delete Host Port",                     // 20

         "Manage Host Mapping",                  // 21
         "View Host Mapping",                    // 22
         "Create Host Mapping",                  // 23
         "Modify Host Mapping",                  // 24
         "Delete Host Mapping",                  // 25

         "Manage Replica",                       // 26
         "View Replica",                         // 27
         "Create Replica",                       // 28
         "Modify Replica",                       // 30
         "Delete Replica",                       // 31

         "Manage SynchronizationGroup",          // 32
         "View SynchronizationGroup",            // 33
         "Create SynchronizationGroup",          // 34
         "Modify SynchronizationGroup",          // 35
         "Delete SynchronizationGroup",          // 36

         "Manage Synchronization",               // 37
         "View Synchronization",                 // 38
         "Modify Synchronization",               // 39

         "Manage Statistics",                    // 40
         "View Volume Statistics",               // 41
         "View Disk Drive Statistics",           // 42
         "View Computer System Statistics",      // 43
         "View Front-End Ports Statistics",      // 44
         "View Back-End Ports Statistics",       // 45
         "View Remote Replica Group Statistics", // 46

         "View Logs",                            // 47
         "Upgrade Firmware/Software",            // 48
         "Reboot/Reset Device",                  // 49
         "Configure Device",                     // 50
         "SNIA Reserved",                        // 51..999
         "Vendor Reserved",                      // 1000..10000
         "SNIA Reserved"}]                       // ..
    uint16 SupportedActions[];
};
//
// ==================================================================
// SNIA_LICDescriptor
// ==================================================================
//

[Description(
     "Describes the launch-in-context parameters for a launch point.")]
class SNIA_LICDescriptor : CIM_ManagedElement {

    [Description(
         "The name of the parameter."),
     ArrayType("Indexed")]
    string ParameterName[];

    [Description(
         "The description of the parameter."),
     ArrayType("Indexed")]
    string ParameterDescription[];

    [Description(
         "The data type of the parameter."),
     ArrayType("Indexed"),
     ValueMap {"0","1","2","3","4","5",".."},
     Values {"uint","sint","string","bool","real","datetime","SNIA Reserved"}]
    uint32 ParameterType[];

    [Description(
         "The lower range for uint Data"),
     ArrayType("Indexed")]
    uint32 ParameterDataUintMin[];

    [Description(
         "The upper range for uint Data"),
     ArrayType("Indexed")]
    uint32 ParameterDataUintMax[];

    [Description(
         "The lower range for sint Data"),
     ArrayType("Indexed")]
    uint32 ParameterDataSintMin[];

    [Description(
         "The upper range for sint Data"),
     ArrayType("Indexed")]
    uint32 ParameterDataSintMax[];

    [Description(
         "The lower range for real Data"),
     ArrayType("Indexed")]
    real32 ParameterDataRealMin[];

    [Description(
         "The upper range for real Data"),
     ArrayType("Indexed")]
    real32 ParameterDataRealMax[];

    [Description(
         "The allowable pattern for string Data using Java regular expressions."),
     ArrayType("Indexed")]
    string ParameterDataStringPattern[];

    [Description(
         "The lower range for datetime Data"),
     ArrayType("Indexed")]
    datetime ParameterDataDatetimeMin[];

    [Description(
         "The upper range for datetime Data"),
     ArrayType("Indexed")]
    datetime ParameterDatetimeMax[];
};

Back to the top