[GSoC 2012] Project: Implement an RHQ agent in Python

Heiko W.Rupp hrupp at redhat.com
Sat Mar 24 17:15:15 UTC 2012


Hey,

Am 23.03.2012 um 22:02 schrieb Krzysztof Kwaśniewski:

> Does it mean that Matahari agents subscribe to some kind of „host” which can be used later on by PyAgent to find them?

Well, they seem to subscribe to the QIPD broker, where the PyAgent would need to connect to. 
To find out details is a part of GSoC work

>> 
>> It would then talk to the rhq server via REST protocol and
>> - add new platforms ("boxes" in rhq speak) if they get discovered [1]
> Is the code mentioned in [1] used for that kind of subscription mechanism?

The additional RHQ code? That is meant to be able to add new Platforms/Resources into RHQ.

>>  - add new resources below platform if needed (later phase of the project)
> Probably the resources will be „provided” by Matahari in some way, right? That is - Matahari will have info for PyAgent about what resources are available to be monitored and what collected data to pass to RHQ?

That is my assumption, which needs to be verified.
If they don't exist, the admin would need to maintain some resource table on the PyAgent side and we 
would need to talk to the Matahari folks that they implement such discovery.

  Heiko


>> - fetch metrics from matahari and send them to the RHQ server
>> - regularly send availabilty of the platforms and resources to the RHQ server
>> - if needed [2] send pings to the RHQ server
>> 
>> 
>> Am 22.03.2012 um 22:29 schrieb Krzysztof Kwaśniewski:
>> 
>>>     I would like to apply this year for a GSoC project entitled „Implement an RHQ agent with Python” that I have found on your proposals' list [1].
>>>     Heiko Rupp has defined following initial requirements that need to be concerned for this year's project:
>>> 
>>> - installing the
>>>         needed stuff
>> Assemble a bill of material and an install guide. Perhaps a shell-script or rpm super-packet for installation
>>> -
>>>             writing the 'agent'
>> Core functionality is described above and includes:
>>> 
>>> -
>>>               agent reports some metrics and availability of resources
>>> 
>>> -
>>>                 agent discovers the resources
>>> 
>>> -
>>>                   agent startable at system boot
>> It should be possible that his agent is installed on one box so that it can get started at
>> boot time (->  script in /etc/init.d/ )
>> 
>>> - prepare documentation for both the developer and the end user
>>>     Definitely the project needs clarification and we will do our best to make it. The points above are only initial ones. I'm sure that any comments from other members of this list would be helpful to make this project successful and provide useful software. If you have any ideas or requirements for this project, please let me know about them.
>> Does the above make it more clear for you?
>    Yes, it's quite clear. The description of the project also includes a piece of info that Java agents are more powerful than PyAgent is expected to become: „This agent will not implement the full functionality of the RHQ java agent”. Once I get more familiar with RHQ and Java agents, I will know the functionality of Java agents and we could then make some preliminary assumptions about what part of this functionality is expected to be provided by PyAgent. Or maybe you mean just the things mentioned above about passing data from Matahari, then it's also clear.
>    For now the following tasks have been mentioned:
> 1. Get to know the platform and install all the necessary software, set up repository and maybe a blog about the project (?).
> 2. Connect to Matahari via qpid and find Matahari instances.
> 3. For each found instance add a corresponding platform to RHQ.
> 4. Discover the resources provided by each instance of Matahari.
> 5. Periodically report availability of resources and metrics provided by Matahari to RHQ.
> 6. Ensure PyAgent periodically „pings” RHQ with what exactly „ping” means will be decided later on (whether it is a rest ping, an „UP” message or something different).
> 7. Implement PyAgent in a way that will allow it to be started at boot time.
> 8. Prepare documentation and an installation script/package.
>    I feel it would help to prepare a set of unit tests for PyAgent, though it might happen not to be easily testable this way, as huge part of the logic will be connected with communication over rest and ampq.
>> I think you should also start to think about a timeline for the work with some milestones in it.
>    Right now I'm in a middle of a semester. If I had more time now, I would probably start the project at once. According to the timeline of GSoC, the coding phase starts on 21.05 and the mid-term evaluation starts on 9.07. I will try to outline an approximate schedule below - what do you think about it?
> - I expect it would be possible to realize tasks 1. and 2. until 21.05 if time permits (depending on my duties at the university).
> - It's hard to assess the points 3.-5. now - without knowing the api, however it seems to be well documented. Though I would like not to give any exact date yet. Maybe I will need 2 weeks for that or maybe 4. In any case we should still be in June after task 5.
> - Pinging RHQ seems to be a rather simple concept and starting PyAgent at boot time too. I should need at most two weeks for those tasks.
> - Another week would be needed for the last task.
>    This rough timeline is not precise enough, but there will probably arise more tasks during the implementation. What do you think about the complexity of each of the tasks 3.-5.?
>>   Thanks
>>       Heiko
>> 
>> 
>> [1] This needs some more code on the RHQ server side, which already exists, but which is not yet in master
>> [2] To report agents being alive in the past it was enough to send "UP" availability for the platform. We had a change in availability handling
>> and now there is a separate ping for this purpose. It needs to be checked what to implement in the RHQ server REST endpoint for this; I expect
>> that the PyAgent would just send a request to a different endpoint for this.
>> 
>                                                                                                Thanks
> 
>                                                                                                      Krzysiek
> _______________________________________________
> rhq-devel mailing list
> rhq-devel at lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/rhq-devel

-- 
Reg. Adresse: Red Hat GmbH, Otto-Hahn-Strasse 20, 85609 Dornach bei München
Handelsregister: Amtsgericht München HRB 153243
Geschaeftsführer: Brendan Lane, Charlie Peters, Michael Cunningham, Charles Cachera



More information about the rhq-devel mailing list