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