Re: open pegasus 2.12 & SCVMM integration

Ben Wang <[email protected]> Wed, 27 Feb 2013 20:30:16 +0000
Newsgroups gmane.network.open-pegasus.general
Message-ID <[email protected]>
Devchandra,

Thanks for ur reply.

1. The query came from scvmm, I am not sure if  there are options for me to explore.

2. Having said 1, do u think its a good idea to change env_var_linux.status to set pegasus_enable_cql to true so that cql is enabled in my final rpm?

I thought cql is fully supported in version 2.12? Correct me if I am wrong.

Sent from my iPhone

On Feb 27, 2013, at 3:13 PM, "Devchandra L Meetei" <[email protected]<mailto:[email protected]>> wrote:

There seems to be some mis understanding on what I was trying to say
1) interop is preferred way, That was my point, I also went on to say that root/interop will be deprecated by the CIM specification.
2) Please use WQL, This was my first response as you have rightly pointed out in your first post that DMTF::CQL is not supported.

And oh yes, CQL is not enabled for rpm build. It will not be enabled even if you do export in your set up. Reason is rpm build picks up its env from env_var_Linux.status where it is set
PEGASUS_ENABLE_CQL=false,
You can see this file within $PEGASUS_ROOT or on web at http://cvs.opengroup.org/cgi-bin/viewcvs.cgi/pegasus/env_var_Linux.status


On Thu, Feb 28, 2013 at 12:43 AM, Ben Wang <[email protected]<mailto:[email protected]>> wrote:
LOOP in everybody.
-----
Devchandra,

I attended in SNIA plugfest 12, as far as I know, interop namespace should not give me any problem.

