Hi
All,
The below change introduced in Pegasus 2.4
is preventing the SLP from obtaining the nameSpaces list from the cimom( Pls
refer the last e-mail found below for the scenario description). This works fine
in 2.3.2. Can someone pls confirm if this is the planned
behaviour or if something has gone wrong in the implementation
?
Pls find below the new and the old
code snippet.
enumerateInstances method in
CIMOMHandle.cpp - Pegasus- 2.4 :
Here the method calls the CIMOMHandleRep's
enumerateInstances method which is a virtual
method.
Array<CIMInstance>
CIMOMHandle::enumerateInstances(
const OperationContext &
context,
const CIMNamespaceName &nameSpace,
const CIMName& className,
Boolean
localOnly,
Boolean
includeQualifiers,
Boolean
includeClassOrigin,
const CIMPropertyList&
propertyList)
{
return
_rep->enumerateInstances(
context,
nameSpace,
className,
deepInheritance,
localOnly,
includeQualifiers,
includeClassOrigin,
propertyList);
}
CIMOMHandleRep.h of Pegasus
2.4
virtual Array<CIMInstance>
enumerateInstances(
const
OperationContext & context,
const CIMNamespaceName&
nameSpace,
const CIMName&
className,
Boolean
deepInheritance,
Boolean
localOnly,
Boolean
includeQualifiers,
Boolean
includeClassOrigin,
const
CIMPropertyList& propertyList) = 0;
enumerateInstances method in
CIMOMHandle.cpp - Pegasus- 2.3.2 :
Array<CIMInstance>
CIMOMHandle::enumerateInstances(
const OperationContext &
context,
const CIMNamespaceName &nameSpace,
const CIMName& className,
Boolean
deepInheritance,
Boolean localOnly,
Boolean
includeQualifiers,
Boolean includeClassOrigin,
const CIMPropertyList& propertyList)
{
PEG_METHOD_ENTER(TRC_CIMOM_HANDLE,
"CIMOMHandle::enumerateInstances()");
#ifdef
PEGASUS_OS_OS400
// If this is running in user-state, then run
the request
// through the user-state layer
if
(_rep->_chOS400.hasKey())
{
return
_rep->_chOS400.enumerateInstances(context,
nameSpace,
className,
deepInheritance,
localOnly,
includeQualifiers,
includeClassOrigin,
propertyList);
}
#endif
cimom_handle_op_semaphore
opsem(_rep);
// encode request
CIMEnumerateInstancesRequestMessage * request
=
new
CIMEnumerateInstancesRequestMessage(
XmlWriter::getNextMessageId(),
nameSpace,
className,
deepInheritance,
localOnly,
includeQualifiers,
includeClassOrigin,
propertyList,
QueueIdStack(_rep->get_qid(),
_rep->get_output_qid()));
request->dest =
_rep->get_output_qid();
#ifdef
PEGASUS_OS_OS400
// On OS/400, do not allow the provider
set the user name for the request.
// Get the user name
from the current thread.
char
os400UserName[11];
if (ycmGetCurrentUser(os400UserName) ==
0)
{
throw
CIMException(CIM_ERR_FAILED,
MessageLoaderParms(
"Common.CIMOMHandleOS400UserState.UNKNOWN_ERROR",
"An internal error occurred during the processing of the CIMOM
handle"));
}
EtoA(os400UserName);
request->userName =
String(os400UserName);
#endif
CIMEnumerateInstancesResponseMessage *
response;
try
{
response
=
static_cast<CIMEnumerateInstancesResponseMessage
*>(
_rep->do_request(request,
CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE,
context));
}
catch(CIMException
&)
{
throw;
}
catch(...)
{
PEG_TRACE_STRING(TRC_CIMOM_HANDLE,
Tracer::LEVEL4,
"Exception caught in
CIMOMHandle");
//l10n
//throw
CIMException(CIM_ERR_FAILED, "Exception caught in
CIMOMHandle");
throw
CIMException(CIM_ERR_FAILED,
MessageLoaderParms(
"Provider.CIMOMHandle.CAUGHT_EXCEPTION",
"Exception caught in CIMOMHandle"));
}
Array<CIMInstance> cimInstances =
response->cimNamedInstances;
delete response;
PEG_METHOD_EXIT();
return(cimInstances);
}
Regards,
Madhavi R
Hi
All,
I'm running the TestSLPClient on Pegasus 2.4 . The CIMOM gets
discovered, Howerver the Namespace field in the discovered output is empty,
through there are a number of namespaces present in the repository. However on
Pegasus 2.3.2 , this namespace field contains all the namespaces existing in
the CIMOM's repository. We want to have SLP to discover 2.4 version of the
CIMOMs completely, any help in this regard is appreciated.
Pls find the
output of TestSLPClient on 2.4 and 2.3.2 below:
TestSLPClient on Pegasus 2.4:
[root <at> DEVPC1 pegasus-2.4]# TestSLPClient
======================================================
service:wbem:https://10.146.2.173:5989
======================================================
'template-url-syntax=https://10.146.2.173:5989'
'service-location-tcp=10.146.2.173'
'service-id=PEG:1091425952752-10-146-2-173'
'service-hi-name=Pegasus'
'service-hi-description=Pegasus
CIM Server Version
2.4'
'template-type=wbem'
'template-version=1.0'
'template-description=This
template describes the attributes used for advertising Pegasus CIM
Servers.'
'InteropSchemaNamespace=root/PG_Interop'
'FunctionalProfilesSupported=Basic
Read,Basic Write,Schema Manipulation,Instance Manipulation,Association
Traversal,Qualifier
Declaration,Indications'
'MultipleOperationsSupported=FALSE'
'AuthenticationMechanismsSupported=Basic'
'ProtocolVersion=1.0'
'Namespace='
'classinfo='
'RegisteredProfilesSupported=SNIA:Array:Cluster:Access
Points:Disk Drive:Location:LUN Mapping and Masking:Pool Manipulation
Capabilities and Settings:Extent Mapping:LUN
Creation:Software'
======================================================
service:wbem:http://10.146.2.173:5988
======================================================
'template-url-syntax=http://10.146.2.173:5988'
'service-location-tcp=10.146.2.173'
'service-id=PEG:1091425952752-10-146-2-173'
'service-hi-name=Pegasus'
'service-hi-description=Pegasus
CIM Server Version
2.4'
'template-type=wbem'
'template-version=1.0'
'template-description=This
template describes the attributes used for advertising Pegasus CIM
Servers.'
'InteropSchemaNamespace=root/PG_Interop'
'FunctionalProfilesSupported=Basic
Read,Basic Write,Schema Manipulation,Instance Manipulation,Association
Traversal,Qualifier
Declaration,Indications'
'MultipleOperationsSupported=FALSE'
'AuthenticationMechanismsSupported=Basic'
'ProtocolVersion=1.0'
'Namespace='
'classinfo='
'RegisteredProfilesSupported=SNIA:Array:Cluster:Access
Points:Disk Drive:Location:LUN Mapping and Masking:Pool Manipulation
Capabilities and Settings:Extent Mapping:LUN Creation:Software'
+++++
passed all tests
[root <at> DEVPC1 pegasus-2.4]# Started SLP Provider
thread.
The
output from running TestSLPClient on 2.3.2 is as
below:
[root <at> DEVPC1 pegasus-2.3.2]# TestSLPClient
======================================================
service:wbem:https://10.146.2.173:5989
======================================================
'template-url-syntax=https://10.146.2.173:5989'
'service-location-tcp=10.146.2.173'
'service-id=PEG:1091426585943-10-146-2-173'
'service-hi-description=Pegasus
CIM Server Version
2.3.2'
'service-hi-name=Pegasus'
'template-type=wbem'
'template-version=1.0'
'template-description=This
template describes the attributes used for advertising Pegasus CIM
Servers.'
'InteropSchemaNamespace=root/PG_Interop'
'FunctionalProfilesSupported=Basic
Read,Basic Write,Schema Manipulation,Instance Manipulation,Association
Traversal,Qualifier
Declaration,Indications'
'MultipleOperationsSupported=FALSE'
'AuthenticationMechanismsSupported=basic'
'ProtocolVersion=1.0'
'Namespace=root,root/PG_Internal,root/cimv2,root/PG_InterOp'
'classinfo='
'RegisteredProfilesSupported=SNIA:Array:Cluster:Access
Points:Disk Drive:Location:LUN Mapping and Masking:Pool Manipulation
Capabilities and Settings:Extent Mapping:LUN
Creation:Software'
======================================================
service:wbem:http://10.146.2.173:5988
======================================================
'template-url-syntax=http://10.146.2.173:5988'
'service-location-tcp=10.146.2.173'
'service-id=PEG:1091426585943-10-146-2-173'
'service-hi-description=Pegasus
CIM Server Version
2.3.2'
'service-hi-name=Pegasus'
'template-type=wbem'
'template-version=1.0'
'template-description=This
template describes the attributes used for advertising Pegasus CIM
Servers.'
'InteropSchemaNamespace=root/PG_Interop'
'FunctionalProfilesSupported=Basic
Read,Basic Write,Schema Manipulation,Instance Manipulation,Association
Traversal,Qualifier
Declaration,Indications'
'MultipleOperationsSupported=FALSE'
'AuthenticationMechanismsSupported=basic'
'ProtocolVersion=1.0'
'Namespace=root,root/PG_Internal,root/cimv2,root/PG_InterOp'
'classinfo='
'RegisteredProfilesSupported=SNIA:Array:Cluster:Access
Points:Disk Drive:Location:LUN Mapping and Masking:Pool Manipulation
Capabilities and Settings:Extent Mapping:LUN Creation:Software'
+++++
passed all tests
[root <at> DEVPC1 pegasus-2.3.2]# Started SLP Provider
thread.
Regards,
Madhavi
R.
| Confidentiality Notice
The information contained in this electronic message and any attachments to this message are intended
for the exclusive use of the addressee(s) and may contain confidential or privileged information. If
you are not the intended recipient, please notify the sender at Wipro or Mailadmin <at> wipro.com immediately
and destroy all copies of this message and any attachments.
|
| Confidentiality Notice
The information contained in this electronic message and any attachments to this message are intended
for the exclusive use of the addressee(s) and may contain confidential or privileged information. If
you are not the intended recipient, please notify the sender at Wipro or Mailadmin <at> wipro.com immediately
and destroy all copies of this message and any attachments.
|