codegenerator/zuul.d/openapi.yaml
Artem Goncharov de69003db3 Start building Barbican openapi
Time to start looking at barbican as well. Sadly it is another "not
trivial for automatics" case and requires lots of manual intrusions due
to nonstandard usage of pecan framework (maybe we can improve this).
Sometimes there are jsonschemas in the code, but for the beginning just
start building routes.

Change-Id: I4f4c52c1e7862274a804a8cae8c415f233fc0990
2025-01-15 17:11:49 +00:00

390 lines
11 KiB
YAML

---
- job:
name: codegenerator-openapi-tips-base
parent: unittests
description: |
Base job for generation of the OpenAPI spec
The job expects following variables to be set:
.. zuul:jobvar:: openapi_service
OpenStack service to generate OpenAPI spec for.
Supported are:
- block-storage
- compute
- identity
- image
- load-balancer
- network
- placement
required-projects:
- name: openstack/codegenerator
attempts: 1
timeout: 600
pre-run:
- playbooks/openapi/pre.yaml
run:
- playbooks/openapi/run.yaml
post-run:
- playbooks/openapi/post.yaml
vars:
codegenerator_work_dir: "wrk"
install_additional_projects: []
- job:
name: codegenerator-openapi-baremetal-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Ironic
required-projects:
- name: openstack/ironic
vars:
openapi_service: baremetal
install_additional_projects:
- project: "opendev.org/openstack/ironic"
name: "."
- job:
name: codegenerator-openapi-baremetal-tips-with-api-ref
parent: codegenerator-openapi-baremetal-tips
description: |
Generate OpenAPI spec for Ironic consuming API-REF
required-projects:
- name: openstack/ironic
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/ironic"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-openapi-block-storage-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Cinder
required-projects:
- name: openstack/cinder
vars:
openapi_service: block-storage
install_additional_projects:
- project: "opendev.org/openstack/cinder"
name: "."
- job:
name: codegenerator-openapi-block-storage-tips-with-api-ref
parent: codegenerator-openapi-block-storage-tips
description: |
Generate OpenAPI spec for Cinder consuming API-REF
required-projects:
- name: openstack/cinder
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/cinder"
path: "/api-ref/build/html/v3/index.html"
- job:
name: codegenerator-openapi-compute-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for nova
required-projects:
- name: openstack/nova
vars:
openapi_service: compute
install_additional_projects:
- project: "opendev.org/openstack/nova"
name: "."
- job:
name: codegenerator-openapi-compute-tips-with-api-ref
parent: codegenerator-openapi-compute-tips
description: |
Generate OpenAPI spec for nova consuming API-REF
required-projects:
- name: openstack/nova
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/nova"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-openapi-dns-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Designate
required-projects:
- name: openstack/designate
vars:
openapi_service: dns
install_additional_projects:
- project: "opendev.org/openstack/designate"
name: "."
- job:
name: codegenerator-openapi-dns-tips-with-api-ref
parent: codegenerator-openapi-dns-tips
description: |
Generate OpenAPI spec for Designate consuming API-REF
required-projects:
- name: openstack/designate
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/designate"
path: "/api-ref/build/html/dns-api-v2-index.html"
- job:
name: codegenerator-openapi-identity-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Keystone
nodeset: ubuntu-jammy
required-projects:
- name: openstack/keystone
vars:
openapi_service: identity
install_additional_projects:
- project: "opendev.org/openstack/keystone"
name: "."
- job:
name: codegenerator-openapi-identity-tips-with-api-ref
parent: codegenerator-openapi-identity-tips
description: |
Generate OpenAPI spec for Keystone consuming API-REF
required-projects:
- name: openstack/keystone
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/keystone"
path: "/api-ref/build/html/v3/index.html"
- job:
name: codegenerator-openapi-image-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Glance
required-projects:
- name: openstack/glance
vars:
openapi_service: image
install_additional_projects:
- project: "opendev.org/openstack/glance"
name: "."
- job:
name: codegenerator-openapi-image-tips-with-api-ref
parent: codegenerator-openapi-image-tips
description: |
Generate OpenAPI spec for Glance consuming API-REF
required-projects:
- name: openstack/glance
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/glance"
path: "/api-ref/build/html/v2/index.html"
- job:
name: codegenerator-openapi-key-manager-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Barbican
required-projects:
- name: openstack/barbican
vars:
openapi_service: key-manager
install_additional_projects:
- project: "opendev.org/openstack/barbican"
name: "."
- job:
name: codegenerator-openapi-load-balancing-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Octavia
required-projects:
- name: openstack/octavia
vars:
openapi_service: load-balancer
install_additional_projects:
- project: "opendev.org/openstack/octavia"
name: "."
- job:
name: codegenerator-openapi-load-balancing-tips-with-api-ref
parent: codegenerator-openapi-load-balancing-tips
description: |
Generate OpenAPI spec for Octavia consuming API-REF
required-projects:
- name: openstack/octavia
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/octavia"
path: "/api-ref/build/html/v2/index.html"
- job:
name: codegenerator-openapi-network-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Neutron
required-projects:
- name: openstack/neutron
- name: openstack/neutron-vpnaas
vars:
openapi_service: network
install_additional_projects:
- project: "opendev.org/openstack/neutron"
name: "."
- project: "opendev.org/openstack/neutron-vpnaas"
name: "."
- job:
name: codegenerator-openapi-network-tips-with-api-ref
parent: codegenerator-openapi-network-tips
description: |
Generate OpenAPI spec for Neutron consuming API-REF
required-projects:
- name: openstack/neutron-lib
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/neutron-lib"
path: "/api-ref/build/html/v2/index.html"
- job:
name: codegenerator-openapi-object-store-static
parent: base
description: |
Generate OpenAPI spec for Swift
run:
- playbooks/openapi/static.yaml
vars:
codegenerator_work_dir: "wrk"
openapi_service: object-store
- job:
name: codegenerator-openapi-placement-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Placement
required-projects:
- name: openstack/placement
vars:
openapi_service: placement
install_additional_projects:
- project: "opendev.org/openstack/placement"
name: "."
- job:
name: codegenerator-openapi-placement-tips-with-api-ref
parent: codegenerator-openapi-placement-tips
description: |
Generate OpenAPI spec for Placement consuming API-REF
required-projects:
- name: openstack/placement
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/placement"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-openapi-shared-file-system-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Manila
required-projects:
- name: openstack/manila
vars:
openapi_service: shared-file-system
install_additional_projects:
- project: "opendev.org/openstack/manila"
name: "."
- job:
name: codegenerator-openapi-shared-file-system-tips-with-api-ref
parent: codegenerator-openapi-shared-file-system-tips
description: |
Generate OpenAPI spec for Manila consuming API-REF
required-projects:
- name: openstack/manila
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/manila"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-tox-publish-openapi-specs
parent: opendev-tox-docs
description: |
Published OpenAPI specs
dependencies:
- name: codegenerator-openapi-baremetal-tips-with-api-ref
soft: true
- name: codegenerator-openapi-block-storage-tips-with-api-ref
soft: true
- name: codegenerator-openapi-compute-tips-with-api-ref
soft: true
- name: codegenerator-openapi-dns-tips-with-api-ref
soft: true
- name: codegenerator-openapi-identity-tips-with-api-ref
soft: true
- name: codegenerator-openapi-image-tips-with-api-ref
soft: true
- name: codegenerator-openapi-key-manager-tips
soft: true
- name: codegenerator-openapi-load-balancing-tips-with-api-ref
soft: true
- name: codegenerator-openapi-network-tips-with-api-ref
soft: true
- name: codegenerator-openapi-object-store-static
soft: true
- name: codegenerator-openapi-placement-tips-with-api-ref
soft: true
- name: codegenerator-openapi-shared-file-system-tips-with-api-ref
soft: true
pre-run:
- playbooks/openapi/fetch.yaml
vars:
tox_envlist: publish-openapi-specs
openapi_dest: "{{ zuul.project.src_dir }}/doc/build/html/specs"