1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
============================================
High level architecture and general features
============================================
Architecture Overview
=====================
.. figure:: images/figure1.png
:name: figure1
:width: 90%
Resource Reservation Architecture
:numref:`figure1` shows the high level architecture for the resource reservation
use cases. Reserved resources are guaranteed for a given user/client for the
period expressed by start and end time. User/client represents the requestor
and the consequent consumer of the reserved resources and correspond to the
NFVO or VNFM in ETSI NFV terminology.
Note: in this document only reservation requests from NFVO are considered.
General Features
================
This section provides a list of features that need to be developed in the
Promise project.
* Resource capacity management
* Discovery of available resource capacity in resource providers
* Monitoring of available resource capacity in resource providers
* Update available resource capacity as a result of new or expired
reservations, addition/removal of resources. Note: this is a VIM internal
function, not an operation in the VIM northbound interface.
* Resource reservation
* Set start time and end time for allocation
* Increase/decrease reserved resource's capacity
* Update resource reservations, e.g. add/remove reserved resources
* Terminate an allocated resource due to the end time of a reservation
* VIM northbound interfaces
* Receive/Reply resource reservation requests
* Receive/Reply resource capacity management requests
* Receive/Reply resource allocation requests for reserved resources when
start time arrives
* Subscribe/Notify resource reservation event
* Notify reservation error or process completion prior to reservation
start
* Notify remaining time until termination of a resource due to the end
time of a reservation
* Notify termination of a resource due to the end time of a reservation
* Receive/Reply queries on available resource capacity
* Subscribe/Notify changes in available resource capacity
High level northbound interface specification
=============================================
Resource Capacity Management
----------------------------
.. figure:: images/figure2.png
:name: figure2
:width: 90%
Resource capacity management message flow: notification of capacity change
:numref:`figure2` shows a high level flow for a use case of resource capacity
management. In this example, the VIM notifies the NFVO of capacity change after
having received an event regarding a change in capacity (e.g. a fault
notification) from the NFVI. The NFVO can also retrieve detailed capacity
information using the Query Capacity Request interface operation.
.. figure:: images/figure3.png
:name: figure3
:width: 90%
Resource capacity management message flow: query of capacity density
:numref:`figure3` shows a high level flow for another use case of resource
capacity management. In this example, the NFVO queries the VIM about the actual
capacity to instantiate a certain resource according to a certain template, for
example a VM according to a certain flavor. In this case the VIM responds with
the number of VMs that could be instantiated according to that flavor with the
currently available capacity.
Resource Reservation
--------------------
.. figure:: images/figure4.png
:name: figure4
:width: 90%
Resource reservation flow
:numref:`figure4` shows a high level flow for a use case of resource
reservation. The main steps are:
* The NFVO sends a resource reservation request to the VIM using the Create
Resource Reservation Request interface operation.
* The NFVO gets a reservation identifier reservation associated with this
request in the reply message
* Using the reservation identifier reservation, the NFVO can
query/update/terminate a resource reservation using the corresponding
interface operations
* The NFVO is notified that the resource reservation is terminated due to the
end time of the reservation
Information elements
====================
Resource Capacity Management
----------------------------
Notify Capacity Change Event
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The notification change message shall include the following information elements:
============================ ========== =====================================
Name Type Description
============================ ========== =====================================
Notification Identifier Identifier issued by the VIM for the
capacity change event notification
Zone Identifier Identifier of the zone where capacity
has changed
Used/Reserved/Total Capacity List Used, reserved and total capacity
information regarding the resource
items subscribed for notification for
which capacity change event occurred
============================ ========== =====================================
Query Resource Capacity Request
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The capacity management query request message shall include the following
information elements:
========== ========== ======================================================
Name Type Description
========== ========== ======================================================
Zone Identifier Identifier of the zone where capacity is requested
Attributes List Attributes of resource items to be notified regarding
capacity change events
Resources List Identifiers of existing resource items to be queried
regarding capacity info (such as images, flavors,
virtual containers, networks, physical machines, etc.)
========== ========== ======================================================
The capacity management query request message may also include the following
information element:
====== ========== ==========================================================
Name Type Description
====== ========== ==========================================================
Flavor Identifier Identifier that is passed in the request to obtain
information of the number of virtual resources that can be
instantiated according to this flavor with the available
capacity
====== ========== ==========================================================
Query Resource Capacity Reply
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The capacity management query reply message shall include the following
information elements:
============================ ========== =====================================
Name Type Description
============================ ========== =====================================
Zone Identifier Identifier of the zone where capacity
is requested
Used/Reserved/Total Capacity List Used, reserved and total capacity
information regarding each of the
resource items requested to check for
capacity
============================ ========== =====================================
The detailed specification of the northbound interface for Capacity Management
in provided in section 5.1.1.
Resource Reservation
--------------------
Create Resource Reservation Request
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The create resource reservation request message shall include the following
information elements:
========== ========== =========================================================
Name Type Description
========== ========== =========================================================
Start Timestamp Start time for consumption of the reserved resources
End Timestamp End time for consumption of the reserved resources
Expiry Timestamp If not all reserved resources are allocated between start
time and expiry, the VIM shall release the corresponding
resources [#expiry]_
Amount Number Amount of the resources per resource item type (i.e.
compute/network/storage) that need to be reserved
Zone Identifier The zone where the resources need(s) to be reserved
Attributes List Attributes of the resources to be reserved such as DPDK
support, hypervisor, network link bandwidth, affinity
rules, etc.
Resources List Identifiers of existing resource items to be reserved
(such as images, flavors, virtual containers, networks,
physical machines, etc.)
========== ========== =========================================================
.. [#expiry] Expiry is a period around start time within which, the allocation
process must take place. If allocation process does not start
within the expiry period, the reservation becomes invalid and VIM
should release the resources
Create Resource Reservation Reply
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The create resource reservation reply message shall include the following
information elements:
=========== ========== =======================================================
Name Type Description
=========== ========== =======================================================
Reservation Identifier Identification of the reservation instance. It can be
used by a consumer to modify the reservation later, and
to request the allocation of the reserved resources.
Message Text Output message that provides additional information
about the create resource reservation request (e.g. may
be a simple ACK if the request is being background
processed by the VIM)
=========== ========== =======================================================
Notify Reservation Event
^^^^^^^^^^^^^^^^^^^^^^^^
The notification reservation event message shall include the following
information elements:
============ ========== =====================================================
Name Type Description
============ ========== =====================================================
Reservation Identifier Identification of the reservation instance triggering
the event
Notification Identifier Identification of the resource event notification
issued by the VIM
Message Text Message describing the event
============ ========== =====================================================
The detailed specification of the northbound interface for Resource Reservation
is provided in section 5.1.2.
|