I followed Rohini`s suggestion by setting traceLevel = 4, to my surprise, this is what I found:

var/lib/Pegasus/cache/trace/cimserver.trc

1361980206s-312977us: Xml [14222:1086200128] IndicationService.cpp(4803): CIM_ERR_NOT_SUPPORTED: DMTF:CQL

Here is the source code: IndicationService.cpp(4803)

#ifndef PEGASUS_ENABLE_CQL
            // Special code to block CQL, if CQL is disabled
            if ((queryLanguage == "CIM:CQL") || (queryLanguage == "DMTF:CQL"))
            {
                // CQL is not allowed in this case
                PEG_METHOD_EXIT();
                throw PEGASUS_CIM_EXCEPTION(
                    CIM_ERR_NOT_SUPPORTED, queryLanguage);
            }
#endif

Apparaently, PEGASUS_EABLE_CQL has not been defined. I am 100% sure that PEGASUS_EABLE_CQL has been set in my environment variable on my build machine. Here is the evidence,

[root@SMISDev SOURCES]# echo $PEGASUS_ENABLE_CQL
True

For some reason, PEGASUS_ENABLE_CQL did not have effect when I built Pegasus RPM with
rpmbuild -ba tog-pegasus.spec

I will try to explore more options.



_____________________________________
Ben Wang
Software Engineer
FalconStor Software, Inc. (NASDAQ: FALC)
2 Huntington Quadrangle, Suite 2S01
Melville, NY 11747
O: 1.631.773.4489
M: 1.631.988.2209
[email protected]<mailto:[email protected]>

Defining Data Protection, Again™

<image001.gif><http://www.falconstor.com/news-and-events/press-center/press-releases-top-story/2256-falconstor-recovertrac-2-5-selected-for-a-best-of-vmworld-2012-gold-award>

Follow us:

<image002.gif><http://www.falconstor.com/community/blogs> <image003.png><http://twitter.com/FalconStor> <image004.png><http://www.linkedin.com/groups?mostPopular=&gid=776377> <image005.png><http://www.youtube.com/user/FalconStor> <image006.png><http://www.flickr.com/photos/falconstor/>

This email and any attachment(s) is for the intended recipient only and may be confidential. If you are not the intended recipient, please delete this e-mail and advise the sender immediately. Unauthorized use or distribution is prohibited.

From: Devchandra L Meetei [mailto:[email protected]<mailto:[email protected]>]
Sent: Wednesday, February 27, 2013 12:44 PM
To: Deshpande, Rohini (IESL)
Cc: Paul Robert Marino; Ben Wang; [email protected]<mailto:[email protected]>; [email protected]<mailto:[email protected]>

Subject: Re: open pegasus 2.12 & SCVMM integration

As Rohini said,
In fact the preferred way is interop alone, Even root/interop will be deprecated.
If Ben sees his first post, The error msg was clear enough as CQL
On Wed, Feb 27, 2013 at 10:59 PM, Deshpande, Rohini (IESL) <[email protected]<mailto:[email protected]>> wrote:
Oh, the namespace in the xml is not the problem. Open Pegasus by default uses root/PG_InterOp (historical reasons). But “interop” is supported from 2.12, so using “interop” is not a problem in Open Pegasus. The xml below was just an example.

I guess MS uses root/interop. You could try using root/interop if required by setting the “PEGASUS_INTEROP_NAMESPACE” to root/interop.

Some CQL related problems in Open Pegasus are listed in https://wiki.opengroup.org/pegasus-wiki/doku.php?id=dev:workgroups:pegasus_26_snia_requirements_pep&s[]=cql<https://wiki.opengroup.org/pegasus-wiki/doku.php?id=dev:workgroups:pegasus_26_snia_requirements_pep&s%5b%5d=cql> under CQL functionality.

The easiest way to get some clue on this is to enables traces.

Regards,
Rohini Deshpande

From: Paul Robert Marino [mailto:[email protected]<mailto:[email protected]>]
Sent: Wednesday, February 27, 2013 9:52 PM
To: Ben Wang
Cc: Deshpande, Rohini (IESL); [email protected]<mailto:[email protected]>; [email protected]<mailto:[email protected]>
Subject: Re: open pegasus 2.12 & SCVMM integration

Ben
this is what i was getting at
http://msdn.microsoft.com/en-us/library/windows/desktop/ee309362%28v=vs.85%29.aspx
Its called the interop namespace but its actual name is usually root\interop which is the standard for most WBEM implementations.
There are a few exceceptions such as older versions of openpegasus call it root\PG_Interop but in general root\interop is the standard for nearly every WBEM server.
That being said just because it should be registered in root\interop doesn't mean it should be used in the root\interop namespace.In addition I've never seen a single work namespace before and while I dont think ive seen any thing in the standard that explicitly forbids it it is implied in the DMTF documents that you shouldn't do it, so i don't know how well WBEM servers or even the clients would deal with it.

so If I'm right
"
        <LOCALNAMESPACEPATH>
          <NAMESPACE NAME="interop" />
        </LOCALNAMESPACEPATH>
"
should really be
"
        <LOCALNAMESPACEPATH>
          <NAMESPACE NAME="root" />
          <NAMESPACE NAME="interop" />
        </LOCALNAMESPACEPATH>
"
On Wed, Feb 27, 2013 at 10:28 AM, Ben Wang <[email protected]<mailto:[email protected]>> wrote:
Paul,

According to MS spec, they expect all standalone providers use interop namespace, indications are only supported in this namespace.

I found an interesting discussion thread in Google Pegasus group. I have not verified the validity of his opinions, it was published on 6/8/09. It may NOT represent the latest Pegasus status.

“
here should not be differences in the CIMOM to support per-defined vs client-defined indication filters, but the Pegasus CIMOM has a variety of quirks that causes it to handle indications differently depending on build options and workarounds to Pegasus bugs.
1) unless you specifically enable CQL support, Pegasus CIMOM will not handle CQL indications ( I don't recall the name of the build option) (I highly doubt)
2) Even with the CQL build options enabled, Pegasus CIMOM does not support indication filters with the ANY keyword (this is required by the CQL standard for InstModification filters with a comparison of an array property and a specific value)
3) if you build Pegasus CIMOM with PEGASUS_SNIA_EXTENSIONS enabled, it will tolerate the ISA keyword SMI-S  uses in  some WQL InstModification indication filters
4) Pegasus CIMOM always rejects client-defined (CreateInstance) for WQL  IndicationFilters with a filter containing a period (e.g., SourceInstance.OperationalStatus), though it does allow these to be pre-defined.

2) and 4) are clearly bugs. Apparently some SMI-S vendors have updated their implementations ofd Pegasus to work around the bugs.

”

I will do more experiments and hopefully find a way out.

_____________________________________
Ben Wang
Software Engineer
FalconStor Software, Inc. (NASDAQ: FALC)
2 Huntington Quadrangle, Suite 2S01
Melville, NY 11747
O: 1.631.773.4489<tel:1.631.773.4489>
M: 1.631.988.2209<tel:1.631.988.2209>
[email protected]<mailto:[email protected]>

Defining Data Protection, Again™

<image001.gif><http://www.falconstor.com/news-and-events/press-center/press-releases-top-story/2256-falconstor-recovertrac-2-5-selected-for-a-best-of-vmworld-2012-gold-award>

Follow us:
<image002.gif><http://www.falconstor.com/community/blogs><image003.png><http://twitter.com/FalconStor> <image004.png><http://www.linkedin.com/groups?mostPopular=&gid=776377> <image005.png><http://www.youtube.com/user/FalconStor> <image006.png><http://www.flickr.com/photos/falconstor/>

This email and any attachment(s) is for the intended recipient only and may be confidential. If you are not the intended recipient, please delete this e-mail and advise the sender immediately. Unauthorized use or distribution is prohibited.

From: Paul Robert Marino [mailto:[email protected]<mailto:[email protected]>]
Sent: Wednesday, February 27, 2013 8:24 AM
To: Deshpande, Rohini (IESL); Ben Wang; [email protected]<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: RE: open pegasus 2.12 & SCVMM integration

The namespace you specified is interop are you sure you didn't want root/interop
-- Sent from my HP Pre3

________________________________
On Feb 27, 2013 1:00 AM, Deshpande, Rohini (IESL) <[email protected]<mailto:[email protected]>> wrote:
Hi Ben Wang,

I’m not sure what is wrong with your request, but a similar request went through when I tested.

<?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="1000" PROTOCOLVERSION="1.0">
<SIMPLEREQ>
<IMETHODCALL NAME="CreateInstance">
<LOCALNAMESPACEPATH>
<NAMESPACE NAME="test"/>
<NAMESPACE NAME="testprovider"/>
</LOCALNAMESPACEPATH>
<IPARAMVALUE NAME="NewInstance">
<INSTANCE CLASSNAME="CIM_IndicationFilter" >
<PROPERTY NAME="Name"  TYPE="string">
<VALUE>filter2</VALUE>
</PROPERTY>
<PROPERTY NAME="Query"  TYPE="string">
<VALUE>SELECT * from IndicationStressTestClass</VALUE>
</PROPERTY>
<PROPERTY NAME="QueryLanguage"  TYPE="string">
<VALUE>DMTF:CQL</VALUE>
</PROPERTY>
<PROPERTY NAME="SourceNamespace"  TYPE="string">
<VALUE>test/testprovider</VALUE>
</PROPERTY>
</INSTANCE>
</IPARAMVALUE>
</IMETHODCALL>
</SIMPLEREQ>
</MESSAGE>
</CIM>

Maybe you can try the above request. You could also try using the cimsub command with “-c” for creating the filter.
You can enable cimserver tracing to know why it is failing.  “cimserver traceLevel=4 traceComponents=All” (for tracing all components at level 4).

Regards,
Rohini Deshpande
Software Engineer/OpenPegasus Committer
Hewlett Packard

From: Ben Wang [mailto:[email protected]]
Sent: Wednesday, February 27, 2013 4:24 AM
To: [email protected]<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: open pegasus 2.12 & SCVMM integration

Hi all,

I am using Open Pegasus 2.12 + CIMPLE provider to integration with MS SCVMM 2012. According to MS spec, life cycle indication will be used to sync client cache with provider.

SCVMM will try to register client specific filters during its discovery stage. However, my provider fails to respond to the registration request, here is snippet of xml dump

…
<?xml version="1.0" encoding="UTF-8"?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
  <MESSAGE ID="11" PROTOCOLVERSION="1.0">
    <SIMPLEREQ>
      <IMETHODCALL NAME="CreateInstance">
        <LOCALNAMESPACEPATH>
          <NAMESPACE NAME="interop" />
        </LOCALNAMESPACEPATH>
        <IPARAMVALUE NAME="NewInstance">
          <INSTANCE CLASSNAME="CIM_IndicationFilter">
            <PROPERTY NAME="Name" TYPE="string">
              <VALUE>54479A7D15EC4D4F923090046D0D9E91:CIM_InstDeletion:CIM_ComputerSystem</VALUE>
            </PROPERTY>
            <PROPERTY NAME="Caption" TYPE="string">
              <VALUE>Microsoft Storage Service Subscription</VALUE>
            </PROPERTY>
            <PROPERTY NAME="QueryLanguage" TYPE="string">
              <VALUE>DMTF:CQL</VALUE>
            </PROPERTY>
            <PROPERTY NAME="Query" TYPE="string">
              <VALUE>SELECT * FROM CIM_InstDeletion WHERE SourceInstance ISA CIM_ComputerSystem</VALUE>
            </PROPERTY>
            <PROPERTY NAME="SourceNamespace" TYPE="string">
              <VALUE>interop</VALUE>
            </PROPERTY>
          </INSTANCE>
        </IPARAMVALUE>
      </IMETHODCALL>
    </SIMPLEREQ>
  </MESSAGE>
</CIM>

02/26/13 16:39:29 INFORMATION:

<?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="11" PROTOCOLVERSION="1.0">
<SIMPLERSP>
<IMETHODRESPONSE NAME="CreateInstance">
<ERROR CODE="7" DESCRIPTION="CIM_ERR_NOT_SUPPORTED: DMTF:CQL"/></IMETHODRESPONSE>
</SIMPLERSP>
</MESSAGE>
</CIM>
…


I do have some debug messages in my CIM_IndicationFilter and CIM_InstDeletion provider, but those message never get printed out. It seems to me that Pegasus responds to the client registration request without asking my provider.

I am still exploring the right way to implement an indication provider, so I appreciate if someone can cast light on my issue even if it sounds a little dumb:)

PS: I did have PEGASUS_ENABLE_CQL=true when I compiled Open Pegasus.

Could somebody cast some light on my issue?

Thank you very much.
_____________________________________
Ben Wang
Software Engineer
FalconStor Software, Inc. (NASDAQ: FALC)
2 Huntington Quadrangle, Suite 2S01
Melville, NY 11747
O: 1.631.773.4489<tel:1.631.773.4489>
M: 1.631.988.2209<tel:1.631.988.2209>
[email protected]<mailto:[email protected]>

Defining Data Protection, Again™

<image001.gif><http://www.falconstor.com/news-and-events/press-center/press-releases-top-story/2256-falconstor-recovertrac-2-5-selected-for-a-best-of-vmworld-2012-gold-award>

Follow us:
<image002.gif><http://www.falconstor.com/community/blogs><image003.png><http://twitter.com/FalconStor> <image004.png><http://www.linkedin.com/groups?mostPopular=&gid=776377> <image005.png><http://www.youtube.com/user/FalconStor> <image006.png><http://www.flickr.com/photos/falconstor/>

This email and any attachment(s) is for the intended recipient only and may be confidential. If you are not the intended recipient, please delete this e-mail and advise the sender immediately. Unauthorized use or distribution is prohibited.





--
Warm Regards
--Dev
OpenPegasus Developer
"It's Always better to try and fail instead of not doing/trying anything"



--
Warm Regards
--Dev
OpenPegasus Developer
"It's Always better to try and fail instead of not doing/trying anything"
image006.png (image/png, 2.1 KB) - not displayed
image004.png (image/png, 1.7 KB) - not displayed
image003.png (image/png, 2.3 KB) - not displayed
image001.gif (image/gif, 17.8 KB) - not displayed
image002.gif (image/gif, 1 KB) - not displayed
image005.png (image/png, 2.2 KB) - not displayed