Hi,
To perform a firmware update have following operations, Also I have
described some steps here.. please advise the directions are correct.
1. View The current firmare inventory of a system
1.1. enumerate the CIM_SoftwareIdentity class.
Works fine if you don't have
too many packages to enumerate. The
embedded platform you develop for may prove too limited for this even
for hundreds of packages.
2. Begin the update process
2.1. Invoke CIM_SoftwareInstallationService.InstallFromURI method.
3. Monior the update process
3.1. In this area, I have no clear idea. How to monitor the
update process?
To monitor it, you need to support asynchronous invocations of
InstallFrom* methods. That means you need to have some sort of job
management and run your installation code in separated thread to avoid
concurrency problems when more clients try to start installation process
at the same time. You can read progress from CIM_ConcreteJob instance by
invoking GetInstance() on it -- property PercentComplete.
Please help me, how to monitor the update process. which class I
implementing for it?
Regards,
George
On Wed, Aug 14, 2013 at 11:44 AM, George varghese <georgooty(a)gmail.com
<mailto:georgooty@gmail.com>> 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?
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.
2. Download and install the firmware in system
3. Return OK as status.
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?
Please advise me.
Regards,
George
On Tue, Jul 30, 2013 at 2:58 PM, George varghese
<georgooty(a)gmail.com <mailto:georgooty@gmail.com>> wrote:
Hi,
Anybody please reply to me.
Regards,
George
On Mon, Jul 29, 2013 at 4:51 PM, George varghese
<georgooty(a)gmail.com <mailto: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(a)gmail.com <mailto:georgooty@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(a)redhat.com <mailto: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ář
<miminar(a)redhat.com> <mailto: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 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(a)lists.fedorahosted.org
<mailto:openlmi-devel@lists.fedorahosted.org>
>>
https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>
>
> _______________________________________________
> openlmi-devel mailing list
> openlmi-devel(a)lists.fedorahosted.org
<mailto:openlmi-devel@lists.fedorahosted.org>
>
https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>
>
>
>
> _______________________________________________
> openlmi-devel mailing list
> openlmi-devel(a)lists.fedorahosted.org
<mailto:openlmi-devel@lists.fedorahosted.org>
>
https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
_______________________________________________
openlmi-devel mailing list
openlmi-devel(a)lists.fedorahosted.org
<mailto:openlmi-devel@lists.fedorahosted.org>
https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
_______________________________________________
openlmi-devel mailing list
openlmi-devel(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel