Jump to: navigation, search

Difference between revisions of "Rally/RallyGates"

(How to create custom rally-gate job: rename check->gate; update file paths;)
Line 1: Line 1:
 
===How to create custom rally-gate job===
 
===How to create custom rally-gate job===
  
To create rally-gate job, you should create rally-scenarios directory at the root of your project.
+
To create rally-gate job, you should create rally-jobs directory at the root of your project.
  
 
Normally this directory contains only {projectname}.yaml, but easily can be added more scenarios and jobs.
 
Normally this directory contains only {projectname}.yaml, but easily can be added more scenarios and jobs.
  
To {projectname}.yaml was ran on gate, you need to add "rally-jobs" to "jobs" section of projects.yaml in openstack-infra/config.
+
To {projectname}.yaml was ran on gate, you need to add "rally-jobs" to "jobs" section of projects.yaml in openstack-infra/project-config.
  
 
For example in glance project:
 
For example in glance project:
  
modules/openstack_project/files/jenkins_job_builder/config/projects.yaml:
+
jenkins/jobs/projects.yaml:
  
- project:
+
  - project:
    name: glance
+
      name: glance
    github-org: openstack
+
      node: 'bare-precise || bare-trusty'
    node: bare-precise
+
      tarball-site: tarballs.openstack.org
    tarball-site: tarballs.openstack.org
+
      doc-publisher-site: docs.openstack.org
    doc-publisher-site: docs.openstack.org
+
 
+
      jobs:
    jobs:
+
        - python-jobs
      - python-jobs
+
        - python-icehouse-bitrot-jobs
      - python-havana-bitrot-jobs
+
        - python-juno-bitrot-jobs
      - openstack-publish-jobs
+
        - openstack-publish-jobs
      - translation-jobs
+
        - translation-jobs
      - rally-jobs
+
        '''- rally-jobs'''
  
 
+
and add gate-rally-dsvm-{projectname} to zuul/layout.yaml:
and add check-rally-dsvm-{projectname} to modules/openstack_project/files/zuul/layout.yaml:
 
  
 
   - name: openstack/glance
 
   - name: openstack/glance
 
     template:
 
     template:
 +
      - name: merge-check
 +
      - name: python26-jobs
 
       - name: python-jobs
 
       - name: python-jobs
 
       - name: openstack-server-publish-jobs
 
       - name: openstack-server-publish-jobs
       - name: periodic-havana
+
      - name: openstack-server-release-jobs
 +
      - name: periodic-icehouse
 +
       - name: periodic-juno
 
       - name: check-requirements
 
       - name: check-requirements
 
       - name: integrated-gate
 
       - name: integrated-gate
 +
      - name: translation-jobs
 +
      - name: large-ops
 +
      - name: experimental-tripleo-jobs
 
     check:
 
     check:
 
       - check-devstack-dsvm-cells
 
       - check-devstack-dsvm-cells
       - check-tempest-dsvm-postgres-full
+
       '''- gate-rally-dsvm-glance'''
      - gate-tempest-dsvm-large-ops
+
    gate:
       - gate-tempest-dsvm-neutron-large-ops
+
       - gate-devstack-dsvm-cells
       - check-rally-dsvm-glance
+
    experimental:
 
+
       - gate-grenade-dsvm-forward
  
 
To add one more scenario and job, you need to add {scenarioname}.yaml file here,
 
To add one more scenario and job, you need to add {scenarioname}.yaml file here,
and check-rally-dsvm-{scenarioname} in projects.yaml. For example:
+
and gate-rally-dsvm-{scenarioname} in projects.yaml. For example:
  
add rally-scenarios/myscenario.yaml to rally-scenarios directory in you project
+
add myscenario.yaml to rally-jobs directory in you project
  
and modules/openstack_project/files/jenkins_job_builder/config/projects.yaml:
+
and jenkins/jobs/projects.yaml:
  
 
  - project:
 
  - project:
Line 56: Line 62:
 
     tarball-site: tarballs.openstack.org
 
     tarball-site: tarballs.openstack.org
 
     doc-publisher-site: docs.openstack.org
 
     doc-publisher-site: docs.openstack.org
 
+
 
 
     jobs:
 
     jobs:
 
       - python-jobs
 
       - python-jobs
Line 63: Line 69:
 
       - translation-jobs
 
       - translation-jobs
 
       - rally-jobs
 
       - rally-jobs
       - 'check-rally-dsvm-{name}':
+
       '''- 'gate-rally-dsvm-{name}':'''
         name: myscenario
+
         '''name: myscenario'''
  
and add check-rally-dsvm-myscenario to modules/openstack_project/files/zuul/layout.yaml:
+
and add gate-rally-dsvm-myscenario to zuul/layout.yaml:
  
 
   - name: openstack/glance
 
   - name: openstack/glance
Line 80: Line 86:
 
       - gate-tempest-dsvm-large-ops
 
       - gate-tempest-dsvm-large-ops
 
       - gate-tempest-dsvm-neutron-large-ops
 
       - gate-tempest-dsvm-neutron-large-ops
       - check-rally-dsvm-myscenario
+
       '''- gate-rally-dsvm-myscenario'''

Revision as of 09:49, 13 January 2015

How to create custom rally-gate job

To create rally-gate job, you should create rally-jobs directory at the root of your project.

Normally this directory contains only {projectname}.yaml, but easily can be added more scenarios and jobs.

To {projectname}.yaml was ran on gate, you need to add "rally-jobs" to "jobs" section of projects.yaml in openstack-infra/project-config.

For example in glance project:

jenkins/jobs/projects.yaml:

 - project:
     name: glance
     node: 'bare-precise || bare-trusty'
     tarball-site: tarballs.openstack.org
     doc-publisher-site: docs.openstack.org

     jobs:
       - python-jobs
       - python-icehouse-bitrot-jobs
       - python-juno-bitrot-jobs
       - openstack-publish-jobs
       - translation-jobs
       - rally-jobs

and add gate-rally-dsvm-{projectname} to zuul/layout.yaml:

 - name: openstack/glance
   template:
     - name: merge-check
     - name: python26-jobs
     - name: python-jobs
     - name: openstack-server-publish-jobs
     - name: openstack-server-release-jobs
     - name: periodic-icehouse
     - name: periodic-juno
     - name: check-requirements
     - name: integrated-gate
     - name: translation-jobs
     - name: large-ops
     - name: experimental-tripleo-jobs
   check:
     - check-devstack-dsvm-cells
     - gate-rally-dsvm-glance
   gate:
     - gate-devstack-dsvm-cells
   experimental:
     - gate-grenade-dsvm-forward

To add one more scenario and job, you need to add {scenarioname}.yaml file here, and gate-rally-dsvm-{scenarioname} in projects.yaml. For example:

add myscenario.yaml to rally-jobs directory in you project

and jenkins/jobs/projects.yaml:

- project:
    name: glance
    github-org: openstack
    node: bare-precise
    tarball-site: tarballs.openstack.org
    doc-publisher-site: docs.openstack.org
 
    jobs:
      - python-jobs
      - python-havana-bitrot-jobs
      - openstack-publish-jobs
      - translation-jobs
      - rally-jobs
      - 'gate-rally-dsvm-{name}':
        name: myscenario

and add gate-rally-dsvm-myscenario to zuul/layout.yaml:

 - name: openstack/glance
   template:
     - name: python-jobs
     - name: openstack-server-publish-jobs
     - name: periodic-havana
     - name: check-requirements
     - name: integrated-gate
   check:
     - check-devstack-dsvm-cells
     - check-tempest-dsvm-postgres-full
     - gate-tempest-dsvm-large-ops
     - gate-tempest-dsvm-neutron-large-ops
     - gate-rally-dsvm-myscenario