On 08/17/2015 08:50 AM, Roman Prykhodchenko wrote:
Hi Fuelers!

I was working on enabling Python tests in Fuel Client to run on
OpenStack CI and I figured out that we actually have a piece of
legacy code which can be removed now. That piece is run_tests.sh
file. For those who’s not aware, that script allows to run different
tests under different environments. I don’t know how it was a
thousand years ago when I was not involved to Fuel project, but the
situation at this particular moment looks like that:

- Tests are actually orchestrated by tox - The biggest job of
run_tests.sh is to translate its options to tox’es options - The only
useful job of run_tests.sh is to start Nailgun correctly for
functional tests

As you can see the profit of that script is tiny. However, the
problems it brings are pretty much big and looks as follows:

- It is unstable — tiniest changes to tests require big changes to
the script - The CLI it provides is confusing - Working on that file
looks like doing the same job that is already done in tox - Among the
active Fuel Client’s community there are only a few guys who are
proficient in bash enough, to support that script effectively


My proposal is to extract the code responsible for starting Nailgun
into to a small utility script and let tox do the rest by removing
run_test.sh completely. That will bring us the following advantages:

- No need to support a complex bash script. - Closer to being able to
run functional tests on DSVM gates. - Test CLI will be more
compatible with other OpenStack projects.

I foresee a few questions and the answers for them follow:

Q: How is verify-job from FuelCI going to run tests without that
file? A: Fuel Client has its own job on FuelCI, so it will be just
necessary to change the invocation there.

Q: But run_test.sh is in all Fuel projects, shouldn’t we keep them
all similar. A: Why does it have to be similar? This kind of
difference is minor and it brings more advantages, than just having
the same file. In fact the set of options in run_tests.sh is already
different from run_tests.sh in fuel-web.

Q: Why should we look ad other OpenStack projects? A: Fuel is living
in the OpenStack ecosystem so being compatible with it is a big
advantage. It’s also a must for going big tent.

+1.

Just make sure any documentation that might refer to run_tests.sh is updated accordingly :)

Best,
-jay

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to