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