diff --git a/doc/source/static.rst b/doc/source/static.rst index c48c5685c8..d25bb3ae6f 100644 --- a/doc/source/static.rst +++ b/doc/source/static.rst @@ -16,6 +16,7 @@ At a Glance * http://docs-draft.openstack.org * http://status.openstack.org * http://pypi.openstack.org + * http://specs.openstack.org :Puppet: * :file:`modules/openstack_project/manifests/static.pp` :Projects: diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml index c110a8ee39..08b7e0679b 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml @@ -308,7 +308,7 @@ node: 'bare-precise || bare-trusty' jobs: - - gate-{name}-docs + - specs-jobs - project: name: sahara @@ -329,11 +329,9 @@ name: sahara-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-docs - - gate-{name}-python27 + - specs-jobs - project: name: python-saharaclient @@ -697,10 +695,9 @@ name: glance-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-docs + - specs-jobs - project: name: glance.store @@ -732,10 +729,9 @@ name: heat-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-docs + - specs-jobs - project: name: python-heatclient @@ -814,11 +810,9 @@ name: keystone-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: image-api @@ -930,8 +924,7 @@ tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: nova-docker @@ -958,10 +951,9 @@ name: swift-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-docs + - specs-jobs - project: @@ -1108,12 +1100,9 @@ name: oslo-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs - + - specs-jobs - project: name: python-ceilometerclient @@ -1285,12 +1274,9 @@ name: neutron-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs - + - specs-jobs - project: name: trove @@ -1372,11 +1358,9 @@ name: marconi-specs github-org: openstack node: bare-precise - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: python-marconiclient @@ -1405,11 +1389,9 @@ name: designate-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: billingstack @@ -1704,11 +1686,9 @@ name: qa-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-docs - + - specs-jobs - project: name: zuul @@ -1797,11 +1777,9 @@ name: ceilometer-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: tripleo-heat-templates @@ -1838,11 +1816,9 @@ name: tripleo-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: puppet-glance @@ -2312,11 +2288,9 @@ name: ironic-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-python27 - - gate-{name}-docs + - specs-jobs - project: name: ironic @@ -2389,10 +2363,9 @@ name: barbican-specs github-org: openstack node: 'bare-precise || bare-trusty' - tarball-site: tarballs.openstack.org jobs: - - gate-{name}-docs + - specs-jobs - project: name: python-barbicanclient @@ -2648,12 +2621,10 @@ - project: name: docs-specs github-org: openstack - node: bare-precise - tarball-site: tarballs.openstack.org + node: 'bare-precise || bare-trusty' jobs: - - gate-{name}-docs - - gate-{name}-python27 + - specs-jobs - project: name: operations-guide diff --git a/modules/openstack_project/files/jenkins_job_builder/config/specs-jobs.yaml b/modules/openstack_project/files/jenkins_job_builder/config/specs-jobs.yaml new file mode 100644 index 0000000000..85f05510c9 --- /dev/null +++ b/modules/openstack_project/files/jenkins_job_builder/config/specs-jobs.yaml @@ -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' diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index 63f884c448..1b10e19729 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -379,6 +379,16 @@ project-templates: - 'gate-{name}-chef-lint' - '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: - name: ^.*$ parameter-function: set_node_options_default_precise @@ -761,12 +771,8 @@ projects: - ceilometer-merge-release-tags - name: openstack/ceilometer-specs - check: - - gate-ceilometer-specs-python27 - - gate-ceilometer-specs-docs - gate: - - gate-ceilometer-specs-python27 - - gate-ceilometer-specs-docs + template: + - name: specs-jobs - name: openstack/cinder template: @@ -857,12 +863,8 @@ projects: - gate-designate-devstack-dsvm - name: openstack/designate-specs - check: - - gate-designate-specs-python27 - - gate-designate-specs-docs - gate: - - gate-designate-specs-python27 - - gate-designate-specs-docs + template: + - name: specs-jobs - name: openstack/glance template: @@ -1007,12 +1009,8 @@ projects: - ironic-merge-release-tags - name: openstack/ironic-specs - check: - - gate-ironic-specs-python27 - - gate-ironic-specs-docs - gate: - - gate-ironic-specs-python27 - - gate-ironic-specs-docs + template: + - name: specs-jobs - name: openstack/keystone template: @@ -1083,12 +1081,8 @@ projects: - marconi-docs - name: openstack/marconi-specs - check: - - gate-marconi-specs-python27 - - gate-marconi-specs-docs - gate: - - gate-marconi-specs-python27 - - gate-marconi-specs-docs + template: + - name: specs-jobs - name: openstack/neutron template: @@ -1122,12 +1116,8 @@ projects: - neutron-merge-release-tags - name: openstack/neutron-specs - check: - - gate-neutron-specs-python27 - - gate-neutron-specs-docs - gate: - - gate-neutron-specs-python27 - - gate-neutron-specs-docs + template: + - name: specs-jobs - name: openstack/nova template: @@ -1166,12 +1156,8 @@ projects: - nova-merge-release-tags - name: openstack/nova-specs - check: - - gate-nova-specs-python27 - - gate-nova-specs-docs - gate: - - gate-nova-specs-python27 - - gate-nova-specs-docs + template: + - name: specs-jobs - name: stackforge/nova-docker template: @@ -1203,12 +1189,8 @@ projects: - sahara-merge-release-tags - name: openstack/sahara-specs - check: - - gate-sahara-specs-docs - - gate-sahara-specs-python27 - gate: - - gate-sahara-specs-docs - - gate-sahara-specs-python27 + template: + - name: specs-jobs - name: openstack/stevedore template: @@ -1925,12 +1907,8 @@ projects: - gate-oslo-incubator-python33 - name: openstack/oslo-specs - check: - - gate-oslo-specs-python27 - - gate-oslo-specs-docs - gate: - - gate-oslo-specs-python27 - - gate-oslo-specs-docs + template: + - name: specs-jobs - name: openstack/oslo.config template: @@ -2350,12 +2328,8 @@ projects: - tripleo-incubator-docs - name: openstack/tripleo-specs - check: - - gate-tripleo-specs-python27 - - gate-tripleo-specs-docs - gate: - - gate-tripleo-specs-python27 - - gate-tripleo-specs-docs + template: + - name: specs-jobs - name: openstack/trove-integration check: @@ -2403,12 +2377,8 @@ projects: - identity-api-tox-doc-publishdocs - name: openstack/keystone-specs - check: - - gate-keystone-specs-python27 - - gate-keystone-specs-docs - gate: - - gate-keystone-specs-python27 - - gate-keystone-specs-docs + template: + - name: specs-jobs - name: openstack/image-api template: @@ -2452,12 +2422,8 @@ projects: - openstack-api-ref - name: openstack/docs-specs - check: - - gate-docs-specs-docs - - gate-docs-specs-python27 - gate: - - gate-docs-specs-docs - - gate-docs-specs-python27 + template: + - name: specs-jobs - name: openstack/openstack-manuals template: @@ -3357,11 +3323,11 @@ projects: - name: openstack/congress-specs check: - - gate-congress-specs-docs - gate-congress-specs-python27 + - gate-congress-specs-docs gate: - - gate-congress-specs-docs - gate-congress-specs-python27 + - gate-congress-specs-docs - name: stackforge/cookbook-openstack-block-storage template: diff --git a/modules/openstack_project/manifests/static.pp b/modules/openstack_project/manifests/static.pp index 1785af7bf7..6d319da6ec 100644 --- a/modules/openstack_project/manifests/static.pp +++ b/modules/openstack_project/manifests/static.pp @@ -280,4 +280,30 @@ class openstack_project::static ( 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'], + } + }