From 23c3354245f8a9bc1d87ea3becc0f217bf10bbd7 Mon Sep 17 00:00:00 2001 From: fsandoval Date: Tue, 1 May 2018 12:29:40 -0600 Subject: [PATCH] add sections Issue-ID: OPTFRA-41 Change-Id: Iba3f0c98b5c691ef89796991f7133c122a9bb792 Signed-off-by: fsandoval --- docs/sections/.DS_Store | Bin 0 -> 8196 bytes docs/sections/administration.rst | 6 + docs/sections/architecture.rst | 55 +++++ docs/sections/configuration.rst | 6 + docs/sections/consumedapis.rst | 22 ++ docs/sections/delivery.rst | 6 + docs/sections/diagrams/.DS_Store | Bin 0 -> 6148 bytes docs/sections/diagrams/OSDF-components.png | Bin 0 -> 122198 bytes docs/sections/humaninterfaces.rst | 6 + docs/sections/installation.rst | 10 + docs/sections/logging.rst | 16 ++ docs/sections/offeredapis.rst | 317 +++++++++++++++++++++++++++++ docs/sections/release-notes.rst | 43 ++++ 13 files changed, 487 insertions(+) create mode 100644 docs/sections/.DS_Store create mode 100644 docs/sections/administration.rst create mode 100644 docs/sections/architecture.rst create mode 100644 docs/sections/configuration.rst create mode 100644 docs/sections/consumedapis.rst create mode 100644 docs/sections/delivery.rst create mode 100644 docs/sections/diagrams/.DS_Store create mode 100644 docs/sections/diagrams/OSDF-components.png create mode 100644 docs/sections/humaninterfaces.rst create mode 100644 docs/sections/installation.rst create mode 100644 docs/sections/logging.rst create mode 100644 docs/sections/offeredapis.rst create mode 100644 docs/sections/release-notes.rst diff --git a/docs/sections/.DS_Store b/docs/sections/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c425cf1926a584a1d6e05513b02e14ec9fa5f07b GIT binary patch literal 8196 zcmeHMTWl0n7(U;&z>Lh$DdkdbW}$)=D(oW2B?8-aNvQ>?ZlPO1+ufb99hsdeJF_iN zN@`4a5;Z19j7CG$7d2iI6{9|CG%@nxDqbIq@kx!Es1Lm0f9A|KrQ3!?jj3@?a?XFw z`Tzf1zWL6a{bw0tXesJ(#_Abk5@jy6xl~M%xSr>V6bX7{k|2M^3M|9&%*_tFgB8|c zM~Fa(K!`wyK!`wyz)V1Z?rffeyb!w2i_9^CR7+tvkalPSMs~ zf1J*YH$cArM7`Rgk&#$a^wuq-P0^8fJhr(hx-}jf9hIfUtK&P``|>AFj+`1j{kYf} zg0};!nY7b$Q*Bdsb5@oX%55t!u=?YvoRgpU9i!659cmRgMJ|?c`f?nn>*gxzypFvc z`|ePBwfRE?!Tv$dbZqyaQE*B2YBer_*q(Fj&Vs@9y;^N9W95og#xt5ND`lQE-0qxX z74x>st#bv(vN|2t$5?Z7NjhL#|WsT7Ac~N#hGEt>_we88o;#WF%<{SA#6Q zSW_Qeebf3|w(e+YD`~a!>y(Ac;_e~SHM5p+VA#~Xfu4+;Gi=?o`w!70wmtJ+(EYeSkd%OXbqB7s;ix^tz4xlM|4`kK1b)H>Dn8T z>}%GnQq{v;(^@d7)B}gL>r|!7rM+sIz;HuMQM!&2cQjWPuA4S1>H#a0H7re+#XQ@# zD{A+UfLrSbI(P0;)HFTXJZ;6TMN`n-npD+$_{@7VuD5^CuxV8v^66=JduUZXT-U7Y zd`%5ydNm{(Mb$^5ArTWTnfSDVZDdK7W_@(3M%Y<)j-6+(vp3lV_7;1Oeat>(U$O7m zFYH(L8~dGIMipe#VHs|~8r+CR#IX|zG@}I_=tden$f6%6?!!@dIDrwI!YIz*K|F+q z@d%#4c|42f@H}3|1-y-S@Gjm*37_E-KF7EC0YBm={DCWx>WC_q87Uu^&hmbO{&^&) zV*6mg_Q$4Sd)uD2_SE2pA){au{qs$Yx8xzuZp~4TxN&4Y9$?-o7sU9U$?vn`Qn2^*%>0kd4 a5Z?bj?o|B6AFtv4F959g9r2&K|NjJ;0fHd_ literal 0 HcmV?d00001 diff --git a/docs/sections/administration.rst b/docs/sections/administration.rst new file mode 100644 index 0000000..0650561 --- /dev/null +++ b/docs/sections/administration.rst @@ -0,0 +1,6 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Administration +============================================= + + Administration - TBD \ No newline at end of file diff --git a/docs/sections/architecture.rst b/docs/sections/architecture.rst new file mode 100644 index 0000000..64bc43c --- /dev/null +++ b/docs/sections/architecture.rst @@ -0,0 +1,55 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Architecture +============================================= + +Technology Choices +------------------ +Minizinc provides an open source constraint modeling language/platform for specifying optimization applications. +It contains direct interfaces to COIN-OR CBC, Gurobi and IBM ILOG CPLEX. Additionally, many optimization projects +support minizinc via FlatZinc interfaces. The Minizinc standard library provides a subset of constraints form the +global constraint catalogue as a high-level abstraction that have efficient algorithms implemented by several solvers. + +Components of the Core Framework +-------------------------------------------- + +.. image:: ./diagrams/OSDF-components.png + +An overview of the components of the core optimization framework. The OOF utilizes the open source project Minizinc, +which has a solver-independent modeling language and has interfaces to various open source and commercial solvers. +One of the additional benefits of this approach is that by developing a focused set of ONAP-related components, +we can utilize ongoing advances in optimization technologies, as well as adapt other currently available extensions to +Minizinc and related projects. The OOF project aims to build these components with a focus on minimal viable product +for Beijing Release in order to support initial applications and use cases, with subsequent focus on expanding the +platform. + +Data Adapter Library +---------------------- + +The OOF will provide a library of adapters for common ONAP systems. These can be directly used in data specification +templates of the applications. In the initial release, these will include adapters to Policy, A&AI, Multi-Cloud, and +SDC (additional "stretch goals" for this release include SDN-C, Microservice Bus). As new use cases are implemented, +this library will be augmented by new adapters to other services. + +Translation Modules +-------------------------------------------- + +The OOF will provide modules for translating policies into constraints for the optimization environment. When an +underlying minizinc model is used for optimization, it is translated into a minizinc constraint (either via a data +specification template or directly from policy). For custom optimizers, these constraints will be translated to the +input format expected by the optimizer via the data specification template. The Homing and Allocation Service (HAS; +described in the next section) uses a custom optimization module and hence uses the data specification template approach. + +Modeling Support +---------------------- + +The OOF provides simple templating system through which users can specify links to different ONAP components, including policy, +A&AI, SDC, etc. + + +Execution Environment +------------------------------------------------------------------------ + +The OOF execution environment contains the minizinc system, along with data/template rendering system that leverages +the adapters to various systems. The flow of execution can be configured via the configuration file for the application +and supports a choice of specific solver or invocations to custom/external solvers. diff --git a/docs/sections/configuration.rst b/docs/sections/configuration.rst new file mode 100644 index 0000000..1532e78 --- /dev/null +++ b/docs/sections/configuration.rst @@ -0,0 +1,6 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Configuration +============================================= + +TBD diff --git a/docs/sections/consumedapis.rst b/docs/sections/consumedapis.rst new file mode 100644 index 0000000..67178c5 --- /dev/null +++ b/docs/sections/consumedapis.rst @@ -0,0 +1,22 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Consumed APIs +============================================= +The following are the dependencies for the project based on the scope for the Beijing Release. +The required dependencies have been identified based on the current homing requirements for the vCPE use case, +and the potential dependencies are tentative dependencies that may exist based on how the information required +for homing (e.g., Hardware Platform Enablement, VIM attributes) is available. + + +Service Orchestrator +-------------------------------------------- +See documentation for Service Orchestrator + + +Policy +-------------------------------------------- +See documentation for Policy + +SDC +-------------------------------------------- +See documentation for SDC diff --git a/docs/sections/delivery.rst b/docs/sections/delivery.rst new file mode 100644 index 0000000..bfe8480 --- /dev/null +++ b/docs/sections/delivery.rst @@ -0,0 +1,6 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Delivery +============================================= + + Delivery description TBD \ No newline at end of file diff --git a/docs/sections/diagrams/.DS_Store b/docs/sections/diagrams/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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

xSqzx& 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 YN1}zLG#2qEAizH|k_r;FVunHg2mgIfr2qf` literal 0 HcmV?d00001 diff --git a/docs/sections/humaninterfaces.rst b/docs/sections/humaninterfaces.rst new file mode 100644 index 0000000..dc09e7e --- /dev/null +++ b/docs/sections/humaninterfaces.rst @@ -0,0 +1,6 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Human Interfaces +============================================= + + OOF OSDF does not expose a human interface \ No newline at end of file diff --git a/docs/sections/installation.rst b/docs/sections/installation.rst new file mode 100644 index 0000000..fac87bf --- /dev/null +++ b/docs/sections/installation.rst @@ -0,0 +1,10 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Installation +============================================= + +Installing from the Source Code +------------------------------------ +Get code from the Linux Foundation Projects page + $ git clone https://gerrit.onap.org/r/optf/osdf + diff --git a/docs/sections/logging.rst b/docs/sections/logging.rst new file mode 100644 index 0000000..eb2739f --- /dev/null +++ b/docs/sections/logging.rst @@ -0,0 +1,16 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Logging +============================================= + +OSDF uses a single logger, oslo, across all the components. The logging format is compliant with the EELF recommendations, +including having the following logs: +error, audit, metric, application. + +The log statements follow the following format (values default to preset values when missing): + +Timestamp|RequestId|ServiceInstanceId|ThreadId|Virtual Server Name|ServiceName|InstanceUUID|Log Level|Alarm Severity Level|Server IP Address|HOST NAME|Remote IP Address|Class name|Timer|Detailed Message + +The logger util module can be found at: + +<>/has/conductor/conductor/common/utils/conductor_logging_util.py \ No newline at end of file diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst new file mode 100644 index 0000000..c88bcf8 --- /dev/null +++ b/docs/sections/offeredapis.rst @@ -0,0 +1,317 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +****************** +Offered APIs +****************** + +OOF-HAS Create/Update API +######################### + ++--------------------+-------------------------------------+ +|Interface Definition|Description | ++====================+=====================================+ +|URI |{serverRoot}/oof-osdf/v2/placement | ++--------------------+-------------------------------------+ +|Operation Type |POST | ++--------------------+-------------------------------------+ +|Content-Type |application/json | ++--------------------+-------------------------------------+ + + +Request Header +************** + ++----------------+-----------+-------------------------------------------------------------------------------------------+ +| Header Name | Required | Description | ++================+===========+===========================================================================================+ +| Accept | N | Determines the format of the body of the response. Valid value is “application/json” | ++----------------+-----------+-------------------------------------------------------------------------------------------+ +| Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is | +| | | missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is | +| | | invalid, then an HTTP 401 Unauthorized response is returned. | ++----------------+-----------+-------------------------------------------------------------------------------------------+ +| Content-Type | Y | Determines the format of the request content. Only application/json is supported. | ++----------------+-----------+-------------------------------------------------------------------------------------------+ +| Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. | ++----------------+-----------+-------------------------------------------------------------------------------------------+ + + +Request Body +************ + ++---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===============+===========+=============+======================+===============+==========================================+ +| requestInfo | M | 1 | RequestInfo Object | - | The content of the RequestInfo object. | ++---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ +| placementInfo | M | 1 | PlacementInfo Object | - | The Content of the PlacementInfo object. | ++---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ +| licenseInfo | M | 1 | LicenseInfo Object | - | The Content of the LicenseInfo object. | ++---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ +| serviceInfo | M | 1 | ServiceInfo Object | - | The Content of the ServiceInfo object. | ++---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ + + +RequestInfo Object: + ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===============+===========+=============+=================+===============+=======================================================================+ +| transactionId | M | 1 | UUID/String | - | A unique ID to track an ONAP transaction. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| requestId | M | 1 | UUID/String | - | A unique ID to track multiple requests associated with a transaction. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| callbackUrl | M | 1 | URL | - | The end point of a callback service where recommendations are posted. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| sourceId | M | 1 | String | - | The unique ID of a client making an optimization call. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| requestType | M | 1 | String | create, | The type of a request | +| | | | | update, | | +| | | | | delete | | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| numSolutions | O | 1 | Integer | - | Expected number of solutions. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| optimizers | M | 1..N | List of Strings | placement | A list of optimization services. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ +| timeout | M | 1 | Integer | - | A tolerance window (in second) for expecting solutions. | ++---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ + + +PlacementInfo Object: + ++-------------------+-----------+-------------+--------------------------------+---------------+---------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===================+===========+=============+================================+===============+===================================================+ +| requestParameters | M | 1 | JSON BLOB | - | A service ordering information. | ++-------------------+-----------+-------------+--------------------------------+---------------+---------------------------------------------------+ +| placementDemands | M | 1..N | List of PlacementDemand Object | - | The resource information for a placement service. | ++-------------------+-----------+-------------+--------------------------------+---------------+---------------------------------------------------+ + + +PlacementDemand Object: + ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++====================+===========+=============+======================+===============+=================================================================+ +| resourceModuleName | M | 1 | String | - | A resource name as defined in a service model. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| serviceResourceId | M | 1 | String | - | A unique resource Id with a local scope between client and OOF. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| givenPlacement | O | 1 | KeyValuePairs | - | placement parameters defined in the ordering system, | +| | | | | | keyname include tenantId. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| resourceModelInfo | M | 1 | ModelMetaData Object | - | Resource model information as defined in SDC. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| existingCandidates | O | 1 | Candidates Object | - | The existing placement information of a resource. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| excludedCandidates | O | 1 | Candidates Object | - | Candidates that need to be excluded from solutions. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| requiredCandidates | O | 1 | Candidates Object | - | Candidates that must be included in solutions. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ + + +ModelMetaData Object: + ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++========================+===========+=============+=========+===============+===========================================================+ +| modelInvariantId | M | 1 | String | - | A model invariant Id as defined in a service model. | ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ +| modelVersionId | M | 1 | String | - | A unique model Id as defined in a service model. | ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ +| modelName | O | 1 | String | - | A model name as defined in a service model. | ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ +| modelType | O | 1 | String | - | A model type as defined in a service model. | ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ +| modelVersion | O | 1 | String | - | A model version as defined in a service model. | ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ +| modelCustomizationName | O | 1 | String | - | A model customization name as defined in a service model. | ++------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ + + +Candidates Object: + ++----------------+-----------+-------------+-----------------+----------------------+--------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++================+===========+=============+=================+======================+==========================+ +| identifierType | M | 1 | String | service_instance_id, | The type of a candidate. | +| | | | | vnf_name, | | +| | | | | cloud_region_id | | ++----------------+-----------+-------------+-----------------+----------------------+--------------------------+ +| identifiers | M | 1..N | List of Strings | - | A list of identifiers. | ++----------------+-----------+-------------+-----------------+----------------------+--------------------------+ + + +ServiceInfo Object: + ++-------------------+-----------+-------------+----------------------+---------------+--------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===================+===========+=============+======================+===============+==================================================+ +| serviceInstanceId | M | 1 | String | - | A service instance id associated with a request. | ++-------------------+-----------+-------------+----------------------+---------------+--------------------------------------------------+ +| serviceModelInfo | M | 1 | ModelMetaData Object | - | A list of identifiers. | ++-------------------+-----------+-------------+----------------------+---------------+--------------------------------------------------+ + + +LicenseInfo Object: + ++----------------+-----------+-------------+-------------------------------+---------------+--------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++================+===========+=============+===============================+===============+============================================+ +| licenseDemands | M | 1..N | List of LicenseDemands Object | - | A list of resources for license selection. | ++----------------+-----------+-------------+-------------------------------+---------------+--------------------------------------------+ + + +LicenseDemands Object: + ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++====================+===========+=============+======================+===============+=================================================================+ +| resourceModuleName | M | 1 | String | - | A resource name as defined in a service model. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| serviceResourceId | M | 1 | String | - | A unique resource Id with a local scope between client and OOF. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| resourceModelInfo | M | 1 | ModelMetaData Object | - | Resource model information as defined in a service model. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ +| existingLicenses | O | 1 | LicenseModel Object | - | Existing license information assigned to a resource. | ++--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ + + +LicenseModel Object: + ++---------------------+-----------+-------------+-----------------+---------------+----------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++=====================+===========+=============+=================+===============+====================================================+ +| entitlementPoolUUID | M | 1..N | List of Strings | - | Entitlement pool UUIDs associated with a resource. | ++---------------------+-----------+-------------+-----------------+---------------+----------------------------------------------------+ +| licenseKeyGroupUUID | M | 1..N | List of Strings | - | License key groups associated with a resource | ++---------------------+-----------+-------------+-----------------+---------------+----------------------------------------------------+ + + +Synchronous Response Body: + ++---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===============+===========+=============+=============+==================+========================================================================+ +| requestId | M | 1 | UUID/String | - | A unique Id for an ONAP transaction. | ++---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ +| transactionId | M | 1 | UUID/String | - | A unique ID to track multiple requests associated with a transaction. | ++---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ +| statusMessage | O | 1 | String | - | Reasoning if a requestStatus is failure. | ++---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ +| requestStatus | M | 1 | String | success, failure | The status of a request. | ++---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ + + +Asynchronous Response Body: + ++---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===============+===========+=============+=================+===============+========================================================================+ +| requestId | M | 1 | UUID/String | - | A unique Id for an ONAP transaction. | ++---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ +| transactionId | M | 1 | UUID/String | - | A unique ID to track multiple requests associated with a transaction. | ++---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ +| statusMessage | O | 1 | String | - | Reasoning if requestStatus is failure. | ++---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ +| requestStatus | M | 1 | String | success, | The status of a request. | +| | | | | failure, | | +| | | | | pending | | ++---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ +| solutions | M | 1 | Solutions Object| - | Solutions related to a request. | ++---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ + + +Solutions Object: + ++--------------------+-----------+-------------+--------------------------------------+---------------+--------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++====================+===========+=============+======================================+===============+================================+ +| placementSolutions | M | 1..N | List of ComprehensiveSolution Object | - | A list of placement solutions. | ++--------------------+-----------+-------------+--------------------------------------+---------------+--------------------------------+ +| licenseSolutions | M | 1..N | List of LicenseSolution Object | - | A list of license solutions | ++--------------------+-----------+-------------+--------------------------------------+---------------+--------------------------------+ + + + +ComprehensiveSolution Object: + ++-----------+-----------+-------------+----------------------------------+---------------+--------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===========+===========+=============+==================================+===============+================================+ +| - | M | 1..N | List of PlacementSolution Object | - | A list of placement solutions. | ++-----------+-----------+-------------+----------------------------------+---------------+--------------------------------+ + + +PlacementSolution Object: + ++--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++====================+===========+=============+========================+=====================+=========================================================+ +| resourceModuleName | M | 1 | String | - | The name of a resource as defined in the service model. | ++--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ +| serviceResourceId | M | 1 | String | - | A resource Id as defined in a service model. | ++--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ +| identifierType | M | 1 | String | service_instance_id | The type of a candidate. | ++--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ +| identifier | M | 1 | String | - | The id of a candidate. | ++--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ +| assignmentInfo | O | 1..N | List of AssignmentInfo | - | Additional information related to a candidate. | +| | | | object | | | ++--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ + + +AssignmentInfo Object: + ++-----------+-----------+-------------+---------+---------------+---------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++===========+===========+=============+=========+===============+=====================+ +| key | M | 1 | String | - | An attribute name. | ++-----------+-----------+-------------+---------+---------------+---------------------+ +| value | M | 1 | String | - | An attribute value. | ++-----------+-----------+-------------+---------+---------------+---------------------+ + + +LicenseSolutions Object: + ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ +| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | ++==============================+===========+=============+================+===============+==========================================+ +| resourceModuleName | M | 1 | String | - | A resource name as defined in a service. | ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ +| serviceResourceId | M | 1 | String | - | A resource Id as defined in a service. | ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ +| entitlementPoolUUID | M | 1..N | List of String | - | A list of entitlementPoolUUIDs. | ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ +| licenseKeyGroupUUID | M | 1..N | List of String | - | A list of licenseKeyGroupUUID. | ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ +| entitlementPoolInvariantUUID | M | 1..N | List of String | - | A list of entitlementPoolInvariantUUID . | ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ +| licenseKeyGroupInvariantUUID | M | 1..N | List of String | - | A list of licenseKeyGroupInvariantUUID . | ++------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ + + +HTTP Response Code +++++++++++++++++++ + ++-----------+-----------------------+---------------------------------------------------------------+ +| HTTP Code | Response Phrase | Description | ++===========+=======================+===============================================================+ +| 201 | Created | An optimization solution is found. | ++-----------+-----------------------+---------------------------------------------------------------+ +| 202 | Accepted | An optimization request is accepted. | ++-----------+-----------------------+---------------------------------------------------------------+ +| 400 | Bad request | Bad request. | ++-----------+-----------------------+---------------------------------------------------------------+ +| 401 | Unauthorized | Request body is not compliant with the API definition. | ++-----------+-----------------------+---------------------------------------------------------------+ +| 404 | Not found | The server cannot find the requested URI. | ++-----------+-----------------------+---------------------------------------------------------------+ +| 405 | Method not found | The requested method is not supported by a server. | ++-----------+-----------------------+---------------------------------------------------------------+ +| 500 | Internal server error | The server encountered an internal server error or timed out. | ++-----------+-----------------------+---------------------------------------------------------------+ + + + diff --git a/docs/sections/release-notes.rst b/docs/sections/release-notes.rst new file mode 100644 index 0000000..967433f --- /dev/null +++ b/docs/sections/release-notes.rst @@ -0,0 +1,43 @@ +.. + This work is licensed under a Creative Commons Attribution 4.0 + International License. + +============= +Release Notes +============= + +Release Date +------------ +2018-05-24 + + +New Features +------------ +* Baseline functionality +* Integration with OOF HAS, SO, Policy and SDC +* Platform Maturity Level 1 +* ~50% unit test coverage + +Bug Fixes +--------- +None + +Known Issues +------------ +None + +Security Issues +--------------- +None + +Upgrade Notes +------------- +None + +Deprecation Notes +----------------- +None + +Other +----- +None \ No newline at end of file -- 2.16.6