Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #9, Fixes #329: implement DMTF Pull Operations with tests #320

Merged
merged 1 commit into from Jun 9, 2016

Commits on Jun 8, 2016

  1. This pr implements all of the DMTF defined pull operations except for

    EnumerationCount which will NOT be implemented because it has been
    deprecated.
    
    These operations are implemented consistent with the DMTF specifications
    and with the APSs approximately the same as DSP0200.  The major
    difference is that we carry the namespace from operation internally
    within the context that must be passed between operations since it
    is a constant once the open has been executed. All of the
    pull operations defined in DSP0200 are implemented except for
    EnumerationContext.  We will not implement that request because it
    is being deprecated by DMTF as of no value.
    
    The api documentation for all of these operations is up-to-date and
    has passed multiple reviews.
    
    Implements the result of all of the pull operations as a named tuple
    with three parts, instances/paths, end_of_sequence, enumeration_context.
    The OpenQueryInstances has 4 parts to account for the ResultClass parameter.
    
    Adds INSTANCEPATH as IRETURNVALUE child in tupleparse.py as they
    are used by the pull operations xml.
    
    The live test (run_cim_operations.py) has been extended to run tests
    on all of the pull operations. Today this tests largely the main
    paths and the core parameters on all of the operations.
    
    We are missing tests for a lot of edge cases and for the extra paramters
    on associators, references, etc.
    
    These tests have been successfully run against openpegasus with
    run_cimoperations.py.
    
    API documentation is complete.  Tests exist for all pull functions as part
    of run_cimoperations.py and they have been tested against
    OpenPegasus.
    
    This pr does NOT include changes to wbemcli for these new operations.
    
    test_client.py was extended to process the results of the pull operations
    since there is a key difference between the operation and the others in
    that these return a tuple of results (objects, paramvalues) rather than
    just objecs. We added a new response type that processes the tuple results.
    
    There is one mock testcase for openEnumerateInstances.
    
    Note added to changes.rst about this pr and the new methods.
    
    Adds a single example of a pull enumerate instances session. This example
    uses the pull to enumerate instances, display information on each operation
    and display the resulting list of instances
    
    Last version of pr fixes pull operations per comments including:
    
    1. Modified pull result to globals for namedtuples.
    2. Remove commented code.
    3. Simplify pull result code so it is now a single statement
    4. Modified run_cimoperations.py to clean up tests and fix some errors in
    tests. There is still one test that takes a long time because it
    runs against a whole namespace.
    KSchopmeyer committed Jun 8, 2016
    Configuration menu
    Copy the full SHA
    c35d540 View commit details
    Browse the repository at this point in the history