On 03/21/2013 11:00 AM, Lucas Meneghel Rodrigues wrote:
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
-----------------
Direct download link:
https://github.com/autotest/autotest/archive/autotest-0.15.0.tar.gz
Now that github removed arbitrary uploads, we now will release directly
fom git tags. The tag name schema changed, in order to get a decent
upstream tarball name.
^ Ok, forget about that, github magically appends a "autotest-" to the
tarball name, so the tag name is back to 0.15.0. Sorry about the
inconvenience. The actual download name is:
https://github.com/autotest/autotest/archive/0.15.0.tar.gz
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).
Changes
-------
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:
https://github.com/autotest/autotest-client-tests
https://github.com/autotest/autotest-server-tests
API cleanup
-----------
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
0.14.X:
::
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
https://github.com/autotest/autotest/wiki/MigrateDatabaseToAutotest0.15
Other changes
-------------
* 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.
What's next?
------------
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:
https://github.com/autotest/autotest/issues/milestones
and here:
https://github.com/autotest/autotest/issues?milestone=2&state=open
For autotest 1.0 we plan on upgrading the stack to the latest versions
of the foundation technologies involved in the server operation, and
package generation:
* Update the web interface (RPC client) to the latest GWT
http://google-web-toolkit.googlecode.com/files/gwt-2.5.1.zip
* Update the RPC server to the latest Django
https://www.djangoproject.com/download/1.5/tarball/
* 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
among others
* 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).
_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel
_______________________________________________
Virt-test-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virt-test-devel