Re: Create instance in mof file without provider

Ashok K Pathak <[email protected]> Wed, 23 Jan 2013 22:55:56 +0530
Newsgroups gmane.network.open-pegasus.general
Message-ID <OFF102D53B.0AFAA097-ON65257AFC.005EC057-65257AFC.005FCA1C@in.ibm.com>
Open Pegasus has a configuration property,
"repositoryIsDefaultInstanceProvider", that may be used to controls the
Pegasus repository which may  be used to instrument instance
operations for which no provider is registered.

When the above mentioned configuration property  is set to "true", a
GetInstance (or CreateInstance or EnumerateInstances, etc.) operation is
sent to the repository when there is  no
provider  registered for that class.



A description of repositoryIsDefaultInstanceProvider  property
from BuildAndReleaseOption doc

http://cvs.opengroup.org/cgi-bin/viewcvs.cgi/pegasus/doc/BuildAndReleaseOptions.html

>>>


Description: If true, the Repository functions as the Instance Provider for
all classes for which there is not an explicitly registered Provider. This
flag is also used to control the behavior of the repository when
processing association operators.
    Recommended Default Value (Development Build): true
    Recommended Default Value (Release Build): false
    Recommend To Be Fixed/Hidden (Development Build): No/No
    Recommend To Be Fixed/Hidden (Release Build): No/Yes
    Dynamic?:  No
Considerations:  This flag can be used to configure the CIM Server to allow
the Repository to be used by CIM Clients and CIM Providers as a dynamic
data store. The setting of this flag will significantly affect CIM  Server
behavior as viewed by the CIM Client.
The following issues should be considered when setting
repositoryIsDefaultInstanceProvider=true:
 Authorization.  The repository has no concept of which users (or
components) are authorized to perform which operations.
Appearance of instrumentation.  A client application cannot determine
whether instrumentation exists for a given CIM class. For example,  imagine
a client issues a CreateInstance operation on a Disk class for    which no
provider is registered.  The instance will be stored in the repository, and
the client gets a "success" response. Does that mean a disk device has been
created on the server? Even worse, when another client issues an
EnumerateInstances operation, the spurious Disk instance is returned.  With
repositoryIsDefaultInstanceProvider=false, the CreateInstance operation
above would have returned a NOT_SUPPORTED error.
Potential for inconsistent data.  Using the repository as a data cache
increases the probability that a client will see stale or incorrect data. A
provider can better control the correlation between the data returned and
the current state of the underlying managed resource (whether or not the
provider caches the data).

The following issues should be considered when setting
repositoryIsDefaultInstanceProvider=false:
Provider Availability. Certain Providers have been developed to use the
Repository as a dynamic data store. These Providers are currently not
supported on system where this flag is disabled. E.g., the Common
Diagnostics Model (CDM) Provider
(http://developer.intel.com/design/servers/cdm/) relies on use of the
Repository to store instances of CIM_DiagnosticSetting.  If this flag set
to false, this Provider will not function correctly. Note that this feature
is supported by other WBEM implementation.  Therefore, disabling this
feature can increase the cost of migrating existing Providers to
OpenPegasus.
Source Configuration File:  Pegasus/Config/RepositoryPropertyOwner.cpp

<<<

Regards
Ashok




                                                                           
             Roman Rakus                                                   
             <[email protected]                                             
             m>                                                         To 
                                       [email protected],          
             01/23/2013 07:03                                           cc 
             PM                                                            
                                                                   Subject 
                                       Create instance in mof file without 
                                       provider                            
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi,
I have encountered following problem:
sblim-gather-provider is using `instance of' for creating instance. The
instances class defined in different mof file, but for the defined class
is not provided any provider. And the `instance of' creation of instance
fails with ERR_NOT_SUPPORTED.

Is it somehow possible to create instance of some class without provider
for such class in mof file?

Thanks.

RR