Merge "API/interface mapping table ETSI NFV vs Blazar" into stable/euphrates opnfv-5.0.0 opnfv-5.0.RC1
authorGerald Kunzmann <kunzmann@docomolab-euro.com>
Mon, 16 Oct 2017 10:29:18 +0000 (10:29 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 16 Oct 2017 10:29:18 +0000 (10:29 +0000)
docs/development/manuals/api_mapping.rst [new file with mode: 0644]
docs/development/manuals/index.rst [new file with mode: 0644]

diff --git a/docs/development/manuals/api_mapping.rst b/docs/development/manuals/api_mapping.rst
new file mode 100644 (file)
index 0000000..6a1bfb7
--- /dev/null
@@ -0,0 +1,386 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+=======================================
+Resource reservation mapping tables
+=======================================
+
+The following tables are an attempt to map the resource reservation APIs / interfaces between ETSI
+NFV-IFA005 and Blazar for OpenStack.
+
+I. Create Compute Resource Reservation
+======================================
+
+I.a) Create compute pool/resources reservation REQUEST
+------------------------------------------------------
+
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                | Blazar                                | Description                                    | Comment                                         |
++==+=============================+=+=====================================+================================================+=================================================+
+| \-                             | name                                  | Name of the lease/reservation.                 |                                                 |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| computePoolReservation [1]:    | **reservations**:                     |                                                | **Instance reservation is only available        |
+| **ComputePoolReservation**     | resource_type = 'virtual:instance'    |                                                | from OpenStack Pike release.**                  |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+|  | \-                          | | amount                              | Amount of virtual instances of a given         |                                                 |
+|  |                             | |                                     | flavour to be reserved.                        |                                                 |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+|  | numCpuCores [1]: Integer    | | vcpus                               | Number of vCPU cores to be reserved.           |                                                 |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+|  | numVcInstances [1]:         | | \-                                  | Number of virtualized container instances to   |                                                 |
+|  | Integer                     | |                                     | be reserved (without explicitly reserved       |                                                 |
+|  |                             | |                                     | specific virtual containers).                  |                                                 |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+|  | virtualMemSize [1]: Number  | | memory_mb                           | Size of virtual memory to be reserved.         |                                                 |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+|  | \-                          | | disk_gb                             | Size of (disk) storage to be reserved.         |                                                 |
++--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+|  | computeAttributes [0..1]:   | | \-                                  | Information specifying additional attributes   | Not yet available in Pike release.              |
+|  | VirtualComputeAttributes    | |                                     | of the compute resource to be reserved.        | Blueprint available in [#bp1]_                  |
+|  | ReservationData             | |                                     |                                                |                                                 |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| affinityConstraint [0..N]:     | | affinity: Boolean                   | Element with (anti-)affinity information of    | Only boolean (anti-)affinity rule in            |
+| AffinityOrAnti                 | |                                     | the virtualised compute resources to reserve.  | Pike release.                                   |
+| AffinityConstraint             | |                                     | For the resource reservation at resource       | Blueprint available in [#bp2]_                  |
+|                                | |                                     | pool granularity level, it defines the         |                                                 |
++--------------------------------+ +                                     + (anti-)affinity information of the virtual     +                                                 +
+| antiAffinityConstraint [0..N]: | |                                     | compute pool resources to reserve. For         |                                                 |
+| AffinityOrAnti                 | |                                     | the resource reservation at virtual            |                                                 |
+| AffinityConstraint             | |                                     | container granularity level, it defines        |                                                 |
+|                                | |                                     | the (anti-)affinity information of the         |                                                 |
+|                                | |                                     | virtualisation container(s) to reserve.        |                                                 |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| startTime [0..1]: TimeStamp    | start_date [0..1]: DateTime           | Timestamp indicating the earliest time to      | Resources are reserved for immediate use if:    |
+|                                |                                       | start the consumption of the resources.        |                                                 |
+|                                |                                       |                                                | * (Blazar) the start_date parameter is omitted  |
+|                                |                                       |                                                | * (ETSI NFV IFA005) the startTime value is 0    |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| endTime [0..1]: TimeStamp      | end_date [0..1]: DateTime             | Timestamp indicating the end time of the       | * (ETSI NFV IFA005) If the attribute is not     |
+|                                |                                       | reservation (when the issuer of the request    |   present, resources are reserved for unlimited |
+|                                |                                       | expects that the resources will no longer be   |   usage time.                                   |
+|                                |                                       | needed) and used by the VIM to schedule the    | * (Blazar) If the parameter is not present,     |
+|                                |                                       | reservation.                                   |   resources are reserved for 24h after the      |
+|                                |                                       |                                                |   start_date.                                   |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| expiryTime [0..1]: TimeStamp   | \-                                    | Timestamp indicating the time the VIM can      | Not yet available in Pike release.              |
+|                                |                                       | release the reservation in case no allocation  |                                                 |
+|                                |                                       | request against this reservation was made.     |                                                 |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| \-                             | before_end_notification               | Timestamp indicating when the                  | * (ETSI NFV IFA005) not specified               |
+|                                |                                       | *before_end action* will be executed, e.g.     | * (Blazar) Not yet implemented for pool/        |
+|                                |                                       | take a snapshot of the resources of the lease. |   resources reservation, but only host          |
+|                                |                                       |                                                |   reservations.                                 |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| locationConstraints [0..1]:    | \-                                    | If present, it defines location constraints    | Not yet available in Pike release.              |
+| \-*tbd*\-                      |                                       | for the resource(s) is (are) requested to be   | Blueprint available in [#bp3]_                  |
+|                                |                                       | reserved, e.g. in what particular Resource     |                                                 |
+|                                |                                       | Zone.                                          |                                                 |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+| resourceGroupId [0..1]:        | project_id: Identifier                | Unique identifier of the "infrastructure       |                                                 |
+| Identifier                     |                                       | resource group", logical grouping of virtual   |                                                 |
+|                                |                                       | resources assigned to a tenant within an       |                                                 |
+|                                |                                       | Infrastructure Domain.                         |                                                 |
++--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
+
+.. note::  In Blazar reservations are encapsulated in leases, whereby one lease can have several reservations (i.e. reserved resources) with the same start and end dates.
+
+.. note::  In the reservation system (e.g. Blazar) each lease/reservation has additional implementation level attributes not listed in the mapping tables in this document, e.g. lease_id, status, status reason, action, …, and which are not included in reservation requests.
+
+I.b) Create virtualisation container reservation REQUEST
+--------------------------------------------------------
+
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                           | Blazar                                | Description                                      | Comment                                         |
++==+========================================+=+=====================================+==================================================+=================================================+
+| \-                                        | name                                  | Name of the lease/reservation.                   |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|                                           | **reservations**                      |                                                  |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|                                           | | resource_type = '...'               |                                                  |                                                 +
+|                                           | |                                     |                                                  |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| virtualisationContainerReservation        | |                                     | Virtualisation containers that need to be        |                                                 |
+| [0..N]:                                   | |                                     | reserved (e.g. following a specific compute      |                                                 |
+|                                           | |                                     | "flavour").                                      |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | **VirtualisationContainerReservation** | |                                     |                                                  |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | containerId [1]: Identifier            | |                                     | Identifier given to the compute flavour.         |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | flavourId [1]: Identifier              | |                                     | The containerFlavour encapsulates information    |                                                 |
+|  |                                        | |                                     | of the virtualisation container to be reserved.  |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | accelerationCapability [0..N]:         | |                                     | Selected acceleration capabilities (e.g. crypto, |                                                 |
+|  | \-*tbd*\-                              | |                                     | GPU) from the set of capabilities offered by the |                                                 |
+|  |                                        | |                                     | compute node acceleration resources.             |                                                 |
+|  |                                        | |                                     | The cardinality can be 0, if no particular       |                                                 |
+|  |                                        | |                                     | acceleration capability is requested.            |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | virtualMemory [1]: VirtualMemoryData   | |                                     | Virtual memory of the virtualised compute.       |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | virtualCpu [1]: VirtualCpuData         | |                                     | Virtual CPU(s) of the virtualised compute.       |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | storageAttributes [0..N]:              | |                                     | Element containing information about the size of |                                                 |
+|  | VirtualStorageData                     | |                                     | virtualised storage resource (e.g. size of       |                                                 |
+|  |                                        | |                                     | volume, in GB), the type of storage (e.g.,       |                                                 |
+|  |                                        | |                                     | volume, object), and support for RDMA.           |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+|  | virtualNetworkInterface [0..N]:        | |                                     | Virtual network interfaces of the virtualised    |                                                 |
+|  | VirtualNetworkInterface                | |                                     | compute.                                         |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| affinityConstraint [0..N]:                | | affinity: Boolean                   | Element with (anti-)affinity information of      | Affinity and AntiAffinity rules are not yet     |
+| AffinityOrAntiAffinityConstraint          | |                                     | the virtualised compute resources to reserve.    | available in Pike release.                      |
+|                                           | |                                     | For the resource reservation at resource         |                                                 |
+|                                           | |                                     | pool granularity level, it defines the           |                                                 |
++--+----------------------------------------+ +                                     + (anti-)affinity information of the virtual       +                                                 +
+| antiAffinityConstraint [0..N]:            | |                                     | compute pool resources to reserve. For           |                                                 |
+| AffinityOrAntiAffinityConstraint          | |                                     | the resource reservation at virtual              |                                                 |
+|                                           | |                                     | container granularity level, it defines          |                                                 |
+|                                           | |                                     | the (anti-)affinity information of the           |                                                 |
+|                                           | |                                     | virtualisation container(s) to reserve.          |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| startTime [0..1]: TimeStamp               | start_date [0..1]: DateTime           | Timestamp indicating the earliest time to        | Resources are reserved for immediate use if:    |
+|                                           |                                       | start the consumption of the resources.          |                                                 |
+|                                           |                                       |                                                  | * (Blazar) the start_date parameter is omitted  |
+|                                           |                                       |                                                  | * (ETSI NFV IFA005) the startTime value is 0    |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| endTime [0..1]: TimeStamp                 | end_date [0..1]: DateTime             | Timestamp indicating the end time of the         | * (ETSI NFV IFA005) If the attribute is not     |
+|                                           |                                       | reservation (when the issuer of the request      |   present, resources are reserved for unlimited |
+|                                           |                                       | expects that the resources will no longer be     |   usage time.                                   |
+|                                           |                                       | needed) and used by the VIM to schedule the      | * (Blazar) If the parameter is not present,     |
+|                                           |                                       | reservation.                                     |   resources are reserved for 24h after the      |
+|                                           |                                       |                                                  |   start_date.  **to be checked**                |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| expiryTime [0..1]: TimeStamp              | \-                                    | Timestamp indicating the time the VIM can        | Not yet available in Pike release.              |
+|                                           |                                       | release the reservation in case no allocation    |                                                 |
+|                                           |                                       | request against this reservation was made.       |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| \-                                        | before_end_notification               | Timestamp indicating when the                    |                                                 |
+|                                           |                                       | *before_end action* will be executed, e.g.       |                                                 |
+|                                           |                                       | take a snapshot of the resources of the lease.   |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| locationConstraints [0..1]:               | \-                                    | If present, it defines location constraints for  | Not yet available in Pike release.              |
+| \-*tbd*\-                                 |                                       | the resource(s) is (are) requested to be         |                                                 |
+|                                           |                                       | reserved, e.g. in what particular Resource Zone. |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+| resourceGroupId [0..1]:                   | project_id: Identifier                | Unique identifier of the "infrastructure         |                                                 |
+| Identifier                                |                                       | resource group", logical grouping of virtual     |                                                 |
+|                                           |                                       | resources assigned to a tenant within an         |                                                 |
+|                                           |                                       | Infrastructure Domain.                           |                                                 |
++--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
+
+I.c) Create reservation RESPONSE
+--------------------------------
+
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                        | Blazar                                | Description                                         | Comment                                         |
++==+=+===================================+=+=====================================+=====================================================+=================================================+
+| **ReservedVirtualCompute** [1]:        | **reservations**                      |                                                     |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | computePoolReserved [0..1]:         | | resource_type = ‘virtual:instance’  | Information about compute resources that have been  | **Instance reservation is available from        |
+|  | **ReservedComputePool**             | |                                     | reserved, e.g. {"cpu_cores":90, "vm_instances":10,  | Pike release.**                                 |
+|  |                                     | |                                     | "ram":10000}.                                       |                                                 |
+|  |                                     | |                                     | In Blazar resource_type = ‘virtual:instance’        |                                                 |
+|  |                                     | |                                     | if the reservation was for virtual instances.       |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | \-                                | | id                                  | Identifier of the reservation.                      |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | \-                                | | lease-id                            | Identifier of the corresponding lease.              |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | \-                                | | resource_id                         | ??                                                  |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | \-                                | | amount                              | Amount of virtual instances of a given flavour that |                                                 |
+|  | |                                   | |                                     | have been reserved.                                 |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | numVcInstances [1]: Integer       | | \-                                  | Number of virtual container instances that have     |                                                 |
+|  | |                                   | |                                     | been reserved.                                      |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | numCpuCores [1]: Integer          | | vcpus                               | Number of CPU cores that have been reserved.        |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | virtualMemSize [1]: Number        | | memory_mb                           | Size of virtual memory that has been reserved.      |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | \-                                | | disk_gb                             | Size of (disk) storage that has been reserved.      |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | \-                                | | affinity: Boolean                   | Affinity information of the reserved resources.     | (NFV-IFA005) no such information is returned.   |
+|  | |                                   | |                                     |                                                     | Recommendation to add this attribute to the     |
+|  | |                                   | |                                     |                                                     | response message.                               |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | computeAttributes [0..1]:         | | \-                                  | Information specifying additional attributes of     |                                                 |
+|  | | VirtualComputeAttributes          | |                                     | the virtual compute resource that have been         |                                                 |
+|  | | ReservationData                   | |                                     | reserved.                                           |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | virtualisationContainerReserved     | |                                     | Information about the virtualisation                |                                                 |
+|  | [0..N]: **ReservedVirtualisation    | |                                     | container(s) that have been reserved.               |                                                 |
+|  | Container**                         | |                                     |                                                     |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | containerId [1]: Identifier       | |                                     | Identifier of the virtualisation container that has |                                                 |
+|  | |                                   | |                                     | been reserved.                                      |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | flavourId [1]: Identifier         | |                                     | Identifier of the given compute flavour used in the |                                                 |
+|  | |                                   | |                                     | reserved virtualisation container.                  |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | accelerationCapability [0..N]:    | |                                     | Selected acceleration capabilities (e.g. crypto,    |                                                 |
+|  | | \-*tbd*\-                         | |                                     | GPU) from the set of capabilities offered by the    |                                                 |
+|  | |                                   | |                                     | compute node acceleration resources.                |                                                 |
+|  | |                                   | |                                     | The cardinality can be 0, if no particular          |                                                 |
+|  | |                                   | |                                     | acceleration capability is provided.                |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | virtualMemory [1]:                | |                                     | Virtual memory of the reserved virtualisation       |                                                 |
+|  | | VirtualMemoryData                 | |                                     | container.                                          |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | virtualCpu [1]:                   | |                                     | Virtual CPU(s) of the reserved virtualisation       |                                                 |
+|  | | VirtualCpuData                    | |                                     | container.                                          |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | virtualDisks [0..N]:              | |                                     | Element with information of the virtualised storage |                                                 |
+|  | | VirtualStorage                    | |                                     | resources attached to the reserved virtualisation   |                                                 |
+|  | |                                   | |                                     | container.                                          |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | virtualNetworkInterface [0..N]:   | |                                     | Element with information of the virtual network     |                                                 |
+|  | | VirtualNetworkInterface           | |                                     | interfaces of the reserved virtualisation container |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | | zoneId [0..1]:                    | |                                     | References the resource zone where the              |                                                 |
+|  | | Identifier (reference to          | |                                     | virtualisation container has been reserved.         |                                                 |
+|  | | ResoureZone)                      | |                                     | Cardinality can be 0 to cover the case where        |                                                 |
+|  | |                                   | |                                     | reserved network resources are not bound to a       |                                                 |
+|  | |                                   | |                                     | specific resource zone.                             |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | reservationStatus [1]: Enum         | | status;                             | Status of the compute resource reservation, e.g.    |                                                 |
+|  |                                     | | status_reason                       | to indicate if a reservation is being used          |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | startTime [0..1]: TimeStamp         | | start_date [1]                      | Indication when the consumption of the resources    |                                                 |
+|  |                                     | |                                     | starts. If the value is 0, resources are reserved   |                                                 |
+|  |                                     | |                                     | for immediate use.                                  |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | endTime [0..1]: TimeStamp           | | end_date [1]                        | Indication when the reservation ends (when it is    |                                                 |
+|  |                                     | |                                     | expected that the resources will no longer be       |                                                 |
+|  |                                     | |                                     | needed) and used by the VIM to schedule the         |                                                 |
+|  |                                     | |                                     | reservation. If not present, resources are reserved |                                                 |
+|  |                                     | |                                     | for unlimited usage time.                           |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | expiryTime [0..1]: TimeStamp        | | \-                                  | Indication when the VIM can release the reservation |                                                 |
+|  |                                     | |                                     | in case no allocation request against this          |                                                 |
+|  |                                     | |                                     | reservation was made.                               |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+|  | \-                                  | | events                              |                                                     |                                                 |
++--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+
+II. Query / list compute resource reservation
+=============================================
+
+II.a) REQUEST
+----------------
+
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
++==================================+======================================+================================================+=================================================+
+| queryReservationFilter [1]:      | lease_id                             | Query filter based on e.g. name, identifier,   | Blazar does not yet allow to list leases based  |
+| Filter                           |                                      | meta-data information or status information    | on a filter. In Blazar you can either list all  |
+|                                  |                                      | expressing the type of information to be       | leases registered in Blazar (GET /v1/leases) or |
+|                                  |                                      | retrieved. It can also be used to specify one  | show information about a specific lease         |
+|                                  |                                      | or more reservations to be queried by          | (GET /v1/leases/{lease-id}).                     |
+|                                  |                                      | providing their identifiers.                   |                                                 |
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+
+
+II.a) RESPONSE
+----------------
+
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
++==================================+======================================+================================================+=================================================+
+| queryResult [0..N]:              | leases{ reservations {..} }          | Element containing information about the       | For attributes of ReservedVirtualCompute        |
+| ReservedVirtualCompute           |                                      | reserved resource. Cardinality is 0 if the     | see clause I.c.                                 |
+|                                  |                                      | query did not return any result.               |                                                 |
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+
+
+III. Update reservation
+=================================
+
+.. note:: Compute host reservations in Blazar supports updating for name, start time, and end time.
+
+.. note:: Instance reservation does not yet support the update operation. A bug report is available in [#bp4]_ .
+
+
+III.a) REQUEST
+----------------
+
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                    | Blazar                               | Description                                         | Comment                                         |
++====================================+======================================+=====================================================+=================================================+
+| reservationId [1]: Id              | lease_id                             | Identifier of the existing resource                 |                                                 |
+|                                    |                                      | reservation to be updated.                          |                                                 |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| \-                                 | name                                 | Name of the lease/reservation.                      |                                                 |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| computePoolReservation [0..1]:     | \-                                   | New amount of compute resources to be reserved.     | For attributes of ComputePoolReservation see    |
+| ComputePoolReservation             |                                      |                                                     | clause I.a.                                     |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| virtualisationContainer            | \-                                   | New virtualisation containers to be reserved        | For attributes of                               |
+| Reservation [0..N]:                |                                      | (e.g. following a specific compute "flavour").      | VirtualisationContainerReservation see          |
+| VirtualisationContainerReservation |                                      |                                                     | clause I.b.                                     |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| startTime [0..1]: TimeStamp        | start_date [1]                       | Indication when the consumption of the resources    |                                                 |
+|                                    |                                      | resources starts. If not present, the original      |                                                 |
+|                                    |                                      | setting will not be changed. If present and the     |                                                 |
+|                                    |                                      | value is 0, resources are reserved for              |                                                 |
+|                                    |                                      | immediate use.                                      |                                                 |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| endTime [0..1]: TimeStamp          | end_date [1]                         | Indication when the reservation ends (when it is    |                                                 |
+|                                    |                                      | expected that the resources will no longer be       |                                                 |
+|                                    |                                      | needed) and used by the VIM to schedule the         |                                                 |
+|                                    |                                      | reservation. If not present, resources are reserved |                                                 |
+|                                    |                                      | for unlimited usage time.                           |                                                 |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+| expiryTime [0..1]: TimeStamp       | \-                                   | Indication when the VIM can release the reservation |                                                 |
+|                                    |                                      | in case no allocation request against this          |                                                 |
+|                                    |                                      | reservation was made.                               |                                                 |
++------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
+
+
+III.a) RESPONSE
+----------------
+
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
++==================================+======================================+================================================+=================================================+
+| reservationData [0..N]:          | leases { reservations {..} }         | Element containing information about the       | For attributes of ReservedVirtualCompute and    |
+| ReservedVirtualCompute           |                                      | updated reserved resource.                     | Blazar reservations see clause I.c.             |
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+
+
+IV. Terminate compute resource reservation
+=============================================
+
+IV.a) REQUEST
+---------------
+
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
++==================================+======================================+================================================+=================================================+
+| reservationId [1..N]: Identifier | lease_id                             | Identifier of the resource reservation(s) to   |                                                 |
+|                                  |                                      | terminate.                                     |                                                 |
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+
+
+IV.a) RESPONSE
+----------------
+
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+| ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
++==================================+======================================+================================================+=================================================+
+| reservationId [1..N]: Identifier | \-                                   | Identifier of the resource reservation(s)      | Blazar just returns a HTTP/1.1 204 NO CONTENT   |
+|                                  |                                      | successfullly terminated.                      | response code.                                  |
++----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
+
+V. Related Blueprint specs and bug reports
+==========================================
+
+.. [#bp1] Extra-specs for instance reservation: https://blueprints.launchpad.net/blazar/+spec/flavors-extra-specs
+
+.. [#bp2] Instance reservation with no affinity rule: https://blueprints.launchpad.net/blazar/+spec/no-affinity-instance-reservation
+
+.. [#bp3] Multi freepools (availability zones support: https://blueprints.launchpad.net/blazar/+spec/multi-freepools
+
+.. [#bp4] Need update lease API support in instance reservation: https://bugs.launchpad.net/blazar/+bug/1714437
+
diff --git a/docs/development/manuals/index.rst b/docs/development/manuals/index.rst
new file mode 100644 (file)
index 0000000..1b81c88
--- /dev/null
@@ -0,0 +1,11 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+*****************************************************
+API / interface mapping ETSI NFV vs. OpenStack Blazar
+*****************************************************
+
+.. toctree::
+    :maxdepth: 2
+
+    api_mapping.rst