Fix table formatting in api_mapping
[promise.git] / docs / development / manuals / api_mapping.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 =======================================
5 Resource reservation mapping tables
6 =======================================
7
8 The following tables are an attempt to map the resource reservation APIs / interfaces between ETSI
9 NFV-IFA005 and Blazar for OpenStack.
10
11 I. Create Compute Resource Reservation
12 ======================================
13
14 I.a) Create compute pool/resources reservation REQUEST
15 ------------------------------------------------------
16
17 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
18 | ETSI NFV IFA005                | Blazar                                | Description                                    | Comment                                         |
19 +==+=============================+=+=====================================+================================================+=================================================+
20 | \-                             | name                                  | Name of the lease/reservation.                 |                                                 |
21 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
22 | computePoolReservation [1]:    | **reservations**:                     |                                                | **Instance reservation is only available        |
23 | **ComputePoolReservation**     | resource_type = 'virtual:instance'    |                                                | from OpenStack Pike release.**                  |
24 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
25 |  | \-                          | | amount                              | Amount of virtual instances of a given         |                                                 |
26 |  |                             | |                                     | flavour to be reserved.                        |                                                 |
27 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
28 |  | numCpuCores [1]: Integer    | | vcpus                               | Number of vCPU cores to be reserved.           |                                                 |
29 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
30 |  | numVcInstances [1]:         | | \-                                  | Number of virtualized container instances to   |                                                 |
31 |  | Integer                     | |                                     | be reserved (without explicitly reserved       |                                                 |
32 |  |                             | |                                     | specific virtual containers).                  |                                                 |
33 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
34 |  | virtualMemSize [1]: Number  | | memory_mb                           | Size of virtual memory to be reserved.         |                                                 |
35 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
36 |  | \-                          | | disk_gb                             | Size of (disk) storage to be reserved.         |                                                 |
37 +--+-----------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
38 |  | computeAttributes [0..1]:   | | \-                                  | Information specifying additional attributes   | Not yet available in Pike release.              |
39 |  | VirtualComputeAttributes    | |                                     | of the compute resource to be reserved.        | Blueprint available in [#bp1]_                  |
40 |  | ReservationData             | |                                     |                                                |                                                 |
41 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
42 | affinityConstraint [0..N]:     | | affinity: Boolean                   | Element with (anti-)affinity information of    | Only boolean (anti-)affinity rule in            |
43 | AffinityOrAnti                 | |                                     | the virtualised compute resources to reserve.  | Pike release.                                   |
44 | AffinityConstraint             | |                                     | For the resource reservation at resource       | Blueprint available in [#bp2]_                  |
45 |                                | |                                     | pool granularity level, it defines the         |                                                 |
46 +--------------------------------+ +                                     + (anti-)affinity information of the virtual     +                                                 +
47 | antiAffinityConstraint [0..N]: | |                                     | compute pool resources to reserve. For         |                                                 |
48 | AffinityOrAnti                 | |                                     | the resource reservation at virtual            |                                                 |
49 | AffinityConstraint             | |                                     | container granularity level, it defines        |                                                 |
50 |                                | |                                     | the (anti-)affinity information of the         |                                                 |
51 |                                | |                                     | virtualisation container(s) to reserve.        |                                                 |
52 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
53 | startTime [0..1]: TimeStamp    | start_date [0..1]: DateTime           | Timestamp indicating the earliest time to      | Resources are reserved for immediate use if:    |
54 |                                |                                       | start the consumption of the resources.        |                                                 |
55 |                                |                                       |                                                | * (Blazar) the start_date parameter is omitted  |
56 |                                |                                       |                                                | * (ETSI NFV IFA005) the startTime value is 0    |
57 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
58 | endTime [0..1]: TimeStamp      | end_date [0..1]: DateTime             | Timestamp indicating the end time of the       | * (ETSI NFV IFA005) If the attribute is not     |
59 |                                |                                       | reservation (when the issuer of the request    |   present, resources are reserved for unlimited |
60 |                                |                                       | expects that the resources will no longer be   |   usage time.                                   |
61 |                                |                                       | needed) and used by the VIM to schedule the    | * (Blazar) If the parameter is not present,     |
62 |                                |                                       | reservation.                                   |   resources are reserved for 24h after the      |
63 |                                |                                       |                                                |   start_date.                                   |
64 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
65 | expiryTime [0..1]: TimeStamp   | \-                                    | Timestamp indicating the time the VIM can      | Not yet available in Pike release.              |
66 |                                |                                       | release the reservation in case no allocation  |                                                 |
67 |                                |                                       | request against this reservation was made.     |                                                 |
68 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
69 | \-                             | before_end_notification               | Timestamp indicating when the                  | * (ETSI NFV IFA005) not specified               |
70 |                                |                                       | *before_end action* will be executed, e.g.     | * (Blazar) Not yet implemented for pool/        |
71 |                                |                                       | take a snapshot of the resources of the lease. |   resources reservation, but only host          |
72 |                                |                                       |                                                |   reservations.                                 |
73 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
74 | locationConstraints [0..1]:    | \-                                    | If present, it defines location constraints    | Not yet available in Pike release.              |
75 | \-*tbd*\-                      |                                       | for the resource(s) is (are) requested to be   | Blueprint available in [#bp3]_                  |
76 |                                |                                       | reserved, e.g. in what particular Resource     |                                                 |
77 |                                |                                       | Zone.                                          |                                                 |
78 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
79 | resourceGroupId [0..1]:        | project_id: Identifier                | Unique identifier of the "infrastructure       |                                                 |
80 | Identifier                     |                                       | resource group", logical grouping of virtual   |                                                 |
81 |                                |                                       | resources assigned to a tenant within an       |                                                 |
82 |                                |                                       | Infrastructure Domain.                         |                                                 |
83 +--------------------------------+-+-------------------------------------+------------------------------------------------+-------------------------------------------------+
84
85 .. 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.
86
87 .. 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.
88
89 I.b) Create virtualisation container reservation REQUEST
90 --------------------------------------------------------
91
92 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
93 | ETSI NFV IFA005                           | Blazar                                | Description                                      | Comment                                         |
94 +==+========================================+=+=====================================+==================================================+=================================================+
95 | \-                                        | name                                  | Name of the lease/reservation.                   |                                                 |
96 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
97 |                                           | **reservations**                      |                                                  |                                                 |
98 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
99 |                                           | | resource_type = '...'               |                                                  |                                                 +
100 |                                           | |                                     |                                                  |                                                 |
101 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
102 | virtualisationContainerReservation        | |                                     | Virtualisation containers that need to be        |                                                 |
103 | [0..N]:                                   | |                                     | reserved (e.g. following a specific compute      |                                                 |
104 |                                           | |                                     | "flavour").                                      |                                                 |
105 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
106 |  | **VirtualisationContainerReservation** | |                                     |                                                  |                                                 |
107 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
108 |  | containerId [1]: Identifier            | |                                     | Identifier given to the compute flavour.         |                                                 |
109 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
110 |  | flavourId [1]: Identifier              | |                                     | The containerFlavour encapsulates information    |                                                 |
111 |  |                                        | |                                     | of the virtualisation container to be reserved.  |                                                 |
112 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
113 |  | accelerationCapability [0..N]:         | |                                     | Selected acceleration capabilities (e.g. crypto, |                                                 |
114 |  | \-*tbd*\-                              | |                                     | GPU) from the set of capabilities offered by the |                                                 |
115 |  |                                        | |                                     | compute node acceleration resources.             |                                                 |
116 |  |                                        | |                                     | The cardinality can be 0, if no particular       |                                                 |
117 |  |                                        | |                                     | acceleration capability is requested.            |                                                 |
118 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
119 |  | virtualMemory [1]: VirtualMemoryData   | |                                     | Virtual memory of the virtualised compute.       |                                                 |
120 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
121 |  | virtualCpu [1]: VirtualCpuData         | |                                     | Virtual CPU(s) of the virtualised compute.       |                                                 |
122 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
123 |  | storageAttributes [0..N]:              | |                                     | Element containing information about the size of |                                                 |
124 |  | VirtualStorageData                     | |                                     | virtualised storage resource (e.g. size of       |                                                 |
125 |  |                                        | |                                     | volume, in GB), the type of storage (e.g.,       |                                                 |
126 |  |                                        | |                                     | volume, object), and support for RDMA.           |                                                 |
127 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
128 |  | virtualNetworkInterface [0..N]:        | |                                     | Virtual network interfaces of the virtualised    |                                                 |
129 |  | VirtualNetworkInterface                | |                                     | compute.                                         |                                                 |
130 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
131 | affinityConstraint [0..N]:                | | affinity: Boolean                   | Element with (anti-)affinity information of      | Affinity and AntiAffinity rules are not yet     |
132 | AffinityOrAntiAffinityConstraint          | |                                     | the virtualised compute resources to reserve.    | available in Pike release.                      |
133 |                                           | |                                     | For the resource reservation at resource         |                                                 |
134 |                                           | |                                     | pool granularity level, it defines the           |                                                 |
135 +--+----------------------------------------+ +                                     + (anti-)affinity information of the virtual       +                                                 +
136 | antiAffinityConstraint [0..N]:            | |                                     | compute pool resources to reserve. For           |                                                 |
137 | AffinityOrAntiAffinityConstraint          | |                                     | the resource reservation at virtual              |                                                 |
138 |                                           | |                                     | container granularity level, it defines          |                                                 |
139 |                                           | |                                     | the (anti-)affinity information of the           |                                                 |
140 |                                           | |                                     | virtualisation container(s) to reserve.          |                                                 |
141 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
142 | startTime [0..1]: TimeStamp               | start_date [0..1]: DateTime           | Timestamp indicating the earliest time to        | Resources are reserved for immediate use if:    |
143 |                                           |                                       | start the consumption of the resources.          |                                                 |
144 |                                           |                                       |                                                  | * (Blazar) the start_date parameter is omitted  |
145 |                                           |                                       |                                                  | * (ETSI NFV IFA005) the startTime value is 0    |
146 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
147 | endTime [0..1]: TimeStamp                 | end_date [0..1]: DateTime             | Timestamp indicating the end time of the         | * (ETSI NFV IFA005) If the attribute is not     |
148 |                                           |                                       | reservation (when the issuer of the request      |   present, resources are reserved for unlimited |
149 |                                           |                                       | expects that the resources will no longer be     |   usage time.                                   |
150 |                                           |                                       | needed) and used by the VIM to schedule the      | * (Blazar) If the parameter is not present,     |
151 |                                           |                                       | reservation.                                     |   resources are reserved for 24h after the      |
152 |                                           |                                       |                                                  |   start_date.  **to be checked**                |
153 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
154 | expiryTime [0..1]: TimeStamp              | \-                                    | Timestamp indicating the time the VIM can        | Not yet available in Pike release.              |
155 |                                           |                                       | release the reservation in case no allocation    |                                                 |
156 |                                           |                                       | request against this reservation was made.       |                                                 |
157 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
158 | \-                                        | before_end_notification               | Timestamp indicating when the                    |                                                 |
159 |                                           |                                       | *before_end action* will be executed, e.g.       |                                                 |
160 |                                           |                                       | take a snapshot of the resources of the lease.   |                                                 |
161 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
162 | locationConstraints [0..1]:               | \-                                    | If present, it defines location constraints for  | Not yet available in Pike release.              |
163 | \-*tbd*\-                                 |                                       | the resource(s) is (are) requested to be         |                                                 |
164 |                                           |                                       | reserved, e.g. in what particular Resource Zone. |                                                 |
165 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
166 | resourceGroupId [0..1]:                   | project_id: Identifier                | Unique identifier of the "infrastructure         |                                                 |
167 | Identifier                                |                                       | resource group", logical grouping of virtual     |                                                 |
168 |                                           |                                       | resources assigned to a tenant within an         |                                                 |
169 |                                           |                                       | Infrastructure Domain.                           |                                                 |
170 +--+----------------------------------------+-+-------------------------------------+--------------------------------------------------+-------------------------------------------------+
171
172 I.c) Create reservation RESPONSE
173 --------------------------------
174
175 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
176 | ETSI NFV IFA005                        | Blazar                                | Description                                         | Comment                                         |
177 +==+=+===================================+=+=====================================+=====================================================+=================================================+
178 | **ReservedVirtualCompute** [1]:        | **reservations**                      |                                                     |                                                 |
179 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
180 |  | computePoolReserved [0..1]:         | | resource_type = â€˜virtual:instance’  | Information about compute resources that have been  | **Instance reservation is available from        |
181 |  | **ReservedComputePool**             | |                                     | reserved, e.g. {"cpu_cores":90, "vm_instances":10,  | Pike release.**                                 |
182 |  |                                     | |                                     | "ram":10000}.                                       |                                                 |
183 |  |                                     | |                                     | In Blazar resource_type = â€˜virtual:instance’        |                                                 |
184 |  |                                     | |                                     | if the reservation was for virtual instances.       |                                                 |
185 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
186 |  | | \-                                | | id                                  | Identifier of the reservation.                      |                                                 |
187 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
188 |  | | \-                                | | lease-id                            | Identifier of the corresponding lease.              |                                                 |
189 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
190 |  | | \-                                | | resource_id                         | ??                                                  |                                                 |
191 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
192 |  | | \-                                | | amount                              | Amount of virtual instances of a given flavour that |                                                 |
193 |  | |                                   | |                                     | have been reserved.                                 |                                                 |
194 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
195 |  | | numVcInstances [1]: Integer       | | \-                                  | Number of virtual container instances that have     |                                                 |
196 |  | |                                   | |                                     | been reserved.                                      |                                                 |
197 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
198 |  | | numCpuCores [1]: Integer          | | vcpus                               | Number of CPU cores that have been reserved.        |                                                 |
199 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
200 |  | | virtualMemSize [1]: Number        | | memory_mb                           | Size of virtual memory that has been reserved.      |                                                 |
201 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
202 |  | | \-                                | | disk_gb                             | Size of (disk) storage that has been reserved.      |                                                 |
203 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
204 |  | | \-                                | | affinity: Boolean                   | Affinity information of the reserved resources.     | (NFV-IFA005) no such information is returned.   |
205 |  | |                                   | |                                     |                                                     | Recommendation to add this attribute to the     |
206 |  | |                                   | |                                     |                                                     | response message.                               |
207 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
208 |  | | computeAttributes [0..1]:         | | \-                                  | Information specifying additional attributes of     |                                                 |
209 |  | | VirtualComputeAttributes          | |                                     | the virtual compute resource that have been         |                                                 |
210 |  | | ReservationData                   | |                                     | reserved.                                           |                                                 |
211 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
212 |  | virtualisationContainerReserved     | |                                     | Information about the virtualisation                |                                                 |
213 |  | [0..N]: **ReservedVirtualisation    | |                                     | container(s) that have been reserved.               |                                                 |
214 |  | Container**                         | |                                     |                                                     |                                                 |
215 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
216 |  | | containerId [1]: Identifier       | |                                     | Identifier of the virtualisation container that has |                                                 |
217 |  | |                                   | |                                     | been reserved.                                      |                                                 |
218 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
219 |  | | flavourId [1]: Identifier         | |                                     | Identifier of the given compute flavour used in the |                                                 |
220 |  | |                                   | |                                     | reserved virtualisation container.                  |                                                 |
221 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
222 |  | | accelerationCapability [0..N]:    | |                                     | Selected acceleration capabilities (e.g. crypto,    |                                                 |
223 |  | | \-*tbd*\-                         | |                                     | GPU) from the set of capabilities offered by the    |                                                 |
224 |  | |                                   | |                                     | compute node acceleration resources.                |                                                 |
225 |  | |                                   | |                                     | The cardinality can be 0, if no particular          |                                                 |
226 |  | |                                   | |                                     | acceleration capability is provided.                |                                                 |
227 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
228 |  | | virtualMemory [1]:                | |                                     | Virtual memory of the reserved virtualisation       |                                                 |
229 |  | | VirtualMemoryData                 | |                                     | container.                                          |                                                 |
230 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
231 |  | | virtualCpu [1]:                   | |                                     | Virtual CPU(s) of the reserved virtualisation       |                                                 |
232 |  | | VirtualCpuData                    | |                                     | container.                                          |                                                 |
233 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
234 |  | | virtualDisks [0..N]:              | |                                     | Element with information of the virtualised storage |                                                 |
235 |  | | VirtualStorage                    | |                                     | resources attached to the reserved virtualisation   |                                                 |
236 |  | |                                   | |                                     | container.                                          |                                                 |
237 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
238 |  | | virtualNetworkInterface [0..N]:   | |                                     | Element with information of the virtual network     |                                                 |
239 |  | | VirtualNetworkInterface           | |                                     | interfaces of the reserved virtualisation container |                                                 |
240 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
241 |  | | zoneId [0..1]:                    | |                                     | References the resource zone where the              |                                                 |
242 |  | | Identifier (reference to          | |                                     | virtualisation container has been reserved.         |                                                 |
243 |  | | ResoureZone)                      | |                                     | Cardinality can be 0 to cover the case where        |                                                 |
244 |  | |                                   | |                                     | reserved network resources are not bound to a       |                                                 |
245 |  | |                                   | |                                     | specific resource zone.                             |                                                 |
246 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
247 |  | reservationStatus [1]: Enum         | | status;                             | Status of the compute resource reservation, e.g.    |                                                 |
248 |  |                                     | | status_reason                       | to indicate if a reservation is being used          |                                                 |
249 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
250 |  | startTime [0..1]: TimeStamp         | | start_date [1]                      | Indication when the consumption of the resources    |                                                 |
251 |  |                                     | |                                     | starts. If the value is 0, resources are reserved   |                                                 |
252 |  |                                     | |                                     | for immediate use.                                  |                                                 |
253 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
254 |  | endTime [0..1]: TimeStamp           | | end_date [1]                        | Indication when the reservation ends (when it is    |                                                 |
255 |  |                                     | |                                     | expected that the resources will no longer be       |                                                 |
256 |  |                                     | |                                     | needed) and used by the VIM to schedule the         |                                                 |
257 |  |                                     | |                                     | reservation. If not present, resources are reserved |                                                 |
258 |  |                                     | |                                     | for unlimited usage time.                           |                                                 |
259 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
260 |  | expiryTime [0..1]: TimeStamp        | | \-                                  | Indication when the VIM can release the reservation |                                                 |
261 |  |                                     | |                                     | in case no allocation request against this          |                                                 |
262 |  |                                     | |                                     | reservation was made.                               |                                                 |
263 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
264 |  | \-                                  | | events                              |                                                     |                                                 |
265 +--+-+-----------------------------------+-+-------------------------------------+-----------------------------------------------------+-------------------------------------------------+
266
267 II. Query / list compute resource reservation
268 =============================================
269
270 II.a) REQUEST
271 ----------------
272
273 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
274 | ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
275 +==================================+======================================+================================================+=================================================+
276 | queryReservationFilter [1]:      | lease_id                             | Query filter based on e.g. name, identifier,   | Blazar does not yet allow to list leases based  |
277 | Filter                           |                                      | meta-data information or status information    | on a filter. In Blazar you can either list all  |
278 |                                  |                                      | expressing the type of information to be       | leases registered in Blazar (GET /v1/leases) or |
279 |                                  |                                      | retrieved. It can also be used to specify one  | show information about a specific lease         |
280 |                                  |                                      | or more reservations to be queried by          | (GET /v1/leases/{lease-id}).                    |
281 |                                  |                                      | providing their identifiers.                   |                                                 |
282 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
283
284
285 II.a) RESPONSE
286 ----------------
287
288 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
289 | ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
290 +==================================+======================================+================================================+=================================================+
291 | queryResult [0..N]:              | leases{ reservations {..} }          | Element containing information about the       | For attributes of ReservedVirtualCompute        |
292 | ReservedVirtualCompute           |                                      | reserved resource. Cardinality is 0 if the     | see clause I.c.                                 |
293 |                                  |                                      | query did not return any result.               |                                                 |
294 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
295
296
297 III. Update reservation
298 =================================
299
300 .. note:: Compute host reservations in Blazar supports updating for name, start time, and end time.
301
302 .. note:: Instance reservation does not yet support the update operation. A bug report is available in [#bp4]_ .
303
304
305 III.a) REQUEST
306 ----------------
307
308 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
309 | ETSI NFV IFA005                    | Blazar                               | Description                                         | Comment                                         |
310 +====================================+======================================+=====================================================+=================================================+
311 | reservationId [1]: Id              | lease_id                             | Identifier of the existing resource                 |                                                 |
312 |                                    |                                      | reservation to be updated.                          |                                                 |
313 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
314 | \-                                 | name                                 | Name of the lease/reservation.                      |                                                 |
315 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
316 | computePoolReservation [0..1]:     | \-                                   | New amount of compute resources to be reserved.     | For attributes of ComputePoolReservation see    |
317 | ComputePoolReservation             |                                      |                                                     | clause I.a.                                     |
318 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
319 | virtualisationContainer            | \-                                   | New virtualisation containers to be reserved        | For attributes of                               |
320 | Reservation [0..N]:                |                                      | (e.g. following a specific compute "flavour").      | VirtualisationContainerReservation see          |
321 | VirtualisationContainerReservation |                                      |                                                     | clause I.b.                                     |
322 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
323 | startTime [0..1]: TimeStamp        | start_date [1]                       | Indication when the consumption of the resources    |                                                 |
324 |                                    |                                      | resources starts. If not present, the original      |                                                 |
325 |                                    |                                      | setting will not be changed. If present and the     |                                                 |
326 |                                    |                                      | value is 0, resources are reserved for              |                                                 |
327 |                                    |                                      | immediate use.                                      |                                                 |
328 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
329 | endTime [0..1]: TimeStamp          | end_date [1]                         | Indication when the reservation ends (when it is    |                                                 |
330 |                                    |                                      | expected that the resources will no longer be       |                                                 |
331 |                                    |                                      | needed) and used by the VIM to schedule the         |                                                 |
332 |                                    |                                      | reservation. If not present, resources are reserved |                                                 |
333 |                                    |                                      | for unlimited usage time.                           |                                                 |
334 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
335 | expiryTime [0..1]: TimeStamp       | \-                                   | Indication when the VIM can release the reservation |                                                 |
336 |                                    |                                      | in case no allocation request against this          |                                                 |
337 |                                    |                                      | reservation was made.                               |                                                 |
338 +------------------------------------+--------------------------------------+-----------------------------------------------------+-------------------------------------------------+
339
340
341 III.a) RESPONSE
342 ----------------
343
344 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
345 | ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
346 +==================================+======================================+================================================+=================================================+
347 | reservationData [0..N]:          | leases { reservations {..} }         | Element containing information about the       | For attributes of ReservedVirtualCompute and    |
348 | ReservedVirtualCompute           |                                      | updated reserved resource.                     | Blazar reservations see clause I.c.             |
349 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
350
351
352 IV. Terminate compute resource reservation
353 =============================================
354
355 IV.a) REQUEST
356 ---------------
357
358 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
359 | ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
360 +==================================+======================================+================================================+=================================================+
361 | reservationId [1..N]: Identifier | lease_id                             | Identifier of the resource reservation(s) to   |                                                 |
362 |                                  |                                      | terminate.                                     |                                                 |
363 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
364
365
366 IV.a) RESPONSE
367 ----------------
368
369 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
370 | ETSI NFV IFA005                  | Blazar                               | Description                                    | Comment                                         |
371 +==================================+======================================+================================================+=================================================+
372 | reservationId [1..N]: Identifier | \-                                   | Identifier of the resource reservation(s)      | Blazar just returns a HTTP/1.1 204 NO CONTENT   |
373 |                                  |                                      | successfullly terminated.                      | response code.                                  |
374 +----------------------------------+--------------------------------------+------------------------------------------------+-------------------------------------------------+
375
376 V. Related Blueprint specs and bug reports
377 ==========================================
378
379 .. [#bp1] Extra-specs for instance reservation: https://blueprints.launchpad.net/blazar/+spec/flavors-extra-specs
380
381 .. [#bp2] Instance reservation with no affinity rule: https://blueprints.launchpad.net/blazar/+spec/no-affinity-instance-reservation
382
383 .. [#bp3] Multi freepools (availability zones support: https://blueprints.launchpad.net/blazar/+spec/multi-freepools
384
385 .. [#bp4] Need update lease API support in instance reservation: https://bugs.launchpad.net/blazar/+bug/1714437
386