Publish placement-api-ref

Make a special placement-api-ref publishing job for the
placement API. A special job is required because placement is hosted
within the nova repository, in its own sub-directory. The api-ref template
job is not set up for that.

We could probably have done some refactoring to reuse the existing
template but since it is planned for placement to eventually move out of
the nova repo, it's not really worth it.

This change also makes the gate-placement-api-ref job voting, the change
linked via depends-on below provides testing to ensure that all
placement URLs and methods have documentation.

In I895333c21a18afadaf987f8f9903a0c8b132b1d5 there was discussion that
this style of publishing job was incorrect and api-ref should be moved
under doc/source. This is not desirable for API reference because we do
not wish for API references to be versioned in the same way that project
documentation is versioned. Also, placement's odd positioning within
a repo with another service makes that complex. This change continues
the desirable publishing to developer.openstack.org and maintains the
patterns and standards set by nova's api-ref.

Co-Authored-By: Andrey Volkov <avolkov@mirantis.com>
Depends-On: Ifefedcd51f1f8d5e741ef6d02b7a0879a185e05f
Change-Id: If5ff9bcc31e2680861e959ef7dc8581210e619e9
This commit is contained in:
Chris Dent 2017-08-08 18:00:10 +01:00
parent b11e256e37
commit 6db259b74c
3 changed files with 35 additions and 4 deletions

View File

@ -112,7 +112,7 @@
- console-log
- job-template:
name: gate-placement-api-ref-nv
name: gate-placement-api-ref
description: Build and draft the placement API Reference from source.
node: ubuntu-xenial
@ -168,6 +168,34 @@
- test-results
- console-log
# Because placement is hosted within nova, which has its own api-ref,
# we need a separate job for placement, to handle the separate
# directories.
# TODO(cdent): When placement gets its own repo, remove the special
# jobs, this one and 'gate-placement-api-ref'.
- job:
name: 'placement-api-ref'
description: Build and publish the Placement API Reference from source.
node: ubuntu-xenial
builders:
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- run-tox:
envlist: 'placement-api-ref'
- add-docs-root-marker:
docsrootdir: placement-api-ref/build/html
publishers:
- afs:
site: afs-developer-docs
source: 'placement-api-ref/build/html/**'
target: 'api-ref/placement'
remove-prefix: 'placement-api-ref/build/html/'
- test-results
- console-log
# Be aware that the variable "service" needs to be
# set when this job group is used.
# The "service" variable comes from the service catalog, which is

View File

@ -8479,7 +8479,8 @@
- api-ref-jobs:
service: compute
- gate-{name}-api-ref-src
- gate-placement-api-ref-nv
- gate-placement-api-ref
- placement-api-ref
- '{pipeline}-tempest-dsvm-neutron-nova-next-full-{node}{suffix}':
pipeline: gate
node: ubuntu-xenial

View File

@ -2729,7 +2729,7 @@ jobs:
- '^api-ref/.*'
- '^doc/api_samples/.*'
- name: ^gate-placement-api-ref-nv$
- name: ^gate-placement-api-ref$
success-pattern: http://docs-draft.openstack.org/{build.parameters[LOG_PATH]}/placement-api-ref/build/html/
branch: master
files:
@ -12824,14 +12824,16 @@ projects:
- gate-tempest-dsvm-neutron-nova-next-full-ubuntu-xenial-nv
- gate-tempest-dsvm-multinode-live-migration-ubuntu-xenial
- gate-tempest-dsvm-ironic-ipa-wholedisk-bios-agent_ipmitool-tinyipa-ubuntu-xenial-nv
- gate-placement-api-ref-nv
- gate-placement-api-ref
gate:
- gate-nova-tox-functional-ubuntu-xenial
- gate-nova-tox-functional-py35-ubuntu-xenial
- gate-tempest-dsvm-cells-ubuntu-xenial
- gate-tempest-dsvm-multinode-live-migration-ubuntu-xenial
- gate-placement-api-ref
post:
- nova-coverage-ubuntu-xenial
- placement-api-ref
experimental:
- gate-tempest-dsvm-nova-v20-api-ubuntu-xenial
- gate-grenade-dsvm-neutron-nova-next-ubuntu-xenial-nv