summaryrefslogtreecommitdiffstats
path: root/requirements/resource_management/07-schemas.rst
diff options
context:
space:
mode:
Diffstat (limited to 'requirements/resource_management/07-schemas.rst')
-rw-r--r--requirements/resource_management/07-schemas.rst195
1 files changed, 0 insertions, 195 deletions
diff --git a/requirements/resource_management/07-schemas.rst b/requirements/resource_management/07-schemas.rst
deleted file mode 100644
index 3887cc7..0000000
--- a/requirements/resource_management/07-schemas.rst
+++ /dev/null
@@ -1,195 +0,0 @@
-Promise YANG Schemas based on StormForge
-----------------------------------------
-
-Promise Schema
-^^^^^^^^^^^^^^
-
-.. code::
-
- module opnfv-promise {
- namespace "urn:opnfv:vim:promise";
- prefix prom;
-
- import opnfv-promise-models { prefix opm; }
- import complex-types { prefix ct; }
-
- description
- "OPNFV Promise Resource Reservation/Allocation controller module";
-
- revision 2015-04-16 {
- description
- "Initial revision.";
- }
-
- // MAIN CONTAINER
-
- container promise {
- ct:instance-list reservations {
- description
- "Aggregate collection of all registered ResourceReservation
- instances";
- ct:instance-type opm:ResourceReservation;
- }
- }
-
- rpc list-reservations;
- rpc create-reservation;
- rpc cancel-reservation;
-
- notification reservation-event;
- notification capacity-event;
- notification allocation-event;
- }
-
-OPNFV Promise YANG Schema
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code::
-
- module opnfv-promise-models {
- prefix opm;
-
- import storm-common-models { prefix scm; }
- import complex-types { prefix ct; }
-
- feature resource-reservation;
-
- ct:complex-type ResourceReservation {
- ct:extends scm:ResourceElement;
-
- description
- "Contains the capacities of various resource services being reserved
- along with any resource elements needed to be available at
- the time of allocation(s).";
-
- reference "OPNFV-PROMISE, Section 3.4.1";
-
- leaf start { type ct:date-and-time; }
- leaf end { type ct:date-and-time; }
- leaf expiry {
- description
- "Duration in seconds from start when unallocated reserved resources
- will be released back into the pool";
- type number; units "seconds";
- }
- leaf zone {
- type instance-identifier { ct:instance-type scm:AvailabilityZone; }
- }
- container capacity {
- uses scm:compute-capacity;
- uses scm:networking-capcity;
- uses scm:storage-capacity;
- }
- leaf-list resources {
- description
- "Reference to a collection of existing resource elements required by
- this reservation. It can contain any instance derived from
- ResourceElement, such as ServerInstances or even other
- ResourceReservations. If the ResourceReservation request is
- accepted, the ResourceElement(s) listed here will be placed
- into 'protected' mode as to prevent accidental delete.";
- type instance-identifier {
- ct:instance-type scm:ResourceElement;
- }
- // following 'must' statement applies to each element
- must "boolean(/provider/elements/*[@id=id])" {
- error-message
- "One or more of the ResourceElement(s) does not exist in the
- provider to be reserved";
- }
- }
-
- leaf provider {
- if-feature multi-provider;
- config false;
-
- description
- "Reference to a specified existing provider from which this
- reservation will be drawn if used in the context of multi-provider
- environment.";
- type instance-identifier {
- ct:instance-type scm:ResourceProvider;
- require-instance true;
- }
- }
-
- container remaining {
- config false;
- description
- "Provides visibility into total remaining capacity for this
- reservation based on allocations that took effect utilizing
- this reservation ID as a reference.";
-
- uses scm:compute-capacity;
- uses scm:networking-capcity;
- uses scm:storage-capacity;
- }
-
- leaf-list allocations {
- config false;
- description
- "Reference to a collection of consumed allocations referencing
- this reservation.";
- type instance-identifier {
- ct:instance-type ResourceAllocation;
- }
- }
-
- }
-
- ct:complex-type ResourceAllocation {
- ct:extends scm:ResourceElement;
-
- description
- "Contains a list of resources to be allocated with optional reference
- to an existing reservation.
-
- If reservation is specified but this request is received prior
- to reservation start timestamp, then it will be rejected unless
- 'allocate-on-start' is set to true. 'allocate-on-start' allows
- the allocation to be auto-initiated and scheduled to run in the
- future.
-
- The 'priority' state indicates the classification for dealing
- with resource starvation scenarios. Lower priority allocations
- will be forcefully terminated to allow for higher priority
- allocations to be fulfilled.
-
- Allocations without reference to an existing reservation will
- receive the lowest priority.";
-
- reference "OPNFV-PROMISE, Section 3.4.3";
-
- leaf reservation {
- description "Reference to an existing reservation identifier";
-
- type instance-identifier {
- ct:instance-type ResourceReservation;
- require-instance true;
- }
- }
-
- leaf allocate-on-start {
- description
- "If 'allocate-on-start' is set to true, the 'planned' allocations will
- take effect automatically at the reservation 'start' date/time.";
- type boolean; default false;
- }
-
- ct:instance-list resources {
- description "Contains list of new ResourceElements that will be
- allocated";
- ct:instance-type scm:ResourceElement;
- }
-
- leaf priority {
- description
- "Reflects current priority level of the allocation according to
- classification rules";
- type number;
- config false;
- }
- }
- }
-
-.. -*