After recent addition of new requirement to nailgun, a Jenkins job with performance tests is failing, for example: https://fuel-jenkins.mirantis.com/job/nailgun_performance_tests/48/
======================================================================
ERROR: Failure: ImportError (No module named networkx)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jenkins/workspace/nailgun_performance_tests_VENV/lib/python2.6/site-packages/nose/loader.py", line 414, in loadTestsFromName
addr.filename, addr.module)
File "/home/jenkins/workspace/nailgun_performance_tests_VENV/lib/python2.6/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/home/jenkins/workspace/nailgun_performance_tests_VENV/lib/python2.6/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/test/performance/integration/test_cluster.py", line 19, in <module>
from nailgun.test.base import fake_tasks
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/test/base.py", line 38, in <module>
from nailgun.api.v1.urls import urls
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/api/v1/urls.py", line 22, in <module>
from nailgun.api.v1.handlers.capacity import CapacityLogCsvHandler
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/api/v1/handlers/capacity.py", line 29, in <module>
from nailgun.task.manager import GenerateCapacityLogTaskManager
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/task/manager.py", line 36, in <module>
from nailgun.task import task as tasks
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/task/task.py", line 40, in <module>
from nailgun.orchestrator import deployment_serializers
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/orchestrator/deployment_serializers.py", line 39, in <module>
from nailgun.orchestrator.deployment_graph import create_graph
File "/home/jenkins/workspace/nailgun_performance_tests/nailgun/nailgun/orchestrator/deployment_graph.py", line 19, in <module>
import networkx as nx
ImportError: No module named networkx
Requirements should be installed for every build to avoid this issue and avoid manually installing every time a new requirement is added.
We should run this test via tox environmant, the same way we run nailgun unit tests.