WIMS> CIM> Call for volunteers to assist with prototype CIM proxy provider

From: Richard_Landau@Dell.com
Date: Thu Sep 18 2008 - 18:24:41 EDT

  • Next message: Richard_Landau@Dell.com: "RE: WIMS> 9/22 concall"

    Several people volunteered to help in the construction of the prototype
    CIM proxy provider. I can certainly use the help in a few areas. All
    of these are initialization files, just structured ASCII. No code, just
    tables to supply the data translations from one format to the other.

    Here are a few things I can use help with, please, if someone has time.

    1. MIB dumps: What is actually in the SNMP agents of printers? I could
    use MIB dumps from a variety of printers. (The provider can run from
    these MIB dumps instead of a live printer, for convenience.) Getting a
    dump in a reasonable format is simple to do.

    (In all file formats, blank lines and comment lines beginning with # or
    ; will be ignored, no problem. Use comments to describe the contents,
    provenance, version, etc., of the file.)

    Format: one OID and value per line.
    ABNF: numeric-oid "\t" contents
    If there is additional information in the line such as datatype, length,
    etc., that's okay. I can process almost anything down to the format
    needed.

    Easy way to do this: Get Net-SNMP v5.4.1.2 at
    http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=1
    62885&release_id=611628
    The kit is less than 4MB. Installs in a few seconds.

    The CLI command to get a numeric dump, which is all I need, is
      snmpwalk -v 1 -c public -O n 11.22.33.44 1
    Substitute the right IP address, SNMP version number, community name.
    (SNMPv2 is called "v2c" in the command options.) If you have timeout
    problems, check the command help for the options to lengthen timeouts
    and retries.

    I'll strip off the leading dot (they use the convention .1.3.6.1.2.1 et
    ff) and the syntax spec, which takes all of two lines of sed, and poof,
    done.

    All contributions appreciated. An example is attached.

    2. Enum value translations: How to map the enum values of SNMP
    variables to the enum values of the related CIM properties? I need the
    correlation between the enums that come from the printer and the ones
    that are emitted in the CIM property.

    These correlations cannot, unfortunately, be constructed automatically.
    They do require a human to read the definitions and decide what old
    values are equivalent to what new values.

    Format: one mapping pair per line.
    ABNF: cim-classname "." cim-property-name "\t"
            cim-enum-numeric-value "\t" cim-enum-string-value
            snmp-variable-name "\t" snmp-enum-numeric-value "\t"
    snmp-enum-string-value

    A starter set file is attached. It contains everything except the SNMP
    numeric and string values. It seems very large, but take heart: one
    needs to fill in only a few percent of it. The init code is smart
    enough to store only the values with proper translations, and if the
    runtime never encounters one of the unknown values, no problema.

    Shortcut #1: Let's not bother with all the properties. Let's include
    only the properties that are likely to show up non-null in response to a
    request. For instance, almost anything that does not have "Print" in
    its classname is not likely to be rendered by the prototype provider.
    There might be a few properties that are inherited from non-print parent
    classes, for instance the status variables.

    Shortcut #2: Let's not bother with all the values. Let's include only
    the values that one is likely to see. Almost all the enum lists contain
    99% chaff, at least w.r.t. a prototype like this. For instance, the
    only values of CIM_PrintInterpreter.LangType that I am likely to
    encounter are PostScript and PCL and maybe Unknown; we don't need all
    sixty-five values.

    3. Property mappings: What CIM properties are mapped directly from
    their SNMP counterparts? This is particularly important because it
    keeps me from having to write several hundred tiny functions, one for
    each property. Directly mapped properties can all be done through a
    single function.

    Take this list of properties and tell me which ones are mapped directly
    from some SNMP variable. If there is such a direct mapping, add the
    name of the SNMP variable to the line. If not, do nothing; just leave
    the CIM property name alone on the line.

    Format: one mapping per line.
    ABNF: cim-classname "." cim-property-name "\t" snmp-variable-name

    A starter set file is attached.

    Thank you all for any assistance you can give.

    rick
    ----------------------
    Richard_Landau(at)dell(dot)com, Stds & System Mgt Architecture, CTO
    Office
    +1-512-728-9023, One Dell Way, RR5-3, MS RR5-32, Round Rock, TX 78682
     <<WhatINeedSamples.zip>>





    This archive was generated by hypermail 2.1.4 : Thu Sep 18 2008 - 18:25:32 EDT