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.
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?
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>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>wrote:
> Hi,
>
> Anybody please reply to me.
>
> Regards,
> George
>
>
> On Mon, Jul 29, 2013 at 4:51 PM, George varghese <georgooty(a)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>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>wrote:
>>>
>>>> On 25.7.2013 10:32, George varghese wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > On Thu, Jul 25, 2013 at 12:27 PM, Michal Minář
<miminar@redhat.com><miminar(a)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
>>>> >>
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
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > openlmi-devel mailing list
>>>> > openlmi-devel(a)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
>>>>
>>>>
>>>
>>
>