22 Commits

Author SHA1 Message Date
Doug Hellmann
28157108b5 Remove disabled flag from python27-essex
Zuul and Jenkins are out of sync. Remove the flag
here to fix it.

Change-Id: I453196a51a86f4245d6918752110a2f7108e003a
2012-06-25 16:56:48 -04:00
Doug Hellmann
b9b646655d Fix spelling of ceilometer job names
Change-Id: Ib9158f383052962e0220dd46ae10b868c291e194
2012-06-25 15:49:16 -04:00
James E. Blair
22fc5ce6ff Move client tarballs to main project.
python-novaclient tarballs should be in nova/tarballs.
Add a project parameter to the tarball publisher to handle that,
and update the yaml accordingly.

Change-Id: I184bd4b43e7cc86574ec011e8b2cf0cd14569553
2012-06-22 07:47:34 -07:00
James E. Blair
a15c433bc8 Abate modules section.
This is the first in a series of changes to alter the way modules
are handled.

This change removes the module section from yaml.  Instead, all files in
modules/ are imported, and a 'register' function is called if it exists.

The register function can add (any number of) module classes to a module
registry.  The registry will also keep track of helper functions for use
by other modules, and the register function can add those.

This sets up the ability for a module other than the 'builders' module to
register builders.  Eventually, we should be able to move all OpenStack
specific builders, publishers, etc outside of the base modules; instead
we would just register an 'openstack_pep8' builder in a module of our own
that the job filler would know to invoke.

The API for modules is slightly changed, adding a root_xml method to handle
the different project types, a handle_data method for modules that want
to modify the yaml data structure before any XML is generated, and a data
parameter is added to the generate_xml method.  Ideally, we will migrate
those modules that count on having a centrally stored data object to using
the one passed into this method to allow maximum flexibility.  I also
envision some project-level yaml attributes to be moved closer to the
handlers that use them.

This change does inadvertently alter the XML produced.  Here is the result
of test.sh:  http://paste.openstack.org/show/18585/

In all cases, those are inconsistencies in the YAML that are corrected
by this change.  Some jobs included an empty triggers vector (due to
module trigger_none) while others did not, so there was no way to satisfy
both behaviors.  The added postbuilder section in the gerrit maven job is
there because the job specified postbuilders, but did not include the
postbuilder module.  I believe the resulting XML is more desirable.

Change-Id: Ib38222e6bfc9d5b55aa497669d7023c7aaf4b7bc
2012-06-18 17:33:47 -07:00
James E. Blair
8d4a8b7658 Add Zuul module to job filler.
Move configuration of Zuul parameters to a job filler module.

Note: I've used "triggers:" instead of "trigger:"; I'd like to
move the other triggers to use that and be more like the
"builders:" section.

Change-Id: I28af1f795f4e304faaf0e687bc3fdc76949a7664
2012-06-15 17:30:43 -07:00
James E. Blair
5d5a613ab4 Fix syntax errors in ceilometer.
Change-Id: I0fe47a3ec9ea22a9f4122fdb7302447183125fa0
2012-06-15 16:26:46 -07:00
Jenkins
15e8d50de4 Merge "Add py26-essex and py27-essex jobs to ceilometer" 2012-06-15 20:42:36 +00:00
James E. Blair
1ea656b6a4 Changes to builders/publishers.
Make the following changes to builders and publishers in service
of being able to handle this job:

  http://paste.openstack.org/show/18541/

* Allow builders to have attributes
* Add a generic shell script builder
* Make the 'project' job attribute optional
  (no link to github will be made in that case)
* Combine all separate publishers into one publisher module
  so that jobs may have more than one publisher
* Name the section that lists publishers "post_build_actions"
  to be consistent with the web UI
* Allow publishers to have attributes
* Add an archive artifacts publisher
* Add a parameterized build trigger publisher
* Add a parameterized build_trigger builder
* Add wrappers
* Add a build timeout wrapper
* Add a timstamp wrapper

Also, make the following small improvements:

* The 'disabled' attribute of a job is optional, defaults to false.
* Add a script to verify XML output is the same before and after
  a change to the job filler (test.sh)

Change-Id: Icf2228494e431f5bf0a5f051f63842f12f6f92f1
2012-06-14 18:09:26 -07:00
Clark Boylan
eb58e310a7 Add FTP doc publishing job.
Need to publish documentation to docs.openstack.org. This host does
not speak SCP so we cannot use the old SCP documentation publishing
job. Replace SCP job with an FTP job (which docs.openstack.org does
speak) in order to publish documentation destined for
docs.openstack.org.

Change-Id: Ie528389c919179eac5fe6c0ca78e3dbe2251bd00
2012-06-13 09:26:00 -07:00
Julien Danjou
3ebb1961d9 Add py26-essex and py27-essex jobs to ceilometer
Change-Id: I2c7e3e803282e0e5078a4d0919cd4bcd0baebd9d
Signed-off-by: Julien Danjou <julien@danjou.info>
2012-06-06 17:45:42 +02:00
Andrew Hutchings
35233deef5 Switch stackforge to oneiric
Turns out Precise doesn't have Python 2.6

Change-Id: I309c3e588cad1c6dba955c3a71b28100be6a21b5
2012-05-30 18:57:06 +01:00
Andrew Hutchings
c9075e5a0a Switch stackforge jobs to precise builders
As part of the migration of Stackforge onto the new cloud account this moves
Stackforge jobs to the new precise builders (which are on the new account).

Change-Id: I26a003c98b46e40d2e73c59655d78e45181a64a2
2012-05-30 13:12:14 +01:00
Andrew Hutchings
bfa33e2ea4 Upgrade ceilometer to have all common jobs
Change-Id: I40966bab9f8a3e338ad2a4babde3deb377298e0f
2012-05-29 19:11:32 +01:00
Andrew Hutchings
8d03af76c5 Stackforge Jenkins Jobs changes
* Add MRaaS to Jenkins Jobs (last Stackforge project to do so, yay!)
* Heat can now use the python jobs template, so switching to that

Change-Id: I5abff387ce7967a39ffd830f2c0086f95bbeed74
2012-05-25 13:50:02 +01:00
James E. Blair
3c660d675e Support dependent changes in gerrit-git-prep.
Also added full hostname support to gerrit-git-prep -- 'review.openstack.org'
instead of 'openstack'.  This means it can be used with 'review-dev.openstack.org'
for instance.

Updated the jenkins job filler to use a 'review_site' parameter to facilitate that.

Updated the jenknis jobs filler to use slightly different variables
  review_site
  github_org
  publisher_site
which are more explicit about their purpose than 'site' and 'host'.

Make the docs/tarball publishers require a site param.

Change-Id: If24be8f7a74c09b215f94d371d5f09a695e2c098
2012-05-24 16:45:46 +00:00
Andrew Hutchings
ba74666946 Fix Jenkins Jobs for Heat
Gerrit git prep uses 'site' to determine Gerrit URL.  For heat we use 'heat-api'
for 'site'.  This adds a new parameter called 'host' which we can set to
'stackforge' for Heat

Change-Id: I7d82119b70efbea4f12eadcb6e77cfcabef84c7e
2012-05-22 19:43:05 +01:00
Andrew Hutchings
f1c7afa312 Move to sync with heat-api/heat on github
Change-Id: Id81af494394b08ef34a00820a68244ea9cc0436b
2012-05-22 15:14:07 +01:00
Andrew Hutchings
8533c1406b Add merge-check to Ceilometer
Change-Id: If5ba611483a06721ca899c0e3ac8313b4a3f5ea7
2012-05-21 14:17:41 +01:00
Andrew Hutchings
2f4f849dcb Add heat project to Stackforge
Change-Id: I6ad250761c724400ff48cae13509e5f770d14e0b
2012-05-17 11:25:11 +01:00
Andrew Hutchings
8a7a1ab6d0 Jenkins Job Builder 2.2
Adds support for project templates
Fixes a dep issue in Ubuntu
Switch off debug print in jenkins_talker.py
Fix pep8-check job
Remove dep on PyXML
Remove pretty printing (probably not needed anyway)

Change-Id: Id14d65674b7ab080df566fa31f2d4d5f88986e9d
2012-05-16 17:04:15 +01:00
Andrew Hutchings
5599a3daa8 Version 2.1 of Jenkins Jobs Builder
* Adds delete support
* Adds check-* job support

Change-Id: Ia7a19cebd32cb348e26b086353a8b5225e1e5837
2012-05-14 20:33:56 +01:00
Andrew Hutchings
c3db5b210a Jenkins Job builder 2.0
This uses a python script with modules for parts of the XML.  The parameters for the projects are provided using YAML scripts.

It also includes a Jenkins API module to directly inject jobs into Jenkins without requiring a restart/reload as well as a memory of which jobs have been pushed to Jenkins.

It is currently configured to replace the original Jenkins Jobs in StackForge.

What it won't yet do:
1. Delete jobs (although it isn't far off being able to)
2. check-* jobs (need to modify the trigger_gerrit module to support that)

Documentation to follow

Fixes bug #995599

Change-Id: I2a67ee2d9e8f43cbced56425ef7f80dc6a30a814
2012-05-11 14:43:52 +01:00