diff options
Diffstat (limited to 'requirements/resource_management/07-schemas.rst')
-rw-r--r-- | requirements/resource_management/07-schemas.rst | 195 |
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; - } - } - } - -.. -* |