Difference between revisions of "NovaTestingHudson"
Line 8: | Line 8: | ||
Currently, Hudson runs a simple job that executes Nova's unit tests on a single machine, with most drivers and adapters "faked". This is fine for coarse-grained validation of new code, but is not considered to be exhaustive testing of the code base, nor does it test critical pieces of the virtualisation and messaging layers. | Currently, Hudson runs a simple job that executes Nova's unit tests on a single machine, with most drivers and adapters "faked". This is fine for coarse-grained validation of new code, but is not considered to be exhaustive testing of the code base, nor does it test critical pieces of the virtualisation and messaging layers. | ||
− | We need to create a number of clusters that should have both the unit tests and a series of smoke tests run against them for each commit to Nova's trunk. These test clusters should be set up with Nova's most common supported platforms | + | We need to create a number of clusters that should have both the unit tests and a series of smoke tests run against them for each commit to Nova's trunk. These test clusters should be set up with Nova's most common supported platforms. |
+ | |||
+ | == Proposed Platforms for Testing == | ||
+ | |||
+ | Here are the proposed specifications for the test clusters to build: | ||
+ | |||
+ | === Ubuntu 10.04 LTS / Qemu / MySQL datastore / RabbitMQ === | ||
+ | |||
+ | === Ubuntu 10.04 LTS / Xen / MySQL datastore / RabbitMQ === | ||
+ | |||
+ | === Microsoft Windows Server (version?) / Hyper-V / MySQL datastore / RabbitMQ === | ||
= Allowing Developers to Test Arbitrary Branches in a Test Environment = | = Allowing Developers to Test Arbitrary Branches in a Test Environment = | ||
Infrastructure should be built to allow developers to have Hudson run tests in the test clusters against an arbitrary branch. Monty Taylor solved this problem in Drizzle using the innovative [http://hudson.drizzle.org/view/Drizzle-param Parameterized Build Farm]. It would be great to do the same for Nova. | Infrastructure should be built to allow developers to have Hudson run tests in the test clusters against an arbitrary branch. Monty Taylor solved this problem in Drizzle using the innovative [http://hudson.drizzle.org/view/Drizzle-param Parameterized Build Farm]. It would be great to do the same for Nova. |
Revision as of 16:23, 25 October 2010
This page describes the efforts to provide developers with better testing infrastructure for Nova using Hudson and additional platforms.
<<TableOfContents()>>
Real Test Environments
Currently, Hudson runs a simple job that executes Nova's unit tests on a single machine, with most drivers and adapters "faked". This is fine for coarse-grained validation of new code, but is not considered to be exhaustive testing of the code base, nor does it test critical pieces of the virtualisation and messaging layers.
We need to create a number of clusters that should have both the unit tests and a series of smoke tests run against them for each commit to Nova's trunk. These test clusters should be set up with Nova's most common supported platforms.
Proposed Platforms for Testing
Here are the proposed specifications for the test clusters to build:
Ubuntu 10.04 LTS / Qemu / MySQL datastore / RabbitMQ
Ubuntu 10.04 LTS / Xen / MySQL datastore / RabbitMQ
Microsoft Windows Server (version?) / Hyper-V / MySQL datastore / RabbitMQ
Allowing Developers to Test Arbitrary Branches in a Test Environment
Infrastructure should be built to allow developers to have Hudson run tests in the test clusters against an arbitrary branch. Monty Taylor solved this problem in Drizzle using the innovative Parameterized Build Farm. It would be great to do the same for Nova.