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