Publish specs jobs for *-specs

The gate jobs already publish the specs as drafts and it
would be very beneficial to actually see those online at a permanent
place - rather than going to github.

This patch:
* Sets up a new site specs.openstack.org
* Creates new job-template '{name}-publish-specs' for publishing specs
* Creates new specs-job job-group for gating and publishing specs
* Converts all *-specs repositories to use the new job-group
* Creates Zuul specs-job macro to use these jobs
* Replaces those *-specs repositories that use already docs and python27
  gates to use the new job-group and thus get published.

The patch does not take care of publishing of repositories that do not
use both the docs and python27 gates, this will be done separately.

implements bp publish-specs

Co-Authored-By: Andreas Jaeger <aj@suse.de>
Change-Id: Icc1c780cea8cd24c7a108429f84b2450056c6eed
This commit is contained in:
Steve Martinelli 2014-07-10 12:38:15 -04:00
parent 1f7ebcfa16
commit 86eca9188a
5 changed files with 107 additions and 115 deletions

View File

@ -16,6 +16,7 @@ At a Glance
* http://docs-draft.openstack.org * http://docs-draft.openstack.org
* http://status.openstack.org * http://status.openstack.org
* http://pypi.openstack.org * http://pypi.openstack.org
* http://specs.openstack.org
:Puppet: :Puppet:
* :file:`modules/openstack_project/manifests/static.pp` * :file:`modules/openstack_project/manifests/static.pp`
:Projects: :Projects:

View File

@ -298,7 +298,7 @@
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
jobs: jobs:
- gate-{name}-docs - specs-jobs
- project: - project:
name: sahara name: sahara
@ -319,11 +319,9 @@
name: sahara-specs name: sahara-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- gate-{name}-python27
- project: - project:
name: python-saharaclient name: python-saharaclient
@ -661,10 +659,9 @@
name: glance-specs name: glance-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- project: - project:
name: glance.store name: glance.store
@ -696,10 +693,9 @@
name: heat-specs name: heat-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- project: - project:
name: python-heatclient name: python-heatclient
@ -778,11 +774,9 @@
name: keystone-specs name: keystone-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: image-api name: image-api
@ -894,8 +888,7 @@
tarball-site: tarballs.openstack.org tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: nova-docker name: nova-docker
@ -922,10 +915,9 @@
name: swift-specs name: swift-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- project: - project:
@ -1072,12 +1064,9 @@
name: oslo-specs name: oslo-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: python-ceilometerclient name: python-ceilometerclient
@ -1249,12 +1238,9 @@
name: neutron-specs name: neutron-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: trove name: trove
@ -1336,11 +1322,9 @@
name: marconi-specs name: marconi-specs
github-org: openstack github-org: openstack
node: bare-precise node: bare-precise
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: python-marconiclient name: python-marconiclient
@ -1369,11 +1353,9 @@
name: designate-specs name: designate-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: billingstack name: billingstack
@ -1668,11 +1650,9 @@
name: qa-specs name: qa-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- project: - project:
name: zuul name: zuul
@ -1761,11 +1741,9 @@
name: ceilometer-specs name: ceilometer-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: tripleo-heat-templates name: tripleo-heat-templates
@ -1802,11 +1780,9 @@
name: tripleo-specs name: tripleo-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: puppet-glance name: puppet-glance
@ -2276,11 +2252,9 @@
name: ironic-specs name: ironic-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-python27 - specs-jobs
- gate-{name}-docs
- project: - project:
name: ironic name: ironic
@ -2353,10 +2327,9 @@
name: barbican-specs name: barbican-specs
github-org: openstack github-org: openstack
node: 'bare-precise || bare-trusty' node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- project: - project:
name: python-barbicanclient name: python-barbicanclient
@ -2612,12 +2585,10 @@
- project: - project:
name: docs-specs name: docs-specs
github-org: openstack github-org: openstack
node: bare-precise node: 'bare-precise || bare-trusty'
tarball-site: tarballs.openstack.org
jobs: jobs:
- gate-{name}-docs - specs-jobs
- gate-{name}-python27
- project: - project:
name: operations-guide name: operations-guide

View File

@ -0,0 +1,28 @@
# Jobs for the various *-specs repositories
- job-template:
name: '{name}-publish-specs'
node: 'bare-precise || bare-trusty'
builders:
- revoke-sudo
- gerrit-git-prep
- docs:
github-org: '{github-org}'
project: '{name}'
publishers:
- ftp:
site: 'specs.openstack.org'
source: 'doc/build/html/**'
target: '{github-org}/{name}'
remove-prefix: 'doc/build/html'
excludes: ''
- console-log
- job-group:
name: specs-jobs
jobs:
- gate-{name}-docs
- gate-{name}-python27
- '{name}-publish-specs'

View File

@ -379,6 +379,16 @@ project-templates:
- 'gate-{name}-chef-lint' - 'gate-{name}-chef-lint'
- 'gate-{name}-chef-unit' - 'gate-{name}-chef-unit'
- name: specs-jobs
check:
- 'gate-{name}-docs'
- 'gate-{name}-python27'
gate:
- 'gate-{name}-docs'
- 'gate-{name}-python27'
post:
- '{name}-publish-specs'
jobs: jobs:
- name: ^.*$ - name: ^.*$
parameter-function: set_node_options_default_precise parameter-function: set_node_options_default_precise
@ -765,12 +775,8 @@ projects:
- ceilometer-merge-release-tags - ceilometer-merge-release-tags
- name: openstack/ceilometer-specs - name: openstack/ceilometer-specs
check: template:
- gate-ceilometer-specs-python27 - name: specs-jobs
- gate-ceilometer-specs-docs
gate:
- gate-ceilometer-specs-python27
- gate-ceilometer-specs-docs
- name: openstack/cinder - name: openstack/cinder
template: template:
@ -859,12 +865,8 @@ projects:
- gate-designate-devstack-dsvm - gate-designate-devstack-dsvm
- name: openstack/designate-specs - name: openstack/designate-specs
check: template:
- gate-designate-specs-python27 - name: specs-jobs
- gate-designate-specs-docs
gate:
- gate-designate-specs-python27
- gate-designate-specs-docs
- name: openstack/glance - name: openstack/glance
template: template:
@ -1009,12 +1011,8 @@ projects:
- ironic-merge-release-tags - ironic-merge-release-tags
- name: openstack/ironic-specs - name: openstack/ironic-specs
check: template:
- gate-ironic-specs-python27 - name: specs-jobs
- gate-ironic-specs-docs
gate:
- gate-ironic-specs-python27
- gate-ironic-specs-docs
- name: openstack/keystone - name: openstack/keystone
template: template:
@ -1085,12 +1083,8 @@ projects:
- marconi-docs - marconi-docs
- name: openstack/marconi-specs - name: openstack/marconi-specs
check: template:
- gate-marconi-specs-python27 - name: specs-jobs
- gate-marconi-specs-docs
gate:
- gate-marconi-specs-python27
- gate-marconi-specs-docs
- name: openstack/neutron - name: openstack/neutron
template: template:
@ -1124,12 +1118,8 @@ projects:
- neutron-merge-release-tags - neutron-merge-release-tags
- name: openstack/neutron-specs - name: openstack/neutron-specs
check: template:
- gate-neutron-specs-python27 - name: specs-jobs
- gate-neutron-specs-docs
gate:
- gate-neutron-specs-python27
- gate-neutron-specs-docs
- name: openstack/nova - name: openstack/nova
template: template:
@ -1168,12 +1158,8 @@ projects:
- nova-merge-release-tags - nova-merge-release-tags
- name: openstack/nova-specs - name: openstack/nova-specs
check: template:
- gate-nova-specs-python27 - name: specs-jobs
- gate-nova-specs-docs
gate:
- gate-nova-specs-python27
- gate-nova-specs-docs
- name: stackforge/nova-docker - name: stackforge/nova-docker
template: template:
@ -1205,12 +1191,8 @@ projects:
- sahara-merge-release-tags - sahara-merge-release-tags
- name: openstack/sahara-specs - name: openstack/sahara-specs
check: template:
- gate-sahara-specs-docs - name: specs-jobs
- gate-sahara-specs-python27
gate:
- gate-sahara-specs-docs
- gate-sahara-specs-python27
- name: openstack/stevedore - name: openstack/stevedore
template: template:
@ -1928,12 +1910,8 @@ projects:
- gate-oslo-incubator-python33 - gate-oslo-incubator-python33
- name: openstack/oslo-specs - name: openstack/oslo-specs
check: template:
- gate-oslo-specs-python27 - name: specs-jobs
- gate-oslo-specs-docs
gate:
- gate-oslo-specs-python27
- gate-oslo-specs-docs
- name: openstack/oslo.config - name: openstack/oslo.config
template: template:
@ -2352,12 +2330,8 @@ projects:
- tripleo-incubator-docs - tripleo-incubator-docs
- name: openstack/tripleo-specs - name: openstack/tripleo-specs
check: template:
- gate-tripleo-specs-python27 - name: specs-jobs
- gate-tripleo-specs-docs
gate:
- gate-tripleo-specs-python27
- gate-tripleo-specs-docs
- name: openstack/trove-integration - name: openstack/trove-integration
check: check:
@ -2405,12 +2379,8 @@ projects:
- identity-api-tox-doc-publishdocs - identity-api-tox-doc-publishdocs
- name: openstack/keystone-specs - name: openstack/keystone-specs
check: template:
- gate-keystone-specs-python27 - name: specs-jobs
- gate-keystone-specs-docs
gate:
- gate-keystone-specs-python27
- gate-keystone-specs-docs
- name: openstack/image-api - name: openstack/image-api
template: template:
@ -2454,12 +2424,8 @@ projects:
- openstack-api-ref - openstack-api-ref
- name: openstack/docs-specs - name: openstack/docs-specs
check: template:
- gate-docs-specs-docs - name: specs-jobs
- gate-docs-specs-python27
gate:
- gate-docs-specs-docs
- gate-docs-specs-python27
- name: openstack/openstack-manuals - name: openstack/openstack-manuals
template: template:
@ -3372,11 +3338,11 @@ projects:
- name: openstack/congress-specs - name: openstack/congress-specs
check: check:
- gate-congress-specs-docs
- gate-congress-specs-python27 - gate-congress-specs-python27
- gate-congress-specs-docs
gate: gate:
- gate-congress-specs-docs
- gate-congress-specs-python27 - gate-congress-specs-python27
- gate-congress-specs-docs
- name: stackforge/cookbook-openstack-block-storage - name: stackforge/cookbook-openstack-block-storage
template: template:

View File

@ -280,4 +280,30 @@ class openstack_project::static (
source => 'puppet:///modules/openstack_project/run_bandersnatch.py', source => 'puppet:///modules/openstack_project/run_bandersnatch.py',
} }
###########################################################
# Specs
apache::vhost { 'specs.openstack.org':
port => 80,
priority => '50',
docroot => '/srv/static/specs',
require => File['/srv/static/specs'],
}
file { '/srv/static/specs':
ensure => directory,
owner => 'jenkins',
group => 'jenkins',
require => User['jenkins'],
}
file { '/srv/static/specs/robots.txt':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
source => 'puppet:///modules/openstack_project/disallow_robots.txt',
require => File['/srv/static/specs'],
}
} }