From 79f8d631ebb4619f3ebc9cbab52650aaebf57c46 Mon Sep 17 00:00:00 2001 From: Martin Kopec Date: Mon, 3 Oct 2022 16:32:27 +0200 Subject: [PATCH] Document 2022.06 guidelines We forgot to document the latest guidelines and include them in our project's documentation. This patch fixes that plus it modifies the tools/jsonToRst.py so that it takes into account the 2 new programs, added in the 2022.06 guidelines as next ones. In order to avoid this mistake in the future, the Internal Process Documentation is extended about the steps required to document a guideline. Change-Id: I0447adb2685a0766f7935e47816cee57a50e6d77 --- doc/source/guidelines/all.2022.06.rst | 431 ++++++++++++++++++++++ doc/source/guidelines/all.next.rst | 245 +++++++++--- doc/source/guidelines/index.rst | 3 +- doc/source/process/InternalProcessDoc.rst | 34 +- tools/jsonToRst.py | 2 + 5 files changed, 661 insertions(+), 54 deletions(-) create mode 100644 doc/source/guidelines/all.2022.06.rst diff --git a/doc/source/guidelines/all.2022.06.rst b/doc/source/guidelines/all.2022.06.rst new file mode 100644 index 00000000..7c29f64f --- /dev/null +++ b/doc/source/guidelines/all.2022.06.rst @@ -0,0 +1,431 @@ +============================================ +OpenStack Interoperability Guideline 2022.06 +============================================ + +:Status: approved +:Replaces: 2021.11 +:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/2022.06.json + +This document outlines the mandatory capabilities and designated +sections required to exist in a software installation in order to +be eligible to use marks controlled by the OpenStack Foundation. + +This document was generated from the `<2022.06.json>`_. + +Releases Covered +============================== +Applies to Wallaby, Xena, Yoga, Zed + + + + + +OS_powered_compute Component Capabilities +========================================= +Required Capabilities +----------------------- +* compute-availability-zones-list (Nova) +* compute-flavors-list (Nova) +* compute-instance-actions-get (Nova) +* compute-instance-actions-list (Nova) +* compute-keypairs-create (Nova) +* compute-keypairs-create-type (Nova) +* compute-list-api-versions (Nova) +* compute-quotas-get (Nova) +* compute-servers-create (Nova) +* compute-servers-create-multiple (Nova) +* compute-servers-delete (Nova) +* compute-servers-get (Nova) +* compute-servers-host (Nova) +* compute-servers-invalid (Nova) +* compute-servers-list (Nova) +* compute-servers-lock (Nova) +* compute-servers-name (Nova) +* compute-servers-reboot (Nova) +* compute-servers-rebuild (Nova) +* compute-servers-stop (Nova) +* compute-servers-update (Nova) +* compute-servers-verify (Nova) +* compute-servers-metadata-delete (Nova) +* compute-servers-metadata-get (Nova) +* compute-servers-metadata-list (Nova) +* compute-servers-metadata-set (Nova) +* compute-servers-metadata-update (Nova) +* compute-volume-attach (Nova) +* compute-images-create (Nova) +* compute-servers-resize (Nova) +* compute-servers-tags-CRUD (Nova) +* compute-servers-tags-tag-CRUD (Nova) +* identity-v3-api-discovery (Keystone) +* identity-v3-catalog (Keystone) +* identity-v3-list-projects (Keystone) +* identity-v3-tokens-create (Keystone) +* identity-v3-tokens-delete (Keystone) +* identity-v3-tokens-validate (Keystone) +* identity-v3-list-versions (Keystone) +* identity-v3-application-credentials (Keystone) +* identity-v3-users (Keystone) +* identity-v3-domains (Keystone) +* images-v2-index (Glance) +* images-v2-update (Glance) +* images-v2-list (Glance) +* images-v2-delete (Glance) +* images-v2-get (Glance) +* images-v2-import (Glance) +* networks-l2-CRUD (Neutron) +* networks-l3-router (Neutron) +* networks-l3-CRUD (Neutron) +* networks-list-api-versions (Neutron) +* networks-security-groups-CRUD (Neutron) +* networks-subnet-pools-CRUD (Neutron) +* networks-security-groups-CRUD-2 (Neutron) +* networks-dhcp (Neutron) +* networks-floating-ips-CRUD (Neutron) +* volumes-list-api-versions (Cinder) +* volumes-v3-create-delete (Cinder) +* volumes-v3-snapshot-create-delete (Cinder) +* volumes-v3-get (Cinder) +* volumes-v3-list (Cinder) +* volumes-v3-update (Cinder) +* volumes-v3-copy-image-to-volume (Cinder) +* volumes-v3-clone (Cinder) +* volumes-v3-availability-zones (Cinder) +* volumes-v3-extensions (Cinder) +* volumes-v3-metadata (Cinder) +* volumes-v3-readonly (Cinder) +* volumes-v3-upload (Cinder) +* volumes-v3-snapshots-list (Cinder) + +Advisory Capabilities +----------------------- +* networks-address-pairs (Neutron) +* networks-extensions (Neutron) +* networks-bulk (Neutron) +* networks-negative (Neutron) +* networks-ipv6 (Neutron) +* networks-show-api-details (Neutron) +* networks-port-list-filter (Neutron) + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + + + +OS_powered_storage Component Capabilities +========================================= +Required Capabilities +----------------------- +* objectstore-account-quotas (Swift) +* objectstore-account-list (Swift) +* objectstore-container-acl (Swift) +* objectstore-container-quotas (Swift) +* objectstore-container-create (Swift) +* objectstore-container-delete (Swift) +* objectstore-container-list (Swift) +* objectstore-container-metadata (Swift) +* objectstore-dlo-support (Swift) +* objectstore-slo-support (Swift) +* objectstore-info-request (Swift) +* objectstore-object-copy (Swift) +* objectstore-object-create (Swift) +* objectstore-object-delete (Swift) +* objectstore-object-get (Swift) +* objectstore-object-versioned (Swift) +* objectstore-temp-url-get (Swift) +* objectstore-temp-url-put (Swift) +* objectstore-account-update (Swift) +* objectstore-bulk (Swift) +* identity-v3-tokens-create (Keystone) +* identity-v3-tokens-delete (Keystone) + +Advisory Capabilities +----------------------- +None + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + +Designated Sections +===================================== + +The following designated sections apply to the same releases as +this specification. + +Required Designated Sections +---------------------------- + +* Cinder : Designated sections are the API implementation code +* Glance : Designated sections are the API implementation code and domain + model. +* Keystone : Designation is outlined per API grouping. Identity (user and + group) management APIs will not be designated. API access (with exception of + auth) may be prohibited by policy (resulting in HTTP 403). Designated APIs + include v3 version where applicable. +* Neutron : By default, designated for all code backing required capabilities + except pluggable components such as plugins, drivers, and API extensions + other than those listed below. +* Nova : By default, designated except scheduler, filter, drivers, API + extensions and networking. Additional properties on responses are not + allowed. +* Swift : Designated sections are proxy server, object server, container + server, account server and select middleware + +Advisory Designated Sections +---------------------------- + +None + +Deprecated Designated Sections +------------------------------ + +None + +Removed Designated Sections +--------------------------- + +None +================================================ +OpenStack Interoperability Guideline dns.2022.06 +================================================ + +:Status: approved +:Replaces: dns.2021.11 +:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/dns.2022.06.json + +This document outlines the mandatory capabilities and designated +sections required to exist in a software installation in order to +be eligible to use marks controlled by the OpenStack Foundation. + +This document was generated from the ``_. + +Releases Covered +============================== +Applies to Wallaby, Xena, Yoga, Zed + + + + + +OS_powered_dns Component Capabilities +===================================== +Required Capabilities +----------------------- +* dns-record-crud (Designate) +* dns-zone-crud (Designate) + +Advisory Capabilities +----------------------- +None + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + +Designated Sections +===================================== + +The following designated sections apply to the same releases as +this specification. + +Required Designated Sections +---------------------------- + +* Designate : API and Central code, allowing for plugins and excluding storage + and scheduler filters + +Advisory Designated Sections +---------------------------- + +None + +Deprecated Designated Sections +------------------------------ + +None + +Removed Designated Sections +--------------------------- + +None +========================================================== +OpenStack Interoperability Guideline orchestration.2022.06 +========================================================== + +:Status: approved +:Replaces: orchestration.2021.11 +:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/orchestration.2022.06.json + +This document outlines the mandatory capabilities and designated +sections required to exist in a software installation in order to +be eligible to use marks controlled by the OpenStack Foundation. + +This document was generated from the ``_. + +Releases Covered +============================== +Applies to Wallaby, Xena, Yoga, Zed + + + + + +OS_powered_orchestration Component Capabilities +=============================================== +Required Capabilities +----------------------- +* stack-create (Heat) +* stack-delete (Heat) +* stack-environment-parameter (Heat) +* stack-event (Heat) +* stack-hook (Heat) +* stack-list (Heat) +* stack-output (Heat) +* stack-preview (Heat) +* stack-list-resources (Heat) +* stack-list-resource-types (Heat) +* stack-list-template-functions (Heat) +* stack-list-template-versions (Heat) +* stack-mark-resource-unhealthy (Heat) +* stack-resource-type-template (Heat) +* stack-show (Heat) +* stack-show-resource (Heat) +* stack-show-resource-type (Heat) +* stack-show-unhealthy-resource (Heat) +* stack-signal-resource (Heat) +* stack-software-config (Heat) +* stack-tag (Heat) +* stack-template (Heat) +* stack-update (Heat) + +Advisory Capabilities +----------------------- +None + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + +Designated Sections +===================================== + +The following designated sections apply to the same releases as +this specification. + +Required Designated Sections +---------------------------- + +* Heat : Must at a minimum include resources for OpenStack Powered Compute + components. + +Advisory Designated Sections +---------------------------- + +None + +Deprecated Designated Sections +------------------------------ + +None + +Removed Designated Sections +--------------------------- + +None +=============================================================== +OpenStack Interoperability Guideline shared_file_system.2022.06 +=============================================================== + +:Status: approved +:Replaces: shared_file_system.2021.11 +:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.2022.06.json + +This document outlines the mandatory capabilities and designated +sections required to exist in a software installation in order to +be eligible to use marks controlled by the OpenStack Foundation. + +This document was generated from the ``_. + +Releases Covered +============================== +Applies to Wallaby, Xena, Yoga, Zed + + + + + +OS_powered_shared_file_system Component Capabilities +==================================================== +Required Capabilities +----------------------- +* share-list-api-versions (Manila) +* share-create-delete (Manila) +* share-get (Manila) +* share-list (Manila) +* share-update (Manila) +* share-extend (Manila) +* share-shrink (Manila) +* share-network-create-delete (Manila) +* share-network-update (Manila) +* share-network-get (Manila) +* share-network-list (Manila) + +Advisory Capabilities +----------------------- +None + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + +Designated Sections +===================================== + +The following designated sections apply to the same releases as +this specification. + +Required Designated Sections +---------------------------- + +* Manila : The Shared File Systems v2 API (with microversions) is designated + +Advisory Designated Sections +---------------------------- + +None + +Deprecated Designated Sections +------------------------------ + +None + +Removed Designated Sections +--------------------------- + +None diff --git a/doc/source/guidelines/all.next.rst b/doc/source/guidelines/all.next.rst index 9472a5bf..3be40b39 100644 --- a/doc/source/guidelines/all.next.rst +++ b/doc/source/guidelines/all.next.rst @@ -1,26 +1,26 @@ -============================================ -OpenStack Interoperability Guideline 2022.06 -============================================ +========================================= +OpenStack Interoperability Guideline next +========================================= :Status: draft -:Replaces: 2022.06 +:Replaces: 2021.11 :JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/guidelines/next.json This document outlines the mandatory capabilities and designated sections required to exist in a software installation in order to be eligible to use marks controlled by the OpenStack Foundation. -This document was generated from the `<2022.06.json>`_. +This document was generated from the ``_. Releases Covered ============================== -Applies to Victoria, Wallaby, Xena, Yoga +Applies to Wallaby, Xena, Yoga, Zed -Os_powered_compute Component Capabilities +OS_powered_compute Component Capabilities ========================================= Required Capabilities ----------------------- @@ -46,29 +46,36 @@ Required Capabilities * compute-servers-stop (Nova) * compute-servers-update (Nova) * compute-servers-verify (Nova) -* compute-servers-metadata-delete (Nova) -* compute-servers-metadata-get (Nova) -* compute-servers-metadata-list (Nova) -* compute-servers-metadata-set (Nova) -* compute-servers-metadata-update (Nova) * compute-volume-attach (Nova) +* compute-images-create (Nova) +* compute-servers-resize (Nova) +* compute-servers-tags-CRUD (Nova) +* compute-servers-tags-tag-CRUD (Nova) * identity-v3-api-discovery (Keystone) * identity-v3-catalog (Keystone) * identity-v3-list-projects (Keystone) * identity-v3-tokens-create (Keystone) * identity-v3-tokens-delete (Keystone) * identity-v3-tokens-validate (Keystone) +* identity-v3-list-versions (Keystone) +* identity-v3-application-credentials (Keystone) +* identity-v3-users (Keystone) +* identity-v3-domains (Keystone) * images-v2-index (Glance) * images-v2-update (Glance) * images-v2-list (Glance) * images-v2-delete (Glance) * images-v2-get (Glance) +* images-v2-import (Glance) * networks-l2-CRUD (Neutron) * networks-l3-router (Neutron) * networks-l3-CRUD (Neutron) * networks-list-api-versions (Neutron) * networks-security-groups-CRUD (Neutron) * networks-subnet-pools-CRUD (Neutron) +* networks-security-groups-CRUD-2 (Neutron) +* networks-dhcp (Neutron) +* networks-floating-ips-CRUD (Neutron) * volumes-list-api-versions (Cinder) * volumes-v3-create-delete (Cinder) * volumes-v3-snapshot-create-delete (Cinder) @@ -82,26 +89,25 @@ Required Capabilities * volumes-v3-metadata (Cinder) * volumes-v3-readonly (Cinder) * volumes-v3-upload (Cinder) +* volumes-v3-snapshots-list (Cinder) Advisory Capabilities ----------------------- -* identity-v3-list-versions (Keystone) -* identity-v3-application-credentials (Keystone) -* identity-v3-users (Keystone) -* identity-v3-domains (Keystone) -* volumes-v3-snapshots-list (Cinder) -* compute-images-create (Nova) -* compute-servers-resize (Nova) -* compute-servers-tags-CRUD (Nova) -* compute-servers-tags-tag-CRUD (Nova) -* networks-security-groups-CRUD-2 (Neutron) -* networks-dhcp (Neutron) -* networks-floating-ips-CRUD (Neutron) -* images-v2-import (Glance) +* networks-address-pairs (Neutron) +* networks-extensions (Neutron) +* networks-bulk (Neutron) +* networks-negative (Neutron) +* networks-ipv6 (Neutron) +* networks-show-api-details (Neutron) +* networks-port-list-filter (Neutron) Deprecated Capabilities ------------------------- -None +* compute-servers-metadata-delete (Nova) +* compute-servers-metadata-get (Nova) +* compute-servers-metadata-list (Nova) +* compute-servers-metadata-set (Nova) +* compute-servers-metadata-update (Nova) Removed Capabilities ---------------------- @@ -110,7 +116,7 @@ None -Os_powered_storage Component Capabilities +OS_powered_storage Component Capabilities ========================================= Required Capabilities ----------------------- @@ -132,13 +138,14 @@ Required Capabilities * objectstore-object-versioned (Swift) * objectstore-temp-url-get (Swift) * objectstore-temp-url-put (Swift) +* objectstore-account-update (Swift) +* objectstore-bulk (Swift) * identity-v3-tokens-create (Keystone) * identity-v3-tokens-delete (Keystone) Advisory Capabilities ----------------------- -* objectstore-account-update (Swift) -* objectstore-bulk (Swift) +None Deprecated Capabilities ------------------------- @@ -188,9 +195,9 @@ Removed Designated Sections --------------------------- None -================================================ -OpenStack Interoperability Guideline dns.2022.06 -================================================ +============================================= +OpenStack Interoperability Guideline dns.next +============================================= :Status: draft :Replaces: dns.2021.11 @@ -200,17 +207,17 @@ This document outlines the mandatory capabilities and designated sections required to exist in a software installation in order to be eligible to use marks controlled by the OpenStack Foundation. -This document was generated from the ``_. +This document was generated from the ``_. Releases Covered ============================== -Applies to Victoria, Wallaby, Xena, Yoga +Applies to Wallaby, Xena, Yoga, Zed -Os_powered_dns Component Capabilities +OS_powered_dns Component Capabilities ===================================== Required Capabilities ----------------------- @@ -256,9 +263,151 @@ Removed Designated Sections --------------------------- None -========================================================== -OpenStack Interoperability Guideline orchestration.2022.06 -========================================================== +===================================================== +OpenStack Interoperability Guideline key_manager.next +===================================================== + +:Status: draft +:Replaces: +:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/key_manager.next.json + +This document outlines the mandatory capabilities and designated +sections required to exist in a software installation in order to +be eligible to use marks controlled by the OpenStack Foundation. + +This document was generated from the ``_. + +Releases Covered +============================== +Applies to Wallaby, Xena, Yoga, Zed + + + + + +OS_powered_key_manager Component Capabilities +============================================= +Required Capabilities +----------------------- +None + +Advisory Capabilities +----------------------- +* secret-CRUD (Barbican) +* secret-generation (Barbican) +* secret-management (Barbican) +* system-management (Barbican) + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + +Designated Sections +===================================== + +The following designated sections apply to the same releases as +this specification. + +Required Designated Sections +---------------------------- + +* Barbican : Key Manager solution. + +Advisory Designated Sections +---------------------------- + +None + +Deprecated Designated Sections +------------------------------ + +None + +Removed Designated Sections +--------------------------- + +None +======================================================= +OpenStack Interoperability Guideline load_balancer.next +======================================================= + +:Status: draft +:Replaces: +:JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/load_balancer.next.json + +This document outlines the mandatory capabilities and designated +sections required to exist in a software installation in order to +be eligible to use marks controlled by the OpenStack Foundation. + +This document was generated from the ``_. + +Releases Covered +============================== +Applies to Wallaby, Xena, Yoga, Zed + + + + + +OS_powered_load_balancer Component Capabilities +=============================================== +Required Capabilities +----------------------- +None + +Advisory Capabilities +----------------------- +* provider-list (Octavia) +* load-balancer-CRUD (Octavia) +* create-listener (Octavia) +* show-listener (Octavia) +* show-listener-stats (Octavia) +* list-listeners (Octavia) +* update-listener (Octavia) +* delete-listener (Octavia) + +Deprecated Capabilities +------------------------- +None + +Removed Capabilities +---------------------- +None + + +Designated Sections +===================================== + +The following designated sections apply to the same releases as +this specification. + +Required Designated Sections +---------------------------- + +* Octavia : Load Balancing solution. + +Advisory Designated Sections +---------------------------- + +None + +Deprecated Designated Sections +------------------------------ + +None + +Removed Designated Sections +--------------------------- + +None +======================================================= +OpenStack Interoperability Guideline orchestration.next +======================================================= :Status: draft :Replaces: orchestration.2021.11 @@ -268,17 +417,17 @@ This document outlines the mandatory capabilities and designated sections required to exist in a software installation in order to be eligible to use marks controlled by the OpenStack Foundation. -This document was generated from the ``_. +This document was generated from the ``_. Releases Covered ============================== -Applies to Victoria, Wallaby, Xena, Yoga +Applies to Wallaby, Xena, Yoga, Zed -Os_powered_orchestration Component Capabilities +OS_powered_orchestration Component Capabilities =============================================== Required Capabilities ----------------------- @@ -345,29 +494,29 @@ Removed Designated Sections --------------------------- None -=============================================================== -OpenStack Interoperability Guideline shared_file_system.2022.06 -=============================================================== +============================================================ +OpenStack Interoperability Guideline shared_file_system.next +============================================================ :Status: draft -:Replaces: 2021.11 +:Replaces: shared_file_system.2021.11 :JSON Master: https://opendev.org/openinfra/interop/raw/branch/master/add-ons/guidelines/shared_file_system.next.json This document outlines the mandatory capabilities and designated sections required to exist in a software installation in order to be eligible to use marks controlled by the OpenStack Foundation. -This document was generated from the ``_. +This document was generated from the ``_. Releases Covered ============================== -Applies to Victoria, Wallaby, Xena, Yoga +Applies to Wallaby, Xena, Yoga, Zed -Os_powered_shared_file_system Component Capabilities +OS_powered_shared_file_system Component Capabilities ==================================================== Required Capabilities ----------------------- diff --git a/doc/source/guidelines/index.rst b/doc/source/guidelines/index.rst index 7a56abd1..88571bdc 100644 --- a/doc/source/guidelines/index.rst +++ b/doc/source/guidelines/index.rst @@ -8,7 +8,7 @@ Latest Guideline :maxdepth: 1 :includehidden: - all.2021.11 + all.2022.06 Proposed Guideline @@ -28,6 +28,7 @@ Previous Guidelines :maxdepth: 1 :includehidden: + all.2021.11 all.2020.11 all.2020.06 all.2019.11 diff --git a/doc/source/process/InternalProcessDoc.rst b/doc/source/process/InternalProcessDoc.rst index dc4a5ef9..91421a9f 100644 --- a/doc/source/process/InternalProcessDoc.rst +++ b/doc/source/process/InternalProcessDoc.rst @@ -84,13 +84,37 @@ Changes to be done within next.json files are documented in this section. files so that they point to the new platform guideline being released (next.json -> .json) -9. Add PTL or project representatives for each project that next file is - covering, to review the changes. -10. Add Foundation Marketplace representatives to review the proposed +9. Run the following script to update the documentation. It will generate a new + file named *all..rst* under *doc/source/guidelines/* + + .. code-block:: console + + $ tools/jsonToRst.py --all + + 1. Edit *doc/source/guidelines/index.rst* file to make the new guideline doc + visible - move the latest guideline from **Latest Guideline** section to + the **Previous Guidelines** section and put the new guideline ot the + **Latest Guideline** section. + +10. Add PTL or project representatives for each project that next file is + covering, to review the changes. +11. Add Foundation Marketplace representatives to review the proposed guidelines. -11. Change status from draft to approved. (after committee review - that will +12. Change status from draft to approved. (after committee review - that will be in separate patch) -> ~ 3 months after PTG -12. Copy and rename the newly created .json files to next.json files + + 1. Run the following script to reflect the status change in the documentation + + .. code-block:: console + + $ tools/jsonToRst.py --all + +13. Copy and rename the newly created .json files to next.json files (.next.json) - separate patch 1. Change status from approved to draft + 2. Run the following script to update the documentation. + + .. code-block:: console + + $ tools/jsonToRst.py --all next diff --git a/tools/jsonToRst.py b/tools/jsonToRst.py index ea0fe0b4..88328346 100755 --- a/tools/jsonToRst.py +++ b/tools/jsonToRst.py @@ -289,6 +289,8 @@ if __name__ == '__main__': files = [ date + ".json", "dns." + date + ".json", + "key_manager." + date + ".json", + "load_balancer." + date + ".json", "orchestration." + date + ".json", "shared_file_system." + date + ".json", ]