Nevermore: a Poet's Mantra

    opnfv-promise

    1.2.0 • Public • Published

    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

    License

    Apache-2.0

    Install

    npm i opnfv-promise

    DownloadsWeekly Downloads

    6

    Version

    1.2.0

    License

    Apache-2.0

    Last publish

    Collaborators

    • corenova