Run most non-sensitive jobs on single-use workers

* doc/source/jjb.rst
* doc/source/stackforge.rst: Update examples to recommend
bare-precise nodes in new job configuration.

* modules/openstack_project/files/jenkins_job_builder/config/*.yaml:
Change the node label for all jobs opreviously using precise to use
bare-precise instead.

* modules/openstack_project/files/zuul/layout.yaml: Get rid of the
transitional matches for setting the single use parameter function
on specific job names and just set it on everything as a default.
Add patterns for jobs which need long-running slaves to apply a
reusable node parameter function instead.

* modules/openstack_project/files/zuul/openstack_functions.py: Add a
parameter function for reusable nodes which refrains from enabling
auto-offline behavior.

* modules/openstack_project/templates/nodepool/nodepool.yaml.erb:
Double the minimum ready bare-precise nodes to accommodate
additional load.

Change-Id: I2a90c5b120a50bb8033c891702185f054ee84d35
This commit is contained in:
Jeremy Stanley 2014-02-14 22:37:59 +00:00
parent 17e09934db
commit 3d8b647a70
26 changed files with 251 additions and 263 deletions

View File

@ -218,14 +218,14 @@ arguments to and instantiates the job templates as real jobs. For example:
- project:
name: example1
node: precise
node: bare-precise
jobs:
- python-jobs
- project:
name: example2
node: oneiric
node: bare-centos6
jobs:
- {name}-docs

View File

@ -112,7 +112,7 @@ should look something like::
- project:
name: project-name
github-org: stackforge
node: precise
node: bare-precise
tarball-site: tarballs.openstack.org
jobs:
@ -127,7 +127,7 @@ used by adding the ``hook-{name}-rtfd`` template to the jobs list::
- project:
name: project-name
github-org: stackforge
node: precise
node: bare-precise
tarball-site: tarballs.openstack.org
jobs:

View File

@ -3,7 +3,7 @@
name: openstack-api-quick-start
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -30,7 +30,7 @@
name: openstack-api-ref
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -58,7 +58,7 @@
- job:
name: openstack-api-site
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -76,7 +76,7 @@
name: image-api-v2.0
project-type: maven
concurrent: true
node: precise
node: bare-precise
wrappers:
- timeout:
@ -117,7 +117,7 @@
name: network-api-v1
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -142,7 +142,7 @@
- job:
name: network-api-v2
project-type: maven
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -168,7 +168,7 @@
name: object-api-v1.0
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -194,7 +194,7 @@
name: compute-api-v2.0
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -219,7 +219,7 @@
- job:
name: compute-api-v2.0-wadl
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -238,7 +238,7 @@
name: block-api-v2.0
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -265,7 +265,7 @@
name: identity-api-v2.0
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep
@ -291,7 +291,7 @@
name: identity-api-v3
project-type: maven
concurrent: true
node: precise
node: bare-precise
wrappers:
- timeout:
@ -332,7 +332,7 @@
name: image-api-v1.1
project-type: maven
concurrent: false
node: precise
node: bare-precise
prebuilders:
- gerrit-git-prep

View File

@ -37,7 +37,7 @@
- job:
name: gate-openstack-chef-repo
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1027,7 +1027,7 @@
- job:
name: gate-devstack-gate-unittests
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,7 +1,7 @@
- job:
name: elastic-recheck-docs
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,7 +1,7 @@
- job:
name: check-gerrit-unittests
project-type: maven
node: precise
node: bare-precise
wrappers:
- timeout:
@ -34,7 +34,7 @@
- job:
name: gate-gerrit-unittests
project-type: maven
node: precise
node: bare-precise
wrappers:
- timeout:
@ -62,7 +62,7 @@
- job:
name: gerrit-package
project-type: maven
node: precise
node: bare-precise
wrappers:
- timeout:

View File

@ -1,6 +1,6 @@
- job-template:
name: gate-hacking-integration-{target-project}
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,6 +1,6 @@
- job-template:
name: 'hook-{name}-rtfd'
node: precise
node: bare-precise
builders:
- shell: 'curl -X POST https://readthedocs.org/build/{name} >/dev/null'

View File

@ -1,6 +1,6 @@
- job:
name: gate-horizon-selenium
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -13,7 +13,7 @@
- job:
name: gate-horizon-python27-django14
node: precise
node: bare-precise
wrappers:
- timeout:

View File

@ -2,7 +2,7 @@
- job:
name: infra-publications-publish
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -29,7 +29,7 @@
- job:
name: infra-publications-publish-index
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,7 +1,7 @@
# This is a non-standard docs job because it uses SCP instead of FTP
- job:
name: jenkins-job-builder-docs
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -20,7 +20,7 @@
- job:
name: jenkins-job-builder-compare-xml
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,7 +1,7 @@
- job-template:
name: 'openstack-{manual}'
project-type: maven
node: precise
node: bare-precise
concurrent: false
prebuilders:
@ -39,7 +39,7 @@
project-type: maven
concurrent: false
node: precise
node: bare-precise
properties:
- inject:
@ -75,7 +75,7 @@
name: 'openstack-install-deploy-guide-{lang}'
concurrent: false
node: precise
node: bare-precise
properties:
- inject:
@ -99,7 +99,7 @@
- job-template:
name: openstack-{oldmanual}-old
project-type: maven
node: precise
node: bare-precise
concurrent: false
prebuilders:
@ -135,7 +135,7 @@
- job-template:
name: openstack-{install}-{distribution}-old
project-type: maven
node: precise
node: bare-precise
concurrent: false
prebuilders:

View File

@ -1,7 +1,7 @@
# in zuul/layout.yaml specified to only run against stable/grizzly
- job:
name: gate-openstack-manuals-validate
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -14,7 +14,7 @@
- job:
name: openstack-docs-site
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -38,7 +38,7 @@
name: openstack-ha-guide
project-type: maven
concurrent: false
node: precise
node: bare-precise
properties:
- inject:
@ -76,7 +76,7 @@
name: openstack-operations-guide
project-type: maven
concurrent: false
node: precise
node: bare-precise
properties:
- inject:
@ -111,7 +111,7 @@
- job-template:
name: 'openstack-operations-guide-{lang}'
concurrent: false
node: precise
node: bare-precise
github-org: openstack
properties:

View File

@ -1,10 +1,10 @@
- job:
name: gate-noop
node: precise
node: bare-precise
- job:
name: gate-grenade-noop
node: precise
node: bare-precise
- job:
name: node-test

View File

@ -1,7 +1,7 @@
# Not using the template because openstack-planet does not use tox.
- job:
name: 'gate-openstack-planet-unittest'
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,6 +1,6 @@
- job-template:
name: '{name}-docs'
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -2,7 +2,7 @@
# It also uses a non standard build script.
- job:
name: openstack-qa-docs
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -84,7 +84,7 @@
name: python-grizzly-bitrot-jobs
branch: 'stable/grizzly'
branch-name: '-grizzly'
node: precise
node: bare-precise
jobs:
- 'periodic-{name}-python26{branch-name}'
- 'periodic-{name}-python27{branch-name}'
@ -95,7 +95,7 @@
name: python-havana-bitrot-jobs
branch: 'stable/havana'
branch-name: '-havana'
node: precise
node: bare-precise
jobs:
- 'periodic-{name}-python26{branch-name}'
- 'periodic-{name}-python27{branch-name}'

View File

@ -178,7 +178,7 @@
- job-template:
name: '{name}-tarball'
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -196,7 +196,7 @@
- job-template:
name: '{name}-branch-tarball'
concurrent: false
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -218,7 +218,7 @@
- job-template:
name: 'gate-{name}-requirements'
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,7 +1,7 @@
# This is a non-standard docs job because it uses SCP instead of FTP
- job:
name: storyboard-docs
node: precise
node: bare-precise
builders:
- gerrit-git-prep

View File

@ -1,7 +1,7 @@
# This is a non-standard docs job because it uses SCP instead of FTP
- job:
name: zuul-docs
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -20,7 +20,7 @@
- job:
name: 'dev-zuul-coverage'
node: precise
node: bare-precise
builders:
- gerrit-git-prep
@ -56,4 +56,4 @@
branches:
- 'origin/master'
node: precise
node: bare-precise

View File

@ -222,35 +222,20 @@ project-templates:
jobs:
- name: ^.*$
parameter-function: set_log_url
- name: ^.*(dsvm|devstack-vm).*$
parameter-function: single_use_node
- name: '^(gate|periodic)-(?!mirror).*-python26.*$'
parameter-function: single_use_node
- name: gate-sqlalchemy-migrate-unittests-26sa07
parameter-function: single_use_node
- name: '^gate-taskflow-tox-py26-sa(7|9)-mysql$'
parameter-function: single_use_node
- name: '^gate-pecan-tox-ceilometer-(stable|tip)$'
parameter-function: single_use_node
# begin section to deal with transition to bare-precise
- name: gate-config-layout
parameter-function: single_use_node
- name: ci-docs
parameter-function: single_use_node
- name: gate-ci-docs
parameter-function: single_use_node
- name: '^gate-(ceilometer|cinder|glance|heat|horizon|keystone|nova|savanna|swift)-docs$'
parameter-function: single_use_node
- name: '^gate-(ceilometer|cinder|glance|heat|horizon|keystone|nova|savanna|swift)-pep8$'
parameter-function: single_use_node
- name: '^gate-(ceilometer|cinder|glance|heat|horizon|keystone|nova|savanna|swift)-pylint$'
parameter-function: single_use_node
- name: '^gate-(ceilometer|cinder|glance|heat|horizon|keystone|nova|savanna|swift)-python27$'
parameter-function: single_use_node
- name: '^(ceilometer|cinder|glance|heat|horizon|keystone|nova|savanna|swift)-coverage$'
parameter-function: single_use_node
# end section to deal with transition to bare-precise
# jobs run on the proposal worker
- name: ^.*-(merge-release-tags|(propose|upstream)-(requirements|translation)-update)$
parameter-function: reusable_node
# jobs run on the pypi worker
- name: ^.*-(jenkinsci|mavencentral|pypi)-upload$
parameter-function: reusable_node
# jobs run on the mirror26, mirror27 and mirror33 workers
- name: ^(periodic|post)-mirror-python(26|27|33)$
parameter-function: reusable_node
# the salt-trigger worker has no jobs yet
# jobs run on the precisepy3k workers
- name: ^gate-.*-(python33|pypy)$
parameter-function: reusable_node
- name: ^(gate|check)-requirements-integration-dsvm$
branch: ^(?!stable/grizzly).*$
- name: ^(gate|check)-tempest-dsvm-neutron-pg$
@ -354,7 +339,6 @@ jobs:
voting: false
failure-message: Jenkins XML output has changed.
success-message: Jenkins XML output is unchanged.
parameter-function: single_use_node
# Continous publishing from master of the following documentation targets:
- name: openstack-admin-guide-cloud
branch: ^master$

View File

@ -32,3 +32,7 @@ def set_log_url(item, job, params):
def single_use_node(item, job, params):
set_log_url(item, job, params)
params['OFFLINE_NODE_WHEN_COMPLETE'] = '1'
def reusable_node(item, job, params):
set_log_url(item, job, params)

View File

@ -232,7 +232,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord
@ -266,7 +266,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord
@ -300,7 +300,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord
@ -334,7 +334,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord
@ -368,7 +368,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord
@ -402,7 +402,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord
@ -436,7 +436,7 @@ targets:
credentials-id: '<%= jenkins_credentials_id %>'
images:
- name: bare-precise
min-ready: 3
min-ready: 6
providers:
- name: rax-iad
- name: rax-ord