From Fedora Project Wiki
mNo edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
Matahari is a collection of generically useful APIs accessible over a remote and local interfaces via a collection of Agents, and a framework for adding small set of Agents & APIs.  
Matahari is a collection of APIs accessible over remote and local interfaces for system monitoring and management.  Matahari APIs are served via a collection of agents.  Matahari also includes a framework for adding new agents and APIs.
 
Matahari is a Red Hat community project.


== Owner ==
== Owner ==
Line 11: Line 13:
== Current status ==
== Current status ==
* Targeted release: [[Releases/16 | Fedora 16 ]]  
* Targeted release: [[Releases/16 | Fedora 16 ]]  
* Last updated: 2011-07-07
* Last updated: 2011-07-26
* Percentage of completion: 25%
* Percentage of completion: 100%


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriateA couple sentences suffices to explain the goal, but the more details you can provide the better. -->
The initial set of implemented agents in the Fedora 16 timeframe is:
* '''''Host''''' - An agent for viewing and controlling hosts
** View basic host information such as OS, hostname, CPU, RAM, load average, and more.
** Host control (shutdown, reboot)
* '''''Networking''''' - An agent for viewing and controlling network devices
** Get a list of available network interfaces and information about them, such as IP and MAC addresses
** Start and stop network interfaces
* '''''Services''''' - An agent for viewing and controlling system services
** List configured services
** Start and stop services
** Monitor the status of services
* More agents will come soon (Logging, Generic configuration agent, and more)
 
Matahari supports access to its APIs over two different transports, QMF and D-Bus.  QMF provides remote access over a Qpid bus.  D-Bus is used as a standard and well known local system bus.
 
The plan is to ship a stable and easily deployable version Matahari for Fedora usersThe aim of this feature is to make Fedora the prominent consumer and showcase of Matahari, for both users/administrators and developers.
 
Upstream website: [http://matahariproject.org/ http://matahariproject.org/]


== Benefit to Fedora ==
== Benefit to Fedora ==
 
* Provides easy deployment of Fedora to cloud and clustered environments
* Allows for local and remote management of Fedora systems
* Provides well defined interfaces to a Fedora system for administrators (scripiting, maintanance) and for 3rd party Matahari client developers
* Allows the upstream Matahari project to use Fedora as a development platform
* Provides the core for future system configuration tools (replacement of s-c-*)


== Scope ==
== Scope ==
Currently Matahari scope is isolated as we're now working mostly on agents/interfaces side.  
The scope of Matahari is limited in that we are now mostly working on the bottom layer, which is the agents side as opposed to implementing applications that use these APIs.


 
== How To Test ==
== How To Test ==
More detailed informations How To Test Matahari can be found in [https://github.com/matahari/matahari/wiki/TestPlan the Matahari Test Plan]. We are interested in a general community testing of currently available agents and core Matahari - for both local (DBus) and remote sides (QMF). We do not offer any special instruction for testing, just try to use Matahari for your tasks and report possible issues/enhancements.
<ol>
<ol>
<li/> Install Matahari agent
<li/> Install Matahari agent
Line 90: Line 109:
You should see properties with correct values for your system.
You should see properties with correct values for your system.
</ol>
</ol>
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
A good "how to test" should answer these four questions:


0. What special hardware / data / etc. is needed (if any)?
How To Test Matahari can be found in [https://github.com/matahari/matahari/wiki/TestPlan the Matahari Test Plan]. We are interested in a general community testing of currently available agents and core Matahari for both local (DBus) and remote sides (QMF). Just try to use Matahari for your needs and report possible issues or requests for enhancements.
1. How do I prepare my system to test this feature? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the feature is
working like it's supposed to?
3. What are the expected results of those actions?
-->


== User Experience ==
== User Experience ==
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
Users can access well defined interfaces for system configuration and management over D-bus and QMF to manage their systems locally and remotely using Matahari agents. Matahari also allows developers to create more agents to make the system more powerful and to develop system configuration tools on top of this core Matahari technology.  


== Dependencies ==
== Dependencies ==
The dependencies are Qpid with QMFv2 (Qpid Management Framework).
* Qpid with QMFv2 (Qpid Management Framework)
* D-bus
* Sigar library
* Optional matahari-broker requires Qpid broker daemon.


== Contingency Plan ==
== Contingency Plan ==
As no packages in Fedora currently depends on Matahari we will continue with the development efforts in Rawhide.   
No packages in Fedora currently depend on Matahari, so we will continue with development efforts in Rawhide.   


== Documentation ==
== Documentation ==
Line 119: Line 130:


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
Fedora 16 features Matahari, a collection of APIs accessible over remote and local interfaces for system monitoring and managementMatahari APIs are served via a collection of AgentsMatahari also includes a framework for adding new Agents and APIs.
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concernsIf there are any such changes involved in this feature, indicate them hereYou can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
 
*
The available agents are:
* '''''Host''''' - An agent for viewing and controlling hosts
* '''''Networking''''' - An agent for viewing and controlling network devices
* '''''Services''''' - An agent for viewing and controlling system services
 
… TBD …


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
* See [[Talk:Features/Matahari]]  
 


[[Category:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF16]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 15:20, 25 August 2011

Matahari

Summary

Matahari is a collection of APIs accessible over remote and local interfaces for system monitoring and management. Matahari APIs are served via a collection of agents. Matahari also includes a framework for adding new agents and APIs.

Matahari is a Red Hat community project.

Owner

  • Email: jreznik@redhat.com, andrew@beekhof.net and matahari@lists.fedorahosted.org

Current status

  • Targeted release: Fedora 16
  • Last updated: 2011-07-26
  • Percentage of completion: 100%

Detailed Description

The initial set of implemented agents in the Fedora 16 timeframe is:

  • Host - An agent for viewing and controlling hosts
    • View basic host information such as OS, hostname, CPU, RAM, load average, and more.
    • Host control (shutdown, reboot)
  • Networking - An agent for viewing and controlling network devices
    • Get a list of available network interfaces and information about them, such as IP and MAC addresses
    • Start and stop network interfaces
  • Services - An agent for viewing and controlling system services
    • List configured services
    • Start and stop services
    • Monitor the status of services
  • More agents will come soon (Logging, Generic configuration agent, and more)

Matahari supports access to its APIs over two different transports, QMF and D-Bus. QMF provides remote access over a Qpid bus. D-Bus is used as a standard and well known local system bus.

The plan is to ship a stable and easily deployable version Matahari for Fedora users. The aim of this feature is to make Fedora the prominent consumer and showcase of Matahari, for both users/administrators and developers.

Upstream website: http://matahariproject.org/

Benefit to Fedora

  • Provides easy deployment of Fedora to cloud and clustered environments
  • Allows for local and remote management of Fedora systems
  • Provides well defined interfaces to a Fedora system for administrators (scripiting, maintanance) and for 3rd party Matahari client developers
  • Allows the upstream Matahari project to use Fedora as a development platform
  • Provides the core for future system configuration tools (replacement of s-c-*)

Scope

The scope of Matahari is limited in that we are now mostly working on the bottom layer, which is the agents side as opposed to implementing applications that use these APIs.

How To Test

  1. Install Matahari agent
    # yum install matahari\*
    
  2. Start Matahari broker
    # systemctl start matahari-broker.service
    
  3. Start Matahari agent
    # systemctl start matahari-<agent>.service
    
  4. Test D-Bus interface
    For example get hostname from the Host agent
    $ dbus-send --system --dest=org.matahariproject.Host --print-reply /org/matahariproject/Host org.freedesktop.DBus.Properties.Get string:org.matahariproject.Host string:hostname
    

    Result should contain your hostname

    method return sender=:1.73 -> dest=:1.85 reply_serial=2
       variant       string "localhost.localdomain"
    
  5. Test QMF interface
    $ qmf-tool localhost:49000
    qmf: list agents
    
    QMF Agents:
       Id  Vendor               Product  Instance                              Epoch
    ==================================================================================
    *  1   apache.org           qpidd    971e8d8b-38f8-45ad-9ccf-f82ea85e3ed7  4
       2   matahariproject.org  host     d0175049-b186-41a7-a10b-11589107c20a  4
       3   matahariproject.org  net      97e02c72-8ac4-4fd5-901b-77574af3d45c  2
       4   matahariproject.org  service  bbf07d98-be32-4046-bf7b-c1d162b0611d  2
    

    To verify the agents actually work we'll do some interactions with one.

    qmf: set default 2
    
    Default Agent: matahariproject.org:host:d0175049-b186-41a7-a10b-11589107c20a
    
    qmf: query Host org.matahariproject
    
    Data Objects Returned: 1:
        Number  Data Address
        ==============================================
        1       26205118-e589-44ca-969d-d79b8ae40b2a
        qmf: show 1
    Properties:
    Name                Value
    =====================================================
    load                {'1': 0.1, '5': 0.22, '15': 0.23}
    hostname            localhost.localdomain
    ...
    

    You should see properties with correct values for your system.

How To Test Matahari can be found in the Matahari Test Plan. We are interested in a general community testing of currently available agents and core Matahari for both local (DBus) and remote sides (QMF). Just try to use Matahari for your needs and report possible issues or requests for enhancements.

User Experience

Users can access well defined interfaces for system configuration and management over D-bus and QMF to manage their systems locally and remotely using Matahari agents. Matahari also allows developers to create more agents to make the system more powerful and to develop system configuration tools on top of this core Matahari technology.

Dependencies

  • Qpid with QMFv2 (Qpid Management Framework)
  • D-bus
  • Sigar library
  • Optional matahari-broker requires Qpid broker daemon.

Contingency Plan

No packages in Fedora currently depend on Matahari, so we will continue with development efforts in Rawhide.

Documentation

Release Notes

Fedora 16 features Matahari, a collection of APIs accessible over remote and local interfaces for system monitoring and management. Matahari APIs are served via a collection of Agents. Matahari also includes a framework for adding new Agents and APIs.

The available agents are:

  • Host - An agent for viewing and controlling hosts
  • Networking - An agent for viewing and controlling network devices
  • Services - An agent for viewing and controlling system services

… TBD …

Comments and Discussion