Invoke installfromuri - software update

Michal Minář miminar at redhat.com
Fri Aug 23 04:09:55 UTC 2013


Hi George,

answers embedded bellow.
On 14.8.2013 08:14, George varghese wrote:
> Hi,
>
> I have following questions regarding software update profile, My 
> understanding, I have added here, please verify it.
>
> Qn 1. I want to enumerate current installed software details.
>  Ans: I think that CIM_SoftwareIdentity class is used for this 
> purpose.  Is it right?
Correct. In openlmi-software this enumeration is disabled though. There 
is just too many available packages to enumerate. Only enumeration of 
LMI_SoftwareInstalledPackage (association class) is supported.
>
> 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/upgrading.
The Software Update Profile says it all. You don't need to create any 
CIM_ConcreteJob instances if you don't support asynchronous methods 
right now.
>    2. Download and install the firmware in system
>    3. Return OK as status.
And "Job Completed with No Error" (0) as a return value.
> Qn3: How to the know the firmware installation status? means that 
> which class enumerating for this purpose?
> Ans: I think CIM_ConcreteJob class is used for this purpose. right?
Yes but only in cause you support asynchronous invocations. Software 
Update Profile does not cover any progress readings when installing 
synchronously.
>
> Please advise me.
>
> Regards,
> George
>
>
> On Tue, Jul 30, 2013 at 2:58 PM, George varghese <georgooty at gmail.com 
> <mailto:georgooty at gmail.com>> wrote:
>
>     Hi,
>
>     Anybody please reply to me.
>
>     Regards,
>     George
>
>
>     On Mon, Jul 29, 2013 at 4:51 PM, George varghese
>     <georgooty at gmail.com <mailto:georgooty at 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 at gmail.com <mailto:georgooty at gmail.com>> wrote:
>
>             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 for
>                 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 . So 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ář
>             <miminar at redhat.com <mailto:miminar at redhat.com>> wrote:
>
>                 On 25.7.2013 10:32, George varghese wrote:
>                 >
>                 > Hi,
>                 >
>                 > On Thu, Jul 25, 2013 at 12:27 PM, Michal Minář
>                 <miminar at redhat.com> <mailto:miminar at 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 of
>                 response, <n1:InstallFromURI_OUTPUT>
>                 <n1:ReturnValue>0</n1:ReturnValue>
>                 </n1:InstallFromURI_OUTPUT> </s:Body> I don't know how
>                 to put description 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 synchronous invocation is sufficient. In that
>                 case just ??>>return "Job Completed with 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, return it as an Out
>                 parameter and make 4096 the return value of method.
>
>                 >
>                 > >>All the requirements are listed in Job Control
>                 Profile (DSP1103) and 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 at lists.fedorahosted.org
>                 <mailto:openlmi-devel at lists.fedorahosted.org>
>                 >>
>                 https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>                 >
>                 >
>                 > _______________________________________________
>                 >     openlmi-devel mailing list
>                 > openlmi-devel at lists.fedorahosted.org
>                 <mailto:openlmi-devel at lists.fedorahosted.org>
>                 >
>                 https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>                 >
>                 >
>                 >
>                 >
>                 > _______________________________________________
>                 > openlmi-devel mailing list
>                 > openlmi-devel at lists.fedorahosted.org
>                 <mailto:openlmi-devel at lists.fedorahosted.org>
>                 >
>                 https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>
>
>
>                 _______________________________________________
>                 openlmi-devel mailing list
>                 openlmi-devel at lists.fedorahosted.org
>                 <mailto:openlmi-devel at lists.fedorahosted.org>
>                 https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>
>
>
>
>
>
>
> _______________________________________________
> openlmi-devel mailing list
> openlmi-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/openlmi-devel/attachments/20130823/7077d10b/attachment-0001.html>


More information about the openlmi-devel mailing list