On 07/10/2013 11:01 PM, Clark Boylan wrote:
On Wed, Jul 10, 2013 at 7:32 PM, Adam Young <ayo...@redhat.com> wrote:
I want to write 3 new Jenkins gate tests: Run the Keystone unit tests
against
1. A live LDAP server
2. MySQL
3. Postgresql
Right now, we know that the unit tests will fail against the live DBs, so we
want those two to be non-voting. The Live LDAP one should be the scheme as
set up by devstack, and should be voting (can be non-voting to start)
where do I start? Do I need to do this in
https://github.com/openstack-infra/config or
http://ci.openstack.org/devstack-gate.html?
Adding a Jenkins job typically involves two pieces of config in
openstack-infra/config. First you need to add the job to the Jenkins
Job Builder config so that the job gets into Jenkins. This is done in
the files under
modules/openstack_project/files/jenkins_job_builder/config. There are
tons of examples in there and documentation can be found at
http://ci.openstack.org/jjb.html. The other config that is needed is
an update to the zuul layout.yaml file telling zuul when to run the
jobs. The layout file is at
modules/openstack_project/files/zuul/layout.yaml and documentation for
that can be found at http://ci.openstack.org/zuul.html.
Thanks. I'll start reading up here.
Our CentOS 6 and Ubuntu Precise slaves (used to run python 2.6 and 2.7
unittests) have MySQL and PostgreSQL servers running on them and are
available to the unittests.
We currently use a sepate user and database for tests than would be run
for a live server. The keystone server is the keystone DB user, and the
unit tests run against the keystone_test database as the keystone_test
user. I assu have to create these as part of the test setup? I can
possibly add the unit test runs to the current gate jobs, assuming I can
get them to run cleanly. Would that make more sense? I thought that the
current gate jobs for Mysql and postgres were pretty much Tempest runs,
and we don't currently have a way for tempest to run Keystone unit
tests. Does that make more sense than creating a whole separate gate
job, or is the separate gate job the more scalable solution?
You can see how Nova makes use of these
servers at
https://github.com/openstack/nova/blob/master/nova/tests/db/test_migrations.py#L31.
I prefer having opportunistic tests like Nova because it keeps the
number of special tests in our system down. If this isn't possible
because the tests don't currently pass you will probably want to add a
new test that runs something like `tox -evenv -- #command to run tests
against real DBs`.
Our CentOS 6 and Ubuntu Precise slaves do not currently have LDAP
servers running on them but we would be happy to add them. I don't
think disposable devstack slaves are necessary to do LDAP testing as
your LDAP tests should be able to assert a clean LDAP state before
testing.
Yes, that works fine. We wipe the LDAP clean before each test. We still
need to install the schema, as that is outside the realm of Keystone.
Devstack does that now. I assume we should make puppet scripts for that?
If that isn't possible (I could be completely wrong about my
previous statement) you will want to look at the
gate-pbr-devstack-vm-rawinstall in the Jenkins Job Builder config as
it will show you how to use a devstack node for something other than
running tempest.
Clark
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev