diff --git a/jenkins/jobs/macros.yaml b/jenkins/jobs/macros.yaml index 86838f088e..88c792ab41 100644 --- a/jenkins/jobs/macros.yaml +++ b/jenkins/jobs/macros.yaml @@ -807,6 +807,25 @@ sudo service ssh restart fi + +# Install specific elasticsearch version as needed for searchlight. +- builder: + name: elasticsearch-install + builders: + - shell: | + #!/bin/bash -xe + sudo apt-get update + sudo apt-get install -y openjdk-7-jre + wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.deb + sudo dpkg -i elasticsearch-1.7.5.deb + + #Switch to tar extract if service start doesn't work. + #wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz + #tar -zxvf elasticsearch-1.7.5.tar.gz + + #Make 'elasticsearch' binary callable from within functional tests + sudo ln -s /usr/share/elasticsearch/bin/elasticsearch /usr/local/bin/elasticsearch + # ====================================================================== - wrapper: diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index e63f69746d..e9ab8981a5 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -7170,7 +7170,7 @@ doc-publisher-site: docs.openstack.org jobs: - - python-jobs + - python-jobs-searchlight - openstack-publish-jobs - pypi-jobs @@ -7765,7 +7765,7 @@ tarball-site: tarballs.openstack.org doc-publisher-site: docs.openstack.org jobs: - - python-jobs + - python-jobs-searchlight - openstack-publish-jobs - openstack-releasenotes-jobs - pypi-jobs diff --git a/jenkins/jobs/python-jobs.yaml b/jenkins/jobs/python-jobs.yaml index e73e731925..69f52acfcc 100644 --- a/jenkins/jobs/python-jobs.yaml +++ b/jenkins/jobs/python-jobs.yaml @@ -508,3 +508,20 @@ # pylint isn't standard # gate-{name}-tox-{envlist} also isn't standard, but is reserved for # projects that want to run specific jobs via tox + +- job-group: + name: python-jobs-searchlight + jobs: + - '{name}-coverage' + - 'gate-{name}-pep8' + - 'gate-{name}-python27-searchlight' + - 'gate-{name}-python34' + - 'gate-{name}-pypy' + - 'gate-{name}-docs' + - 'gate-{name}-requirements' + - '{name}-tarball' + - '{name}-branch-tarball' + - '{name}-announce-release' + # pylint isn't standard + # gate-{name}-tox-{envlist} also isn't standard, but is reserved for + # projects that want to run specific jobs via tox diff --git a/jenkins/jobs/searchlight.yaml b/jenkins/jobs/searchlight.yaml new file mode 100644 index 0000000000..d15ce3247d --- /dev/null +++ b/jenkins/jobs/searchlight.yaml @@ -0,0 +1,24 @@ +- job-template: + name: 'gate-{name}-python27-searchlight' + + wrappers: + - build-timeout: + timeout: 50 + - timestamps + + builders: + - print-template-name: + template-name: "{template-name}" + - zuul-git-prep-upper-constraints + - elasticsearch-install + - install-distro-packages + - revoke-sudo + - python27 + - assert-no-extra-files + + publishers: + - test-results + - console-log + - zuul-swift-test-results-with-console + + node: ubuntu-trusty diff --git a/zuul/layout.yaml b/zuul/layout.yaml index cef041fac9..134c8f047c 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -308,6 +308,25 @@ project-templates: post: - '{name}-branch-tarball' + # Invokes the same targets as python-jobs with one change: + # python27-searchlight is used instead of python27. The job + # python27-searchlight installs extra packages + - name: python-jobs-searchlight + check: + - 'gate-{name}-docs' + - 'gate-{name}-pep8' + # TODO(jaegerandi): Enable once experimental job works. + # - 'gate-{name}-python27-searchlight' + gate: + - 'gate-{name}-docs' + - 'gate-{name}-pep8' + # TODO(jaegerandi): Enable once experimental job works. + # - 'gate-{name}-python27-searchlight' + experimental: + - 'gate-{name}-python27-searchlight' + post: + - '{name}-branch-tarball' + - name: python-charm-jobs check: - 'gate-{name}-pep8' @@ -9796,7 +9815,7 @@ projects: - name: openstack/python-searchlightclient template: - name: merge-check - - name: python-jobs + - name: python-jobs-searchlight - name: python3-jobs - name: openstack-client-publish-jobs - name: check-requirements @@ -10335,7 +10354,7 @@ projects: - name: openstack/searchlight template: - name: merge-check - - name: python-jobs + - name: python-jobs-searchlight - name: python3-jobs - name: openstack-server-publish-jobs - name: openstack-server-release-jobs