[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openlmi-devel
Subject:    Re: Invoke installfromuri - software update
From:       George varghese <georgooty () gmail ! com>
Date:       2013-07-30 9:40:06
Message-ID: CAF+s_tuWcZqnv9RnsU6FHqq+eGOm_K8a+aAGfa7dfr_oZHNKrQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi,

Anybody please reply to me.

Regards,
George


On Mon, Jul 29, 2013 at 4:51 PM, George varghese <georgooty@gmail.com>wrote=
:

> Hi,
>
> I have following questions regarding software update profile,
>
> Qn 1. How to know the software revision and other details
>  Ans: I think that CIM_SoftwareIdentity class is used for this purpose.
>  Is it right?
>
> Qn2 : I want to implement CIM_SoftwareInstallationSerice.InstallFromURI
> method. Right now I am trying to implement it synchronous.. Later I wish =
to
> change it asynchronous method.
>     Ans: I shall describe the steps here.
>            1. Create the instance of CIM_ConcreteJob class. Fill the
> status as downloading
>            2. Download and install the firmware in system
>            3. Return OK as status.
> Qn3: How to the installation status? means that which class enumerating
> for this purpose?
>
>
> Please advise me.
>
> Regards,
> George
>
>
> On Thu, Jul 25, 2013 at 3:51 PM, George varghese <georgooty@gmail.com>wro=
te:
>
>> Hi,
>>
>>
>>
>>>  What optional features you want to implement (like Ordered
>>>> Dependencies, Software Bundles etc.).
>>>
>>> No. I am trying to implement firmware via http . So I trying to
>> implement InstallFromURI method. In this method I implement download
>> packages using CURL library to destination path. Right now I didn't fill
>> CIM_ConcreteJob instance.
>>
>> What other functionality you are missing in the profile (verification)?
>>
>> Need to enumerate current installed firmware revision.For this purpose
>> need to enumerate instance of  CIM_SoftwareIdentity  and
>> CIM_SoftwareInstallationService class. right?
>>
>>
>>
>>
>>
>> Whether you are content with synchronous methods? - easy to implement.
>>
>> current implementation firmware installation done by another process. So
>> I think it should  an asynchronous. if it synchronous, take long time fo=
r
>> getting InstallFromURI method response.. right?..
>>
>>  And when you choose asynchronous, whether to make indications to notify
>>> clients?
>>
>> how to make notification to client. Please give samples about indication=
.
>>
>>
>> How to represent your jobs in separate thread or process?
>>
>> Yes. firmware upgrade process already done, thats in another process . S=
o
>> we need to query the status to that process .Inter Process
>> Communication(IPC) . using messsage queue mechanism
>>
>> Regards,
>> George
>>
>>
>> On Thu, Jul 25, 2013 at 2:55 PM, Michal Min=C3=A1=C5=99 <miminar@redhat.=
com> wrote:
>>
>>>  On 25.7.2013 10:32, George varghese wrote:
>>> >
>>> > Hi,
>>> >
>>> > On Thu, Jul 25, 2013 at 12:27 PM, Michal Min=C3=A1=C5=99 <miminar@red=
hat.com><miminar@redhat.com>wrote:
>>> >
>>> >     Hi George
>>> >
>>> >
>>> >     On 24.7.2013 20:35, George varghese wrote:
>>> >>
>>> >>     Hi,
>>> >>
>>> >>     I am trying to implement software update provider for firmware
>>> updating. I have done following things.. 1. Created a new instance of
>>> CIM_SoftwareInstallationService.
>>> >>     2. Downloaded URI link
>>> >     >>Maybe I get you wrong. Isn't the provider supposed to download
>>> the package from given URI and install it? >>Why doing it yourself.
>>> >
>>> > 2. I described here the code sequence. download the package from the
>>> given URI and install by provider..
>>> >
>>> >
>>> >>     3. Then set success as method, KUint32_Set(&result, 0);
>>> KSetStatus(status, OK); in spec I shall copied herre the body content o=
f
>>> response, <n1:InstallFromURI_OUTPUT> <n1:ReturnValue>0</n1:ReturnValue>
>>> </n1:InstallFromURI_OUTPUT> </s:Body> I don't know how to put descripti=
on
>>> here, for this which method I shall calling.
>>> >>     4. I don't know about CIM_ConcretJob class details. How to fill
>>> this class properties values.
>>> >
>>> >     >>You don't need to use CIM_ConcreteJob at all, if the synchronou=
s
>>> invocation is sufficient. In that case just ??>>return "Job Completed w=
ith
>>> No Error", "Failed" or any other value < 4096.
>>> >
>>> > I think the installation process may be asynchronous. That case which
>>> class enumerating for knowing the download status.. ..    If user shall
>>> initiate the same process, what is the response value... for this which
>>> class I need to enumerate?
>>> Look here:
>>> http://schemas.dmtf.org/wbem/cim-html/2.34.0/CIM_ConcreteJob.html
>>> Search for "PercentComplete" property. You may also provide indications
>>> user can subscribe to.
>>> This way he doesn't need to poll for status. With asynchronous
>>> invocation there are just a few
>>> possible values you can return: "Unspecified Error" (2) or "Method
>>> Parameters Checked - Job Started" (4096).
>>> Return the first one if parameters are invalid or the job could not be
>>> started, otherwise start the job, make instance of CIM_ConcreteJob, ret=
urn
>>> it as an Out parameter and make 4096 the return value of method.
>>>
>>> >
>>> > >>All the requirements are listed in Job Control Profile (DSP1103) an=
d
>>> Software Update
>>> >
>>> >     >>profile. For implementation (in python) you may check out our
>>> openlmi->>providers/src/python/lmi/common/JobManager.py.
>>> >
>>> > No, provider implementation should be in C language.
>>> >
>>> > What things we consider for implementing software update provider?
>>> What optional features you want to implement (like Ordered Dependencies=
,
>>> Software Bundles etc.).
>>> What other functionality you are missing in the profile (verification)?
>>> Whether you are content with synchronous methods? - easy to implement.
>>> And when you choose asynchronous, whether to make indications to notify
>>> clients?
>>> How to represent your jobs in separate thread or process?
>>>
>>> >
>>> >>     Regards,
>>> >>     George
>>> >>
>>> >>
>>> >>     _______________________________________________
>>> >>     openlmi-devel mailing list
>>> >>     openlmi-devel@lists.fedorahosted.org
>>> >>     https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>>> >
>>> >
>>> >     _______________________________________________
>>> >     openlmi-devel mailing list
>>> >     openlmi-devel@lists.fedorahosted.org
>>> >     https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>>> >
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > openlmi-devel mailing list
>>> > openlmi-devel@lists.fedorahosted.org
>>> > https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>>>
>>>
>>>
>>> _______________________________________________
>>> openlmi-devel mailing list
>>> openlmi-devel@lists.fedorahosted.org
>>> https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>>>
>>>
>>
>

[Attachment #5 (text/html)]

<div dir="ltr">Hi,<div><br></div><div>Anybody please reply to \
me.</div><div><br></div><div>Regards,</div><div>George</div></div><div \
class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 29, 2013 at 4:51 PM, \
George varghese <span dir="ltr">&lt;<a href="mailto:georgooty@gmail.com" \
target="_blank">georgooty@gmail.com</a>&gt;</span> wrote:<br> <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I have following \
questions regarding software update profile,</div><div><br></div> <div>Qn 1. How to \
know the software revision and other details</div><div>  Ans: I think that \
CIM_SoftwareIdentity class is used for this purpose.   Is it right?</div> \
<div><br></div><div>Qn2 : I want to implement \
CIM_SoftwareInstallationSerice.InstallFromURI method. Right now I am trying to \
implement it synchronous.. Later I wish to change it asynchronous method.</div><div>  \
Ans: I shall describe the steps here.</div>

<div>                 1. Create the instance of CIM_ConcreteJob class. Fill the \
status as downloading</div><div>                 2. Download and install the firmware \
in system</div><div>                 3. Return OK as status.</div><div>Qn3: How to \
the installation status? means that which class enumerating for this purpose?</div>

<div>    </div><div><br></div><div>Please advise \
me.</div><div><br></div><div>Regards,</div><div>George</div></div><div \
class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div \
class="gmail_quote">On Thu, Jul 25, 2013 at 3:51 PM, George varghese <span \
dir="ltr">&lt;<a href="mailto:georgooty@gmail.com" \
target="_blank">georgooty@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><div><br></div><div>  \
</div><blockquote style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">

<blockquote style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote"> <span style="font-family:arial,sans-serif;font-size:13px">What \
optional features you want to implement (like Ordered Dependencies, Software Bundles \
etc.).</span></blockquote></blockquote></div><div>No. I am trying to implement \
firmware via http . So I trying to implement InstallFromURI method. In this method I \
implement download packages using CURL library to destination path. Right now I \
didn&#39;t fill CIM_ConcreteJob instance.  </div>

<div>
<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote \
style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">


<span style="font-family:arial,sans-serif;font-size:13px">What other functionality \
you are missing in the profile \
(verification)?</span></blockquote></blockquote></div><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px">


<div>Need to enumerate current installed firmware revision.For this purpose need to \
enumerate instance of   CIM_SoftwareIdentity   and CIM_SoftwareInstallationService \
class. right?  </div></blockquote><div><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px">


<blockquote style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">  </blockquote><blockquote style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">


  </blockquote></blockquote><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">


<span style="font-family:arial,sans-serif;font-size:13px">Whether you are content \
with synchronous methods? - easy to \
implement.</span></blockquote></blockquote></div><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px">


<div>current implementation firmware installation done by another process. So I think \
it should   an asynchronous. if it synchronous, take long time for getting \
InstallFromURI method response.. right?..  </div></blockquote>

<div>
<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote \
style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">


<span style="font-family:arial,sans-serif;font-size:13px">And when you choose \
asynchronous, whether to make indications to notify \
clients?</span></blockquote></blockquote></div><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px">


<div>how to make notification to client. Please give samples about indication.      \
</div></blockquote><div><blockquote style="margin:0 0 0 \
40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" \
class="gmail_quote">


<span style="font-family:arial,sans-serif;font-size:13px">How to represent your jobs \
in separate thread or process?</span></blockquote></blockquote></div><div><span \
style="font-family:arial,sans-serif;font-size:13px">Yes. firmware upgrade process \
already done, thats in another process . So we need to query the status to that \
process .Inter Process Communication(IPC) . using messsage queue \
mechanism</span></div>


<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span \
style="font-family:arial,sans-serif;font-size:13px">Regards,</span></div><div><span \
style="font-family:arial,sans-serif;font-size:13px">George</span></div>


</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul \
25, 2013 at 2:55 PM, Michal Minář <span dir="ltr">&lt;<a \
href="mailto:miminar@redhat.com" target="_blank">miminar@redhat.com</a>&gt;</span> \
wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">  
    
  
  <div text="#000000" bgcolor="#FFFFFF"><div>
    On 25.7.2013 10:32, George varghese wrote:<br>
    <span style="white-space:pre-wrap">&gt;<br>
      &gt; Hi,<br>
      &gt;<br>
      &gt; On Thu, Jul 25, 2013 at 12:27 PM, Michal Minář
      <a href="mailto:miminar@redhat.com" \
target="_blank">&lt;miminar@redhat.com&gt;</a> wrote:<br>  &gt;<br>
      &gt;         Hi George<br>
      &gt;<br>
      &gt;<br>
      &gt;         On 24.7.2013 20:35, George varghese wrote:<br>
      &gt;&gt;<br>
      &gt;&gt;         Hi,<br>
      &gt;&gt;<br>
      &gt;&gt;         I am trying to implement software update provider for
      firmware updating. I have done following things.. 1. Created a new
      instance of CIM_SoftwareInstallationService.<br>
      &gt;&gt;         2. Downloaded URI link<br>
      &gt;         &gt;&gt;Maybe I get you wrong. Isn&#39;t the provider
      supposed to download the package from given URI and install it?
      &gt;&gt;Why doing it yourself.<br>
      &gt;<br>
      &gt; 2. I described here the code sequence. download the package
      from the given URI and install by provider..   <br>
      &gt;<br>
      &gt;<br>
      &gt;&gt;         3. Then set success as method,
      KUint32_Set(&amp;result, 0); KSetStatus(status, OK); in spec I
      shall copied herre the body content of response,
      &lt;n1:InstallFromURI_OUTPUT&gt;
      &lt;n1:ReturnValue&gt;0&lt;/n1:ReturnValue&gt;
      &lt;/n1:InstallFromURI_OUTPUT&gt; &lt;/s:Body&gt; I don&#39;t know how
      to put description here, for this which method I shall calling.<br>
      &gt;&gt;         4. I don&#39;t know about CIM_ConcretJob class details.
      How to fill this class properties values.<br>
      &gt;<br>
      &gt;         &gt;&gt;You don&#39;t need to use CIM_ConcreteJob at all, if
      the synchronous invocation is sufficient. In that case just
      ??&gt;&gt;return &quot;Job Completed with No Error&quot;, &quot;Failed&quot; or \
any  other value &lt; 4096.<br>
      &gt;<br>
      &gt; I think the installation process may be asynchronous. That
      case which class enumerating for knowing the download status..
      ..       If user shall initiate the same process, what is the
      response value... for this which class I need to enumerate?</span><br></div>
    Look here:
    <a href="http://schemas.dmtf.org/wbem/cim-html/2.34.0/CIM_ConcreteJob.html" \
target="_blank">http://schemas.dmtf.org/wbem/cim-html/2.34.0/CIM_ConcreteJob.html</a><br>
  Search for &quot;PercentComplete&quot; property. You may also provide
    indications user can subscribe to.<br>
    This way he doesn&#39;t need to poll for status. With asynchronous
    invocation there are just a few<br>
    possible values you can return: &quot;Unspecified Error&quot; (2) or &quot;Method
    Parameters Checked - Job Started&quot; (4096).<br>
    Return the first one if parameters are invalid or the job could not
    be started, otherwise start the job, make instance of
    CIM_ConcreteJob, return it as an Out parameter and make 4096 the
    return value of method.<div><br>
    <span style="white-space:pre-wrap">&gt;<br>
      &gt; &gt;&gt;All the requirements are listed in Job Control
      Profile (DSP1103) and Software Update<br>
      &gt;<br>
      &gt;         &gt;&gt;profile. For implementation (in python) you may
      check out our
      openlmi-&gt;&gt;providers/src/python/lmi/common/JobManager.py.<br>
      &gt;<br>
      &gt; No, provider implementation should be in C language. <br>
      &gt;<br>
      &gt; What things we consider for implementing software update
      provider?</span><br></div>
    What optional features you want to implement (like Ordered
    Dependencies, Software Bundles etc.).<br>
    What other functionality you are missing in the profile
    (verification)?<br>
    Whether you are content with synchronous methods? - easy to
    implement.<br>
    And when you choose asynchronous, whether to make indications to
    notify clients?<br>
    How to represent your jobs in separate thread or process?<div><br>
    <span style="white-space:pre-wrap">&gt;<br>
      &gt;&gt;         Regards,<br>
      &gt;&gt;         George<br>
      &gt;&gt;<br>
      &gt;&gt;<br>
      &gt;&gt;         _______________________________________________<br>
      &gt;&gt;         openlmi-devel mailing list<br>
      &gt;&gt;         <a href="mailto:openlmi-devel@lists.fedorahosted.org" \
target="_blank">openlmi-devel@lists.fedorahosted.org</a><br>  &gt;&gt;        
      <a href="https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel" \
target="_blank">https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel</a><br> \
&gt;<br>  &gt;<br>
      &gt;         _______________________________________________<br>
      &gt;         openlmi-devel mailing list<br>
      &gt;         <a href="mailto:openlmi-devel@lists.fedorahosted.org" \
target="_blank">openlmi-devel@lists.fedorahosted.org</a><br>  &gt;        
      <a href="https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel" \
target="_blank">https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel</a><br> \
&gt;<br>  &gt;<br>
      &gt;<br>
      &gt;<br>
      &gt; _______________________________________________<br>
      &gt; openlmi-devel mailing list<br>
      &gt; <a href="mailto:openlmi-devel@lists.fedorahosted.org" \
target="_blank">openlmi-devel@lists.fedorahosted.org</a><br>  &gt; <a \
href="https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel" \
target="_blank">https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel</a></span><br>
  <br>
    <br>
  </div></div>

<br>_______________________________________________<br>
openlmi-devel mailing list<br>
<a href="mailto:openlmi-devel@lists.fedorahosted.org" \
target="_blank">openlmi-devel@lists.fedorahosted.org</a><br> <a \
href="https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel" \
target="_blank">https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel</a><br> \
<br></blockquote></div><br></div> </div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>


[Attachment #6 (text/plain)]

_______________________________________________
openlmi-devel mailing list
openlmi-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic