opnfv-promise
v1.2.0
Published
Resource Management for Virtualized Infrastructure
Downloads
57
Maintainers
Readme
Resource Management for Virtual Infrastructure
Promise is a resource reservation and management project to identify NFV related requirements and realize resource reservation for future usage by capacity management of resource pools regarding compute, network and storage.
The following are the key features provided by this module:
- Resource Capacity Management
- Resource Reservation
- Resource Allocation
This module also contains a collection of YANG data models as defined under the direction of OPNFV Promise project.
Installation
opnfv-promise
is built with YangForge data modeling
framework. You will need to first install yangforge
and use the
provided yfc
command line utility to run this module.
$ npm install -g yangforge
There are also alternative installer plugins for Fuel and Juju.
Usage
$ yfc run promise.yaml
The yfc run
command will load the primary application
package from this repository along with any other dependency
files/assets referenced within the YAML manifest and instantiate the
opnfv-promise module and run REST/JSON interface by default listening
on port 5000.
You can also checkout this GIT repository or simply download the files into your local system and run the application.
Testing
$ npm install
$ npm test
TBD
Primary YANG Data Models
name | description | status --- | --- | --- opnfv-promise | provide resource reservation and capacity management | 95% complete nfv-infrastructure | common NFV Infrastructure resource models | 80% complete nfv-mano | common NFV MANO resource models including VIM | 20% complete openstack | openstack specific VIM extensions | 50% complete
Promise Information Models
ResourceReservation
The data model describing the required parameters regarding a resource reservation. The schema definition expressed in Yang can be found here.
Key Elements
Name | Type | Description
--- | --- | ---
start | ys:date-and-time | Timestamp of when the consumption of reserved resources can begin
end | ys:date-and-time | Timestamp of when the consumption of reserved resource must end
expiry | number | Duration expressed in seconds since start
when resource not yet allocated shall be released back to the available zone
zone | nfvi:AvailabilityZone | Reference to a zone where the resources will be reserved
capacity | object | Quantity of resources to be reserved per resource types
attributes | list | References to resource attributes needed for reservation
resources | list (nfvi:ResourceElement) | Reference to a collection of existing resource elements required
State Elements (read-only)
State Elements are available as part of lookup response about the data model.
Name | Type | Description --- | --- | --- provider | nfvi:ResourceProvider | Reference to a specific provider when reservation service supports multiple providers remaining | object | Quantity of resources remaining for consumption based on consumed allocations allocations | list (nfvi:ResourceAllocation) | Reference to a collection of consumed allocations referencing this reservation
Notification Elements
Name | Type | Description --- | --- | --- reservation-event | Event | Subscribers will be notified if the reservation encounters an error or other events
Inherited Elements
Extended from nfvi:ResourceElement
Name | Type | Description --- | --- | --- id | yang:uuid | A GUID identifier for the data model (usually auto-generated, but can also be specified) name | string | Name of the data model enabled | boolean | Enable/Disable the data model protected | boolean | Prevent model from being destroyed when protected owner | nfvi:AccessIdentity | An owner for the data model visibility | enumeration | Visibility level of the given data model tags | list (string) | List of string tags for query/filter members | list (nfvi:AccessIdentity) | List of additional AccessIdentities that can operate on the data model
Resource Allocation
The data model describing the required parameters regarding a resource allocation. The schema definition expressed in YANG can be found here.
Key Elements
Name | Type | Description --- | --- | --- reservation | nfvi:ResourceReservation | Reference to an existing reservation identifier allocate-on-start | boolean | Specify whether the allocation can take effect automatically upon reservation 'start' resources | list (nfvi:ResourceElement) | Reference to a collection of new resource elements to be allocated
State Elements (read-only)
Name | Type | Description --- | --- | --- priority | number | Read-only state information about the priority classification of the reservation
Inherited Elements
Extended from nfvi:ResourceElement
Name | Type | Description --- | --- | --- id | yang:uuid | A GUID identifier for the data model (usually auto-generated, but can also be specified) name | string | Name of the data model enabled | boolean | Enable/Disable the data model protected | boolean | Prevent model from being destroyed when protected owner | nfvi:AccessIdentity | An owner for the data model visibility | enumeration | Visibility level of the given data model tags | list (string) | List of string tags for query/filter members | list (nfvi:AccessIdentity) | List of additional AccessIdentities that can operate on the data model