Hello all,

I've just put out the 1st RFC for "arc" over at:

https://github.com/clebergnu/arc/tree/rfc1

What is "arc"
============

Autotest RPC Client is a pure Python library that serves as the client part of
Autotest's[1] server interface. It aims to be:

 * Really portable
   - Across Python versions and implementations
   - Only depend on Python Standard Library

 * Extensible
   - Allowing you to make both the API and applications behave the way you
     want or have more features

 * Intuitive
   - Very low curve to writing custom client apps
   - Documentation and samples for both API and CLI users


This RFC
========

This is the first RFC that shows the basic design decisions made so far, and a
small subset of the indented functionality.

The sole purpose of this RFC is, obviously but worth making it really clear,
TO GET FEEDBACK! So please send them!

What's Included
---------------

* A simple but handy JSON model, allowing one to fetch and access data from
   the Autotest RPC Server in a easy way.

 * A configuration class that allows for both global and user specific
   configuration. This is handy for having a global configuration file
   installed by a package, but still allow the individual user to override
   their values.

 * Integration between command line arguments and values already specified
   in the configuration file. This allows a user

 * A command line tool, currently named "arcli", that adds a thin layer on
   top of the API. It currently exposes actions such as listing, creating
   and deleting objects from Autotest RPC Server. Say, to add a new host:

   # arcli host -c -n newhost.mydomain.org

   And to list all the jobs:

   # arcli job -l

   To list only the currently running jobs:

   # arcli job -l --running

 * Portability: even though CPython itself is already portable, I want to
   give users no excuses for not running a test job. I've been testing arc,
   as in running the API examples and the "arcli" tool, on:

   - CPython 2.7
   - CPython 3.2
   - Jython 2.7
   - IronPython 2.7 via mono

This has the immediate benefits of being able to distribute it and install
   either via Python package (publishing it in PyPi) or via distribution
   packages and target at the same time python 2.7 and python 3.x bases.

   On the dreamer side of things, I really wish this could open up the
   possibilities for things such as:
   - Writing plugins for other testing systems, such as Jenkins[3], using
     Java/Jython and arc.
- Having a custom autotest client delivered via a Java Applet, webstart (or even
     Silverlight)
   - Custom autotest clients for mobile devices


What's being Worked On
----------------------

 * The plug-in architecture
 * A "virt" plugin that understands the intricacies of the virt-test[2]
 * Unittests
 * Documentation

[1] http://autotest.github.com
[2] https://github.com/autotest/virt-test
[3] http://jenkins-ci.org/

_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to