method provider without instances

View: New views
9 Messages — Rating Filter:   Alert me  

method provider without instances

by Prash_blah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I had created a method provider without any instances as it was purely a method provider only and had no properties or qualifiers; which I guess is allowed by the CIM server.

While trying to invoke this method from wsman, wsman would segfault. On going through the sources, I found that in cim_get_op_from_enum() we are calling client->cc)->ft->enumInstanceNames() and this is where it aborts. I am not sure why it is aborting here? Is this an sfcc issue.

Also as this provider does not have an instance, is it possible to invoke this method without any selectors from wsman????

I was also wondering if there was a way to invoke a particular method for all the instances without providing individual selectors.

Thanks
Prashanth

Re: method provider without instances

by Prash_blah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

When there is no instances in a method provider I get the following output on the server side:

Parse error. Expected token(s) XTOK_ERROR or XTOK_IRETVALUE, found tag number 273 (see cimXmlParser.h) and following xml: </SIMPLERSP>

-Prash

Prash_blah wrote:
Hi,

I had created a method provider without any instances as it was purely a method provider only and had no properties or qualifiers; which I guess is allowed by the CIM server.

While trying to invoke this method from wsman, wsman would segfault. On going through the sources, I found that in cim_get_op_from_enum() we are calling client->cc)->ft->enumInstanceNames() and this is where it aborts. I am not sure why it is aborting here? Is this an sfcc issue.

Also as this provider does not have an instance, is it possible to invoke this method without any selectors from wsman????

I was also wondering if there was a way to invoke a particular method for all the instances without providing individual selectors.

Thanks
Prashanth

Re: method provider without instances

by Klaus Kaempf :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

* Prash_blah <prashanth.venky@...> [Oct 01. 2009 10:07]:
>
> Hi,
>
> I had created a method provider without any instances as it was purely a
> method provider only and had no properties or qualifiers; which I guess is
> allowed by the CIM server.

Can you verify this by using wbemcli from the sblim.sf.net project ?

>
> While trying to invoke this method from wsman, wsman would segfault. On
> going through the sources, I found that in cim_get_op_from_enum() we are
> calling client->cc)->ft->enumInstanceNames() and this is where it aborts. I
> am not sure why it is aborting here? Is this an sfcc issue.

Hmm, it shouldn't abort, thats certainly an openwsman bug. But I would
rule out sfcc as the root cause also ;-)

>
> Also as this provider does not have an instance, is it possible to invoke
> this method without any selectors from wsman????

Good question. I guess if wbemcli allows it, wsman should also.

>
> I was also wondering if there was a way to invoke a particular method for
> all the instances without providing individual selectors.

I'd say no. You might ask on the sblim-devel mailing list though.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

Re: method provider without instances

by Klaus Kaempf :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

* Prash_blah <prashanth.venky@...> [Oct 01. 2009 10:17]:
>
> When there is no instances in a method provider I get the following output on
> the server side:
>
> Parse error. Expected token(s) XTOK_ERROR or XTOK_IRETVALUE, found tag
> number 273 (see cimXmlParser.h) and following xml: </SIMPLERSP>

Are you using sblim-sfcb as the CIMOM ? It has a trace flag to log raw
xml which would be helpful to track this down.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

Re: method provider without instances

by Prash_blah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I have now added 2 instances to my method provider. I used wbemcli to invoke the method without specifying any particular instance name / selector and it seems to work fine.

./wbemcli cm http://HOST:5988/root/cimv2:Xen_ProviderClass getCPUIds.vmName=mbrGuestVM-3
HOST:5988/root/cimv2:Xen_ProviderClass getCPUIds: 1 cpuId:1,2,3

But with wsman i always need to provide a selector. Is there any particular reason for this?

Thanks
Prashanth

On Thu, Oct 1, 2009 at 2:29 PM, Klaus Kaempf <kkaempf@...> wrote:
* Prash_blah <prashanth.venky@...> [Oct 01. 2009 10:07]:
>
> Hi,
>
> I had created a method provider without any instances as it was purely a
> method provider only and had no properties or qualifiers; which I guess is
> allowed by the CIM server.

Can you verify this by using wbemcli from the sblim.sf.net project ?

>
> While trying to invoke this method from wsman, wsman would segfault. On
> going through the sources, I found that in cim_get_op_from_enum() we are
> calling client->cc)->ft->enumInstanceNames() and this is where it aborts. I
> am not sure why it is aborting here? Is this an sfcc issue.

Hmm, it shouldn't abort, thats certainly an openwsman bug. But I would
rule out sfcc as the root cause also ;-)

>
> Also as this provider does not have an instance, is it possible to invoke
> this method without any selectors from wsman????

Good question. I guess if wbemcli allows it, wsman should also.

>
> I was also wondering if there was a way to invoke a particular method for
> all the instances without providing individual selectors.

I'd say no. You might ask on the sblim-devel mailing list though.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)



------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

Re: method provider without instances

by Prash_blah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It seems like methods are not attached to any particular instance. they are global and common to all instances. We are allowed to have just a plain method provider with no instance and it works with wbemcli too.

I am currently using OpenPegasus as the CIM server, so may not be able to provide the trace data.

-Prash

On Thu, Oct 1, 2009 at 2:30 PM, Klaus Kaempf <kkaempf@...> wrote:
* Prash_blah <prashanth.venky@...> [Oct 01. 2009 10:17]:
>
> When there is no instances in a method provider I get the following output on
> the server side:
>
> Parse error. Expected token(s) XTOK_ERROR or XTOK_IRETVALUE, found tag
> number 273 (see cimXmlParser.h) and following xml: </SIMPLERSP>

Are you using sblim-sfcb as the CIMOM ? It has a trace flag to log raw
xml which would be helpful to track this down.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)



------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

Re: method provider without instances

by Suresh Sundriyal-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The error seems to be coming from sfcc. The file backend/cimxml/grammar.c has this:

static void parseError(char* tokExp, int tokFound, ParserControl *parm)
{
    printf("Parse error. Expected token(s) %s, found tag number %d (see cimXmlParser.h) and following xml: %.255s...\nAborting.\n", tokExp, tokFound, parm->xmb->cur+1);
    exit(0);
}

It seems like if the error is so bad that sfcc cannot continue, it should be aborting instead of doing a clean exit. I would say the clean exit(0) seems like a bug in sfcc however the query being sent by Openwsman could be the actual problem that causes sfcc to hit this codepath.

To enable trace in sfcb I think you start sfcb from the command line with 'sfcb -t 4096', or something to that effect. The problem is that sfcb only prints out the first 1024 bytes of the XML message. You can change that and recompile sfcb but I don't remember where the limit is defined off the top of my head.

--
Suresh

________________________________________
From: Klaus Kaempf [kkaempf@...]
Sent: Thursday, October 01, 2009 2:00 AM
To: Prash_blah
Cc: openwsman-devel@...
Subject: Re: [Openwsman-devel] method provider without instances

* Prash_blah <prashanth.venky@...> [Oct 01. 2009 10:17]:
>
> When there is no instances in a method provider I get the following output on
> the server side:
>
> Parse error. Expected token(s) XTOK_ERROR or XTOK_IRETVALUE, found tag
> number 273 (see cimXmlParser.h) and following xml: </SIMPLERSP>

Are you using sblim-sfcb as the CIMOM ? It has a trace flag to log raw
xml which would be helpful to track this down.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

Re: method provider without instances

by Prash_blah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for your suggestions Suresh, but I am not using sfcb.
From my debugging, the issue occurs when wsman calls enumerateInstanceNames. When this particular provider has no instances, we get the parse error. Later I added an instance to this provider and I did not have any issues in invoking the method.

So the question is,

- Why does wsman enumerate instance names while invoking methods?

-Prash

On Thu, Oct 1, 2009 at 3:08 PM, Suresh Sundriyal <ssundriy@...> wrote:
The error seems to be coming from sfcc. The file backend/cimxml/grammar.c has this:

static void parseError(char* tokExp, int tokFound, ParserControl *parm)
{
   printf("Parse error. Expected token(s) %s, found tag number %d (see cimXmlParser.h) and following xml: %.255s...\nAborting.\n", tokExp, tokFound, parm->xmb->cur+1);
   exit(0);
}

It seems like if the error is so bad that sfcc cannot continue, it should be aborting instead of doing a clean exit. I would say the clean exit(0) seems like a bug in sfcc however the query being sent by Openwsman could be the actual problem that causes sfcc to hit this codepath.

To enable trace in sfcb I think you start sfcb from the command line with 'sfcb -t 4096', or something to that effect. The problem is that sfcb only prints out the first 1024 bytes of the XML message. You can change that and recompile sfcb but I don't remember where the limit is defined off the top of my head.

--
Suresh

________________________________________
From: Klaus Kaempf [kkaempf@...]
Sent: Thursday, October 01, 2009 2:00 AM
To: Prash_blah
Cc: openwsman-devel@...
Subject: Re: [Openwsman-devel] method provider without instances

* Prash_blah <prashanth.venky@...> [Oct 01. 2009 10:17]:
>
> When there is no instances in a method provider I get the following output on
> the server side:
>
> Parse error. Expected token(s) XTOK_ERROR or XTOK_IRETVALUE, found tag
> number 273 (see cimXmlParser.h) and following xml: </SIMPLERSP>

Are you using sblim-sfcb as the CIMOM ? It has a trace flag to log raw
xml which would be helpful to track this down.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)


------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel

Re: method provider without instances

by Suresh Sundriyal-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Prashanth,

Looking at the code for Openwsman, it seems like there is no support for static methods. Currently Openwsman does an enuminstance call on the specified base class in the ResourceURI and checks the passed in selectors to see if the instance actually exists and then invokes the method. If the base class is not specified, then it directly calls getInstance on the specified selectors. This pretty much breaks the whole concept of static methods. So to answer your question, I don't think what you are trying to do is possible with Openwsman.

I know there is provision for static methods in CIM but I don't know what WS-Management spec has to say about it. If there is provision for it, we could probably do a getClass to check if the method is defined as static. However, considering the fact that class level operations are not yet an accepted WS-Management standard, I would be very surprised if the spec actually has any provision for them.

--
Suresh
________________________________________
From: Prashanth Venky [prashanth.venky@...]
Sent: Thursday, October 01, 2009 2:18 AM
To: Klaus Kaempf
Cc: openwsman-devel@...
Subject: Re: [Openwsman-devel] method provider without instances

Hi,

I have now added 2 instances to my method provider. I used wbemcli to invoke the method without specifying any particular instance name / selector and it seems to work fine.

./wbemcli cm http://HOST:5988/root/cimv2:Xen_ProviderClass getCPUIds.vmName=mbrGuestVM-3
HOST:5988/root/cimv2:Xen_ProviderClass getCPUIds: 1 cpuId:1,2,3

But with wsman i always need to provide a selector. Is there any particular reason for this?

Thanks
Prashanth

On Thu, Oct 1, 2009 at 2:29 PM, Klaus Kaempf <kkaempf@...<mailto:kkaempf@...>> wrote:
* Prash_blah <prashanth.venky@...<mailto:prashanth.venky@...>> [Oct 01. 2009 10:07]:
>
> Hi,
>
> I had created a method provider without any instances as it was purely a
> method provider only and had no properties or qualifiers; which I guess is
> allowed by the CIM server.

Can you verify this by using wbemcli from the sblim.sf.net<http://sblim.sf.net> project ?

>
> While trying to invoke this method from wsman, wsman would segfault. On
> going through the sources, I found that in cim_get_op_from_enum() we are
> calling client->cc)->ft->enumInstanceNames() and this is where it aborts. I
> am not sure why it is aborting here? Is this an sfcc issue.

Hmm, it shouldn't abort, thats certainly an openwsman bug. But I would
rule out sfcc as the root cause also ;-)

>
> Also as this provider does not have an instance, is it possible to invoke
> this method without any selectors from wsman????

Good question. I guess if wbemcli allows it, wsman should also.

>
> I was also wondering if there was a way to invoke a particular method for
> all the instances without providing individual selectors.

I'd say no. You might ask on the sblim-devel mailing list though.

Klaus
---
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)



------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Openwsman-devel mailing list
Openwsman-devel@...
https://lists.sourceforge.net/lists/listinfo/openwsman-devel