Autotest 0.15.0 is a new major release of autotest! The goal here is to provide the latest advances on autotest while providing a stable ground for groups and organizations looking for autotest, such as distro packagers and newcomers.
For the impatient
Check out our main web page at:
Direct download link:
Now that github removed arbitrary uploads, we now will release directly fom git tags. The tags now will be signed with my GPG key. So get your fresh copy of autotest (remember, the tarball does not contain the tests anymore, those must be picked at the new test repos).
Tests modules split
Since test modules are fairly independent from the core framework, they have been split into their own new git repos, and were added to autotest as git submodules. Don’t worry, if you want the autotest repo with full tests, you may only need to execute
git clone –recursive git://github.com/autotest/autotest.git
The new repositories for the client and server tests:
Following the example of autotest 0.14.0, 0.15.0 brings more API cleanups.
1) global_config -> settings
The library global_config was renamed to settings. As an example of how
the change works, here’s an example of how to access settings on autotest
from autotest.client.shared import global_config c = global_config.global_config.get_config_value c.get_value("mysection", "mykey")
This is how the same process look on autotest 0.15.0:
from autotest.client.shared.settings import settings settings.get_value("mysection", "mykey")
As tests usually have no business with the autotest settings, this means
pretty much no update required from test authors.
Machine installs from the autotest web interface
In autotest 0.14, we introduced preliminary integration between autotest
and the Cobbler install server (http://cobbler.github.com/) was introduced. However, there was not enough of that integration visible if you were using the web interface. Now it is possible to select which cobbler profiles you want to use on your test machines from the web interface.
DB migration moved to Django South
When the autotest RPC server application was developed, there was a database code in place already. In order to move away from having 2 ways to access the database, this version of autotest introduces a new migration system, based on Django South (http://south.aeracode.org/).
For people looking for upgrading the database to the latest version, we’ve put up a procedure here
* Support for creation of debian packages
* Simplified module import logic
* Simplified unittests execution
* Improved install scripts. Now it is possible to install autotest from an arbitrary git repo and branch, which will make it easier to test and validate changes that involve the rpc client/server, scheduler, among others.
We believe the foundation for an autotest version 1.0 is already in place. So, the next release will be autotest 1.0, bringing polish and bugfixing to the framework being developed during the previous six years.
You can see the issues open for the Milestone 1.0.0 here:
For autotest 1.0 we plan on upgrading the stack to the latest versions
of the foundation technologies involved in the server operation, and
* Update the web interface (RPC client) to the latest GWT
* Update the RPC server to the latest Django
* Functional server packages for Debian
* Automated generation of both rpm and debian packages
* Functional regression test suite for server installs, working out of the box
We also want to improve the usefulness and usability of our existing tools
* Introduce a ‘machine reserve’ mode, where you may provision one bare metal machine with the OS of choice and use the installed machine for a period of time, in a convenient way.
* Allow to schedule jobs based on machine hardware capabilities, for example:
– Number of CPUS
– Available Memory
– Virtualization support
* Allow autotest to function well as an alternative test harness for beaker (http://beaker-project.org/).
* Support to parametrized jobs (be able to set parameters in tests, and enable people to simply pass parameters to those tests in the cli/web interface).