-Detailed architecture and message flows
-=======================================
-
Detailed northbound interface specification
--------------------------------------------
+===========================================
.. Note::
This is Work in Progress.
ETSI NFV IFA Information Models
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-------------------------------
Compute Flavor
^^^^^^^^^^^^^^
:width: 90%
Virtualised Compute Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-----------------------------
Compute Capacity Management
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Subscribe Compute Capacity Change Event
-_______________________________________
+"""""""""""""""""""""""""""""""""""""""
Subscription from Consumer to VIM to be notified about compute capacity changes
:statuscode 400: resourceDescriptor is missing
Query Compute Capacity
-______________________
+""""""""""""""""""""""
-Request to find out about available, reserved, total and allocated compute capacity.
+Request to find out about available, reserved, total and allocated compute
+capacity.
.. http:get:: /capacity/compute/query
:noindex:
:statuscode 404: resource zone unknown
Notify Compute Capacity Change Event
-____________________________________
+""""""""""""""""""""""""""""""""""""
Notification about compute capacity changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Create Compute Resource Reservation
-___________________________________
+"""""""""""""""""""""""""""""""""""
Request the reservation of compute resource capacity
Query Compute Resource Reservation
-__________________________________
+""""""""""""""""""""""""""""""""""
Request to find out about reserved compute resources that the consumer has
access to.
:statuscode 404: reservation id unknown
Update Compute Resource Reservation
-___________________________________
+"""""""""""""""""""""""""""""""""""
+
Request to update compute resource reservation
.. http:post:: /reservation/compute/update
}
Terminate Compute Resource Reservation
-______________________________________
+""""""""""""""""""""""""""""""""""""""
+
Request to terminate a compute resource reservation
.. http:delete:: /reservation/compute/(reservation_id)
:noindex:
Virtualised Network Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-----------------------------
Network Capacity Management
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Subscribe Network Capacity Change Event
-_______________________________________
+"""""""""""""""""""""""""""""""""""""""
Susbcription from Consumer to VIM to be notified about network capacity changes
}
Query Network Capacity
-______________________
+""""""""""""""""""""""
-Request to find out about available, reserved, total and allocated network capacity.
+Request to find out about available, reserved, total and allocated network
+capacity.
.. http:get:: /capacity/network/query
:noindex:
}
Notify Network Capacity Change Event
-____________________________________
+""""""""""""""""""""""""""""""""""""
Notification about network capacity changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Create Network Resource Reservation
-___________________________________
+"""""""""""""""""""""""""""""""""""
-Request the reservation of network resource capacity and/or virtual networks, network ports
+Request the reservation of network resource capacity and/or virtual networks,
+network ports
.. http:post:: /reservation/network/create
:noindex:
}
Query Network Resource Reservation
-__________________________________
+""""""""""""""""""""""""""""""""""
-Request to find out about reserved network resources that the consumer has access to.
+Request to find out about reserved network resources that the consumer has
+access to.
.. http:get:: /reservation/network/query
:noindex:
}
Update Network Resource Reservation
-___________________________________
+"""""""""""""""""""""""""""""""""""
Request to update network resource reservation
}
Terminate Network Resource Reservation
-______________________________________
+""""""""""""""""""""""""""""""""""""""
+
Request to terminate a network resource reservation
.. http:delete:: /reservation/network/(reservation_id)
:noindex:
+
Virtualised Storage Resources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-----------------------------
Storage Capacity Management
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Subscribe Storage Capacity Change Event
-_______________________________________
+"""""""""""""""""""""""""""""""""""""""
Subscription from Consumer to VIM to be notified about storage capacity changes
}
Query Storage Capacity
-______________________
+""""""""""""""""""""""
-Request to find out about available, reserved, total and allocated storage capacity.
+Request to find out about available, reserved, total and allocated storage
+capacity.
.. http:get:: /capacity/storage/query
:noindex:
}
Notify Storage Capacity Change Event
-____________________________________
+""""""""""""""""""""""""""""""""""""
Notification about storage capacity changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Create Storage Resource Reservation
-___________________________________
+"""""""""""""""""""""""""""""""""""
Request the reservation of storage resource capacity
}
Query Storage Resource Reservation
-__________________________________
-Request to find out about reserved storage resources that the consumer has access to.
+""""""""""""""""""""""""""""""""""
+
+Request to find out about reserved storage resources that the consumer has
+access to.
.. http:get:: /reservation/storage/query
:noindex:
}
Update Storage Resource Reservation
-___________________________________
+"""""""""""""""""""""""""""""""""""
Request to update storage resource reservation
POST /reservation/storage/update HTTP/1.1
Accept: application/json
- {
+
+ {
"startTime": "2015-09-20T23:00:00Z",
"reservationId": "vvvv-wwww-xxxx"
- }
+
+ }
**Example response**:
}
Terminate Storage Resource Reservation
-______________________________________
+""""""""""""""""""""""""""""""""""""""
+
Request to terminate a storage resource reservation
.. http:delete:: /reservation/storage/(reservation_id)
:noindex:
-
-Detailed Message Flows
-----------------------
-
-Resource Capacity Management
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. figure:: images/figure5.png
- :name: figure5
- :width: 90%
-
- Capacity Management Scenario
-
-:numref:`figure5` shows a detailed message flow between the consumers and the
-functional blocks inside the VIM and has the following steps:
-
-Step 1: The consumer subscribes to capacity change notifications
-
-Step 2: The Capacity Manager monitors the capacity information for the various
-types of resources by querying the various Controllers (e.g. Nova, Neutron,
-Cinder), either periodically or on demand and updates capacity information in
-the Capacity Map
-
-Step 3: Capacity changes are notified to the consumer
-
-Step 4: The consumer queries the Capacity Manager to retrieve capacity detailed
-information
-
-Resource Reservation
-~~~~~~~~~~~~~~~~~~~~
-
-.. figure:: images/figure6.png
- :name: figure6
- :width: 90%
-
- Resource Reservation for Future Use Scenario
-
-:numref:`figure6` shows a detailed message flow between the consumers and
-the functional blocks inside the VIM and has the following steps:
-
-Step 1: The consumer creates a resource reservation request for future use by
-setting a start and end time for the allocation
-
-Step 2: The consumer gets an immediate reply with a reservation status message
-"reservationStatus" and an identifier to be used with this reservation instance
-"reservationID"
-
-Step 3: The consumer subscribes to reservation notification events
-
-Step 4: The Resource Reservation Manager checks the feasibility of the
-reservation request by consulting the Capacity Manager
-
-Step 5: The Resource Reservation Manager reserves the resources and stores the
-list of reservations IDs generated by the Controllers (e.g. Nova, Neutron,
-Cinder) in the Reservation Map
-
-Step 6: Once the reservation process is completed, the VIM sends a notification
-message to the consumer with information on the reserved resources
-
-Step 7: When start time arrives, the consumer creates a resource allocation
-request.
-
-Step 8: The consumer gets an immediate reply with an allocation status message
-"allocationStatus".
-
-Step 9: The consumer subscribes to allocation notification events
-
-Step 10: The Resource Allocation Manager allocates the reserved resources. If
-not all reserved resources are allocated before expiry, the reserved resources
-are released and a notification is sent to the consumer
-
-Step 11: Once the allocation process is completed, the VIM sends a notification
-message to the consumer with information on the allocated resources
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.
+: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.
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 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
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.
+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
--------------------
Resource reservation flow
:numref:`figure4` shows a high level flow for a use case of resource
-reservation.
-The main steps are:
+reservation. The main steps are:
* The NFVO sends a resource reservation request to the VIM using the Create
Resource Reservation Request interface operation.
Notify Capacity Change Event
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The notification change message shall include the following information
-elements:
+The notification change message shall include the following information elements:
============================ ========== =====================================
Name Type Description
--- /dev/null
+Detailed architecture and message flows
+=======================================
+
+Within the Promise project we consider two different architectural options,
+i.e. a *shim-layer* based architecture and an architecture targeting at full
+OpenStack *integration*.
+
+Shim-layer architecture
+-----------------------
+
+The *shim-layer architecture* is using a layer on top of OpenStack to provide
+the capacity management, resource reservation, and resource allocation
+features.
+
+
+Detailed Message Flows
+^^^^^^^^^^^^^^^^^^^^^^
+
+.. note:: This section has to be updated.
+
+Resource Capacity Management
+""""""""""""""""""""""""""""
+
+.. figure:: images/figure5.png
+ :name: figure5
+ :width: 90%
+
+ Capacity Management Scenario
+
+:numref:`figure5` shows a detailed message flow between the consumers and the
+functional blocks inside the VIM and has the following steps:
+
+Step 1: The consumer subscribes to capacity change notifications
+
+Step 2: The Capacity Manager monitors the capacity information for the various
+types of resources by querying the various Controllers (e.g. Nova, Neutron,
+Cinder), either periodically or on demand and updates capacity information in
+the Capacity Map
+
+Step 3: Capacity changes are notified to the consumer
+
+Step 4: The consumer queries the Capacity Manager to retrieve capacity detailed
+information
+
+Resource Reservation
+""""""""""""""""""""
+
+.. figure:: images/figure6.png
+ :name: figure6
+ :width: 90%
+
+ Resource Reservation for Future Use Scenario
+
+:numref:`figure6` shows a detailed message flow between the consumers and the
+functional blocks inside the VIM and has the following steps:
+
+Step 1: The consumer creates a resource reservation request for future use by
+setting a start and end time for the allocation
+
+Step 2: The consumer gets an immediate reply with a reservation status message
+"reservationStatus" and an identifier to be used with this reservation instance
+"reservationID"
+
+Step 3: The consumer subscribes to reservation notification events
+
+Step 4: The Resource Reservation Manager checks the feasibility of the
+reservation request by consulting the Capacity Manager
+
+Step 5: The Resource Reservation Manager reserves the resources and stores the
+list of reservations IDs generated by the Controllers (e.g. Nova, Neutron,
+Cinder) in the Reservation Map
+
+Step 6: Once the reservation process is completed, the VIM sends a notification
+message to the consumer with information on the reserved resources
+
+Step 7: When start time arrives, the consumer creates a resource allocation
+request.
+
+Step 8: The consumer gets an immediate reply with an allocation status message
+"allocationStatus".
+
+Step 9: The consumer subscribes to allocation notification events
+
+Step 10: The Resource Allocation Manager allocates the reserved resources. If
+not all reserved resources are allocated before expiry, the reserved resources
+are released and a notification is sent to the consumer
+
+Step 11: Once the allocation process is completed, the VIM sends a notification
+message to the consumer with information on the allocated resources
+
+
+Integrated architecture
+-----------------------
+
+The *integrated architecture* aims at full integration with OpenStack.
+
+Detailed Message Flows
+^^^^^^^^^^^^^^^^^^^^^^
+
+.. note:: to be done
+
+Resource Reservation
+""""""""""""""""""""
+
+.. note:: to be specified