diff options
Diffstat (limited to 'docs/sections')
-rw-r--r-- | docs/sections/architecture.rst | 1 | ||||
-rw-r--r-- | docs/sections/offeredapis.rst | 25 | ||||
-rw-r--r-- | docs/sections/release-notes.rst | 607 | ||||
-rw-r--r-- | docs/sections/swaggerdoc/oof-osdf-has-api.json | 902 | ||||
-rw-r--r-- | docs/sections/upgradestrategy.rst | 22 |
5 files changed, 644 insertions, 913 deletions
diff --git a/docs/sections/architecture.rst b/docs/sections/architecture.rst index 64bc43c..b11eec2 100644 --- a/docs/sections/architecture.rst +++ b/docs/sections/architecture.rst @@ -1,4 +1,5 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. _architecture: Architecture ============================================= diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst index 5151431..c9af97d 100644 --- a/docs/sections/offeredapis.rst +++ b/docs/sections/offeredapis.rst @@ -1,8 +1,9 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 +.. _offeredapis: Offered APIs -============================================= +============ This document describes the OSDF HAS (Homing and Allocation Service) API @@ -10,8 +11,20 @@ This document describes the OSDF HAS (Homing and Allocation Service) API To view API documentation in the interactive swagger UI download the following and paste into the swagger tool here: https://editor.swagger.io -:download:`oof-osdf-has-api.json <./swaggerdoc/oof-osdf-has-api.json>` - -.. swaggerv2doc:: ./swaggerdoc/oof-osdf-has-api.json - - +.. csv-table:: + :header: "API name", "Swagger JSON" + :widths: 10,5 + + "OOF OSDF HAS API", ":download:`link <../api/swagger/oof-osdf-has-api.json>`" + "OOF OPTENG API", ":download:`link <../api/swagger/oof-optf-opteng-api.json>`" + +.. OOF OSDF HAS API +.. ................ +.. +.. `OSDF API <osdf-api.html>`_ +.. +.. +.. OOF OPTENG API +.. .............. +.. +.. `OPTENG API <opteng-api.html>`_ diff --git a/docs/sections/release-notes.rst b/docs/sections/release-notes.rst index 22c6b4b..63ab538 100644 --- a/docs/sections/release-notes.rst +++ b/docs/sections/release-notes.rst @@ -1,11 +1,606 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. _release_notes: ============= Release Notes ============= + +.. =========================== +.. * * * KOHN * * * +.. =========================== + +Abstract +======== + +This document provides the release notes for the KOHN release. + +Summary +======= + + +Release Data +============ + + ++--------------------------------------+--------------------------------------+ +| **OOF Project** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Docker images** | optf-osdf 3.0.7 | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | 11.0.0 kohn | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | 10/11/2022 (TBD) | +| | | ++--------------------------------------+--------------------------------------+ + + +New features +------------ + +Bug Fixes +--------- + +- OPTFRA-1080 - Fix timeout issue in OSDF on sending plan request to HAS-API + + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +------------------ + +Known Vulnerabilities +--------------------- + + +Workarounds +----------- + + +Security Notes +-------------- + +References +========== + +For more information on the ONAP Jakarta release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + +- `OOF project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ +- `Passing Badge information for OOF <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ + + +.. =========================== +.. * * * JAKARTA * * * +.. =========================== + +Abstract +======== + +This document provides the release notes for the JAKARTA release. + +Summary +======= + + +Release Data +============ + + ++--------------------------------------+--------------------------------------+ +| **OOF Project** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Docker images** | optf-osdf 3.0.6 | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | 10.0.0 jakarta | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | 02/06/2022 (TBD) | +| | | ++--------------------------------------+--------------------------------------+ + + +New features +------------ + + + +Bug Fixes +--------- + +- OPTFRA-1059 - Update configuration for TN-FH in NxI termination app + + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +------------------ + +Known Vulnerabilities +--------------------- + + +Workarounds +----------- + + +Security Notes +-------------- + + +References +========== + +For more information on the ONAP Jakarta release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + +- `OOF project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ +- `Passing Badge information for OOF <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ + + + +.. =========================== +.. * * * ISTANBUL * * * +.. =========================== + +Abstract +======== + +This document provides the release notes for the Istanbul release. + +Summary +======= + + +Release Data +============ + + ++--------------------------------------+--------------------------------------+ +| **OOF Project** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Docker images** | optf-osdf 3.0.6 | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | 9.0.0 istanbul | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | 28/10/2021 (TBD) | +| | | ++--------------------------------------+--------------------------------------+ + + +New features +------------ + +- Enhancements in NxI termination to support second level NSSIs +- Update NxI termination app to use AAI DSL query +- Add CPS client for PCI app +- OSDF image optimization + +Bug Fixes +--------- + +- OPTFRA-511 Return error when policies are not present +- OPTFRA-943 Fix issues in NSI selection response +- OPTFRA-853 Remove unwanted gplv3 components from docker image + + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +------------------ + + +Known Vulnerabilities +--------------------- + + +Workarounds +----------- + + +Security Notes +-------------- + + +References +========== + +For more information on the ONAP Honolulu release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + - `OOF project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ + - `Passing Badge information for OOF <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ + + +.. =========================== +.. * * * HONOLULU * * * +.. =========================== + +Abstract +======== + +This document provides the release notes for the Honolulu release. + +Summary +======= + + +Release Data +============ + + ++--------------------------------------+--------------------------------------+ +| **OOF Project** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Docker images** | optf-osdf 3.0.4 | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | 8.0.0 honolulu | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | 04/08/2021 (TBD) | +| | | ++--------------------------------------+--------------------------------------+ + + +New features +------------ + +- Add NST selection feature with AAI & SDC +- Configuration management with consul KV store + +Bug Fixes +--------- + +- OPTFRA-906 Update slice/service profile attributes +- OPTFRA-871 Bug Fix in ML SON - convert cell_id before sending it to Minizinc + + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +------------------ + + +Known Vulnerabilities +--------------------- + + +Workarounds +----------- + + +Security Notes +-------------- + + +References +========== + +For more information on the ONAP Honolulu release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + - `OOF project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ + - `Passing Badge information for OOF <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ + +.. =========================== +.. * * * GUILIN * * * +.. =========================== + +Abstract +======== + +This document provides the release notes for the Guilin release. + +Summary +======= + + +Release Data +============ + + ++--------------------------------------+--------------------------------------+ +| **OOF Project** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Docker images** | optf-osdf 3.0.2 | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | 7.0.0 guilin | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | 2020-11-19 (TBD) | +| | | ++--------------------------------------+--------------------------------------+ + + +New features +------------ + +- NSI selection enhancements +- Support for NSSI selection +- Support for NSI/NSSI Termination +- Support for Inter domain route optimization +- Support for ML based SON optimization +- Upgrade python version to 3.8 + +Bug Fixes +--------- + +- OPTFRA-839 Remove python 2.7 from OSDF docker image +- OPTFRA-855 Fix slice selection API +- OPTFRA-852 Callback implementation for NST selection + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +------------------ + + +Known Vulnerabilities +--------------------- + + +Workarounds +----------- + + +Security Notes +-------------- + + +References +========== + +For more information on the ONAP Guilin release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + - `OOF project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ + - `Passing Badge information for OOF <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ + +.. =========================== +.. * * * FRANKFURT * * * +.. =========================== + +Abstract +======== + +This document provides the release notes for the Frankfurt release. + +Summary +======= + + +Release Data +============ + + ++--------------------------------------+--------------------------------------+ +| **OOF Project** | | +| | | ++--------------------------------------+--------------------------------------+ +| **Docker images** | optf-osdf 2.0.4 | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | 6.0.0 frankfurt | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | 2020-05-07 (TBD) | +| | | ++--------------------------------------+--------------------------------------+ + + +New features +------------ + +- Project is restructured into apps and libs. +- A Generic optimizing engine is implemented. +- New optimizer model for route optimization is added. +- Policy apis are migrated from legacy apis to new decision api. +- The Conductor adapter is moved from placement to adapters. +- NST and NSI selection function has been implemented for Network + Slicing use case. +- PCI optimization is enhanced to support fixed cells field. + +Bug Fixes +--------- + +- OPTFRA-482 The field "unique" should be defined in vnf policy. +- OPTFRA-729 OSDF fails to start in the k8s environment. +- OPTFRA-731 OSDF Policy interface is not working +- OPTFRA-754 Return slice profile when service profile indicates the + resource sharing level as not shared +- OPTFRA-755 OOF Policy filtering does not work. + +Known Limitations, Issues and Workarounds +========================================= + +System Limitations +------------------ + + +Known Vulnerabilities +--------------------- + + +Workarounds +----------- + + +Security Notes +-------------- + + +References +========== + +For more information on the ONAP Frankfurt release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + - `OOF project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ + - `Passing Badge information for OOF <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ + + +Version: 5.0.1 +-------------- + +:Release Date: 2019-09-30 (El Alto Release) + +The El Alto release is the fourth release for ONAP Optimization Framework (OOF). + +Artifacts released: + +optf-has:1.3.3 +optf-osdf:1.3.4 +optf-cmso:2.1.1 + +**New Features** + +While no new features were added in the release, the following Stories were delivered as enhancements. + + * [OPTFRA-415] Automation on policy model uploading + * [OPTFRA-427] CMSO - Schedule a workflow in SO and track status to completion + +* Platform Maturity Level 1 + * ~65.1+ unit test coverage + + +**Bug Fixes** + +The El Alto release for OOF fixed the following Bugs. + + * [OPTFRA-579] Json error in homing solution + * [OPTFRA-521] oof-has-api exposes plain text HTTP endpoint using port 30275 + * [OPTFRA-522] oof-osdf exposes plain text HTTP endpoint using port 30248 + * [OPTFRA-577] Need for "ReadWriteMany" access on storage when deploying on Kubernetes? + * [OPTFRA-517] Clean up optf/cmso in integration/csit for Dublin + * [OPTFRA-486] Support "identifiers" field as a list of values + * [OPTFRA-403] OOF CMSO Service kubernetes resources allocation is not done + * [OPTFRA-526] OOF pods not running + * [OPTFRA-409] Template example : purpose to be explained + * [OPTFRA-593] OOF-CSMO healthcheck is failing in Master + + +**Known Issues** + + * [OPTFRA-576] optf-has-master-csit-has is testing Dublin image + * [OPTFRA-596] CMSO - Sonar and CSIT jobs failing + * [OPTFRA-608] Error in Homing with multiple policies + +**Security Notes** + +*Fixed Security Issues* + + * [OJSI-122] In default deployment OPTFRA (oof-osdf) exposes HTTP port 30248 outside of cluster. + * [OPTFRA-521] oof-has-api exposes plain text HTTP endpoint using port 30275 + * [OPTFRA-522] oof-osdf exposes plain text HTTP endpoint using port 30248 + * [OPTFRA-455] CMSO - Mitigate License Threat tomcat-embed-core + +*Known Security Issues* + + * [OPTFRA-481] Fix Vulnerability with spring-data-jpa package + * [OPTFRA-431] Fix Vulnerability with spring-security-web package + +*Known Vulnerabilities in Used Modules* + +**Upgrade Notes** + + +**Deprecation Notes** + + +**Other** + + Version: 4.0.0 -------------- @@ -46,15 +641,17 @@ The Dublin release for OOF delivered the following Epics. *Known Security Issues* + * [`OJSI-122 <https://jira.onap.org/browse/OJSI-122>`_] In default deployment OPTFRA (oof-osdf) exposes HTTP port 30248 outside of cluster. + *Known Vulnerabilities in Used Modules* OPTFRA osdf code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. -The OPTF open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=64005463>`_. +The OPTF open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=64005463>`__. Quick Links: - - `OPTFRA project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ - - `Passing Badge information for OPTFRA <https://bestpractices.coreinfrastructure.org/en/projects/1720>`_ - - `Project Vulnerability Review Table for OPTF <https://wiki.onap.org/pages/viewpage.action?pageId=64005463>`_ + - `OPTFRA project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`__ + - `Passing Badge information for OPTFRA <https://bestpractices.coreinfrastructure.org/en/projects/1720>`__ + - `Project Vulnerability Review Table for OPTF <https://wiki.onap.org/pages/viewpage.action?pageId=64005463>`__ **Upgrade Notes** @@ -142,7 +739,7 @@ The Casablanca release for OOF delivered the following Epics. **Security Notes** OPTFRA osdf code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found. -The OPTF open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=43385924>`_. +The OPTF open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=43385924>`__. Quick Links: - `OPTFRA project page <https://wiki.onap.org/display/DW/Optimization+Framework+Project>`_ diff --git a/docs/sections/swaggerdoc/oof-osdf-has-api.json b/docs/sections/swaggerdoc/oof-osdf-has-api.json deleted file mode 100644 index 16e9ab1..0000000 --- a/docs/sections/swaggerdoc/oof-osdf-has-api.json +++ /dev/null @@ -1,902 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "This is the ONAP OOF OSDF (Optimization Service Design Framework) API", - "version": "1.0.0", - "title": "OSDF API", - "contact": { - "email": "frank.sandoval@oamtechnologies.com" - }, - "license": { - "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - } - }, - "securityDefinitions": { - "basicAuth": { - "type": "basic", - "description": "HTTP Basic Auth" - } - }, - "security": [ - { - "basicAuth": [] - } - ], - "paths": { - "/v2/placement": { - "post": { - "summary": "create/update a placement", - "operationId": "createPlacement", - "description": "create/update a placement", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "placementRequest", - "description": "placement request", - "schema": { - "$ref": "#/definitions/PlacementRequest" - } - } - ], - "responses": { - "201": { - "description": "An optimization solution is found." - }, - "202": { - "description": "An optimization request is accepted" - }, - "400": { - "description": "bad request" - }, - "401": { - "description": "Request body is not compliant with the API definition" - }, - "404": { - "description": "The server cannot find the requested URI" - }, - "405": { - "description": "The requested method is not supported by a server." - }, - "500": { - "description": "The server encountered an internal server error or timed out" - } - } - } - }, - "/api/oof/placement/v1": { - "$ref": "#/paths/~1v2~1placement" - }, - "/api/oof/v1/pci": { - "post": { - "summary": "Initiate PCI/ANR Optimization", - "operationId": "initiatePCIOptRequest", - "description": "Initiate PCI/ANR Optimization", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "in": "body", - "name": "PCIOptimizationRequest", - "description": "PCI request", - "schema": { - "$ref": "#/definitions/PCIOptRequest" - } - } - ], - "responses": { - "201": { - "description": "An optimization solution is found." - }, - "202": { - "description": "An optimization request is accepted" - }, - "400": { - "description": "bad request" - }, - "401": { - "description": "Request body is not compliant with the API definition" - }, - "404": { - "description": "The server cannot find the requested URI" - }, - "405": { - "description": "The requested method is not supported by a server." - }, - "500": { - "description": "The server encountered an internal server error or timed out" - } - } - } - }, - "/api/oof/pci/v1": { - "$ref": "#/paths/~1api~1oof~1v1~1pci" - } - }, - "definitions": { - "PlacementRequest": { - "type": "object", - "required": [ - "requestInfo", - "placementInfo", - "licenseInfo", - "serviceInfo" - ], - "properties": { - "requestInfo": { - "$ref": "#/definitions/RequestInfo" - }, - "placementInfo": { - "$ref": "#/definitions/PlacementInfo" - }, - "licenseInfo": { - "$ref": "#/definitions/LicenseInfo" - }, - "serviceInfo": { - "$ref": "#/definitions/ServiceInfo" - } - } - }, - "RequestInfo": { - "type": "object", - "required": [ - "transactionId", - "requestId", - "callbackUrl", - "sourceId", - "requestType", - "optimizers", - "timeout" - ], - "properties": { - "transactionId": { - "type": "string", - "format": "uuid", - "description": "unique ID to track an ONAP transaction", - "example": "d290f1ee-6c54-4b01-90e6-d701748f0851" - }, - "requestId": { - "type": "string", - "format": "uuid", - "description": "A unique ID to track multiple requests associated with a transaction", - "example": "d290f1ee-6c54-4b01-90e6-d701748f0851" - }, - "callbackUrl": { - "type": "string", - "format": "url", - "description": "The end point of a callback service where recommendations are posted.", - "example": "myDomain.com/myCallback" - }, - "callbackHeader": { - "type": "string", - "description": "JSON blob. The header information a client expecting in a async callback.", - "example": { - "blob": "content" - } - }, - "sourceId": { - "type": "string", - "description": "The unique ID of a client making an optimization call.", - "example": "d290f1ee-6c54-4b01-90e6-d701748f0851" - }, - "requestType": { - "type": "string", - "enum": [ - "create", - "update", - "delete" - ], - "description": "The type of a request", - "example": "create" - }, - "numSolutions": { - "type": "integer", - "description": "Expected number of solutions.", - "example": 1 - }, - "optimizers": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "placement", - "pci", - "pci-anr" - ] - }, - "description": "A list of optimization services.", - "example": [ - "placement" - ] - }, - "timeout": { - "type": "integer", - "description": "A tolerance window (in second) for expecting solutions.", - "example": 5 - } - } - }, - "PlacementInfo": { - "type": "object", - "required": [ - "requestParameters", - "placementDemands" - ], - "properties": { - "requestParameters": { - "type": "string", - "description": "JSON blob. A service ordering information", - "example": { - "blob": "content" - } - }, - "placementDemands": { - "type": "array", - "items": { - "$ref": "#/definitions/PlacementDemand" - }, - "description": "The resource information for a placement service" - }, - "subscriberInfo": { - "type": "object", - "items": { - "$ref": "#/definitions/SubscriberInfo" - }, - "description": "The information of a service subscriber." - } - } - }, - "PlacementDemand": { - "type": "object", - "required": [ - "resourceModuleName", - "serviceResourceId", - "resourceModelInfo" - ], - "properties": { - "resourceModuleName": { - "type": "string", - "description": "A resource name as defined in a service mode", - "example": "myResourceName" - }, - "serviceResourceId": { - "type": "string", - "description": "A unique resource Id with a local scope between client and OOF.", - "example": "myResourceId" - }, - "givenPlacement": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "description": "placement parameters defined in the ordering system, keyname include tenantId", - "example": { - "tenantId": "1" - } - }, - "resourceModelInfo": { - "$ref": "#/definitions/ModelMetaData" - }, - "existingCandidates": { - "$ref": "#/definitions/Candidates" - }, - "excludedCandidates": { - "$ref": "#/definitions/Candidates" - }, - "requiredCandidates": { - "$ref": "#/definitions/Candidates" - } - } - }, - "ModelMetaData": { - "type": "object", - "required": [ - "modelInvariantId", - "modelVersionId" - ], - "properties": { - "modelInvariantId": { - "type": "string", - "description": "A model invariant Id as defined in a service model.", - "example": "my model invariant Id" - }, - "modelVersionId": { - "type": "string", - "description": "A unique model Id as defined in a service model.", - "example": "my unique model Id" - }, - "modelName": { - "type": "string", - "description": "A model name as defined in a service model", - "example": "my model name" - }, - "modelType": { - "type": "string", - "description": "A model type as defined in a service model.", - "example": "my model type" - }, - "modelVersion": { - "type": "string", - "description": "A model version as defined in a service model.", - "example": "my model version" - }, - "modelCustomizationName": { - "type": "string", - "description": "A model customization name as defined in a service model.", - "example": "my model customization" - } - } - }, - "Candidates": { - "type": "object", - "required": [ - "identifierType", - "identifiers" - ], - "properties": { - "identifierType": { - "type": "string", - "enum": [ - "service_instance_id", - "vnf_name", - "cloud_region_id" - ], - "description": "The type of a candidate.", - "example": "service_instance_id" - }, - "identifiers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of identifiers.", - "example": "candidateId" - }, - "cloudOwner": { - "type": "string", - "description": "The name of a cloud owner. Only required if identifierType is cloud_region_id", - "example": "cloud_owner" - } - } - }, - "SubscriberInfo": { - "type": "object", - "required": [ - "globalSubscriberId", - "subscriberName", - "subscriberCommonSiteId" - ], - "properties": { - "globalSubscriberId": { - "type": "string", - "description": "An ID of a subscriber.", - "example": "subscriber_id" - }, - "subscriberName": { - "type": "string", - "description": "The name of a subscriber. If the name is not known, the value must be 'unknown'", - "example": "subscriber_name" - }, - "subscriberCommonSiteId": { - "type": "string", - "description": "Id representing a subscriber location", - "example": "subscriber_location_id" - } - } - }, - "LicenseInfo": { - "type": "object", - "required": [ - "licenseDemands" - ], - "properties": { - "licenseDemands": { - "type": "array", - "items": { - "$ref": "#/definitions/LicenseDemands" - }, - "description": "A list of resources for license selection" - } - } - }, - "LicenseDemands": { - "type": "object", - "required": [ - "resourceModuleName", - "serviceResourceId", - "resourceModelInfo" - ], - "properties": { - "resourceModuleName": { - "type": "string", - "description": "A resource name as defined in a service model.", - "example": "service_instance_id" - }, - "serviceResourceId": { - "type": "string", - "description": "A unique resource Id with a local scope between client and OOF.", - "example": "service_instance_id" - }, - "resourceModelInfo": { - "$ref": "#/definitions/ModelMetaData" - }, - "existingLicenses": { - "$ref": "#/definitions/LicenseModel" - } - } - }, - "LicenseModel": { - "type": "object", - "required": [ - "entitlementPoolUUID", - "licenseKeyGroupUUID" - ], - "properties": { - "entitlementPoolUUID": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "description": "Entitlement pool UUIDs associated with a resource.", - "example": "candidateId" - }, - "licenseKeyGroupUUID": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "description": "License key groups associated with a resource", - "example": "candidateId" - } - } - }, - "SynchronousResponse": { - "type": "object", - "required": [ - "requestId", - "transactionId", - "requestStatus" - ], - "properties": { - "requestId": { - "type": "string", - "format": "uuid", - "description": "A unique Id for an ONAP transaction", - "example": "ONAP transaction id" - }, - "transactionId": { - "type": "string", - "format": "uuid", - "description": "A unique ID to track multiple requests associated with a transaction.", - "example": "requests id" - }, - "statusMessage": { - "type": "string", - "description": "Reasoning if a requestStatus is failure.", - "example": "requestStatus" - }, - "requestStatus": { - "type": "string", - "enum": [ - "success", - "failure" - ], - "description": "The status of a request.", - "example": "success" - } - } - }, - "PlacementAsynchronousResponse": { - "type": "object", - "required": [ - "requestId", - "transactionId", - "requestStatus", - "solutions" - ], - "properties": { - "requestId": { - "type": "string", - "format": "uuid", - "description": "A unique Id for an ONAP transaction", - "example": "ONAP transaction id" - }, - "transactionId": { - "type": "string", - "format": "uuid", - "description": "A unique ID to track multiple requests associated with a transaction.", - "example": "requests id" - }, - "statusMessage": { - "type": "string", - "description": "Reasoning if a requestStatus is failure.", - "example": "requestStatus" - }, - "requestStatus": { - "type": "string", - "enum": [ - "success", - "failure" - ], - "description": "The status of a request.", - "example": "success" - }, - "solutions": { - "$ref": "#/definitions/Solutions" - } - } - }, - "Solutions": { - "type": "object", - "required": [ - "placementSolutions", - "licenseSolutions" - ], - "properties": { - "placementSolutions": { - "type": "array", - "items": { - "$ref": "#/definitions/ComprehensiveSolution" - }, - "description": "A list of placement solutions." - }, - "licenseSolutions": { - "type": "array", - "items": { - "$ref": "#/definitions/LicenseSolution" - }, - "description": "A list of license solutions." - } - } - }, - "ComprehensiveSolution": { - "type": "object", - "required": [ - "placementSolutions" - ], - "properties": { - "placementSolutions": { - "type": "array", - "items": { - "$ref": "#/definitions/PlacementSolution" - }, - "description": "A list of placement solutions." - } - } - }, - "PlacementSolution": { - "type": "object", - "required": [ - "resourceModuleName", - "serviceResourceId", - "identifierType", - "identifier" - ], - "properties": { - "resourceModuleName": { - "type": "string", - "description": "The name of a resource as defined in the service model", - "example": "resource name" - }, - "serviceResourceId": { - "type": "string", - "description": "A resource Id as defined in a service model.", - "example": "resource id" - }, - "identifierType": { - "type": "string", - "enum": [ - "service_instance_id" - ], - "description": "The type of a candidate.", - "example": "candidate type" - }, - "identifier": { - "type": "string", - "description": "The id of a candidate.", - "example": "candidate id" - }, - "assignmentInfo": { - "type": "array", - "items": { - "$ref": "#/definitions/AssignmentInfo" - }, - "description": "Additional information related to a candidate." - } - } - }, - "AssignmentInfo": { - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string", - "description": "An attribute name", - "example": "attribute name" - }, - "value": { - "type": "string", - "description": "An attribute value.", - "example": "attribute value" - } - } - }, - "LicenseSolution": { - "type": "object", - "required": [ - "resourceModuleName", - "serviceResourceId", - "entitlementPoolUUID", - "licenseKeyGroupUUID", - "entitlementPoolInvariantUUID", - "licenseKeyGroupInvariantUUID" - ], - "properties": { - "resourceModuleName": { - "type": "string", - "description": "A resource name as defined in a service", - "example": "resource name" - }, - "serviceResourceId": { - "type": "string", - "description": "A resource Id as defined in a service.", - "example": "resource Id" - }, - "entitlementPoolUUID": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "description": "A list of entitlementPoolUUIDs", - "example": "entitlementPoolUUID" - }, - "licenseKeyGroupUUID": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "description": "A list of licenseKeyGroupUUID.", - "example": "licenseKeyGroupUUID" - }, - "entitlementPoolInvariantUUID": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "description": "A list of entitlementPoolInvariantUUID", - "example": "entitlementPoolInvariantUUID" - }, - "licenseKeyGroupInvariantUUID": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "description": "A list of licenseKeyGroupInvariantUUID", - "example": "licenseKeyGroupInvariantUUID" - } - } - }, - "ServiceInfo": { - "type": "object", - "required": [ - "serviceInstanceId", - "modelInfo", - "serviceName" - ], - "properties": { - "serviceInstanceId": { - "type": "string", - "description": "A service instance id associated with a request.", - "example": "service_instance_id" - }, - "modelInfo": { - "$ref": "#/definitions/ModelMetaData" - }, - "serviceName": { - "type": "string", - "description": "The name of a service", - "example": "service_name" - } - } - }, - "PCIOptRequest": { - "type": "object", - "required": [ - "requestInfo", - "cellInfo" - ], - "properties": { - "requestInfo": { - "$ref": "#/definitions/RequestInfo" - }, - "cellInfo": { - "$ref": "#/definitions/CellInfo" - } - } - }, - "CellInfo": { - "type": "object", - "required": [ - "networkId", - "cellIdList", - "anrInputList", - "trigger" - ], - "properties": { - "networkId": { - "type": "string", - "description": "Id of network requiring PCI optimization", - "example": 100 - }, - "cellIdList": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of cellIds triggering need for PCI optimization (eg.potential confusion)", - "example": [ - "cell0001", - "cell0002" - ] - }, - "anrInputList": { - "type": "array", - "items": { - "$ref": "#/definitions/ANRInfo" - }, - "description": "A list of ANR Input." - }, - "trigger": { - "type": "string", - "description": "Type of trigger causing need for PCI optimization", - "example": "NbrListChange" - } - } - }, - "PCIAsynchronousResponse": { - "type": "object", - "required": [ - "requestId", - "transactionId", - "requestStatus", - "solutions" - ], - "properties": { - "requestId": { - "type": "string", - "format": "uuid", - "description": "A unique Id for an ONAP transaction", - "example": "ONAP transaction id" - }, - "transactionId": { - "type": "string", - "format": "uuid", - "description": "A unique ID to track multiple requests associated with a transaction.", - "example": "requests id" - }, - "statusMessage": { - "type": "string", - "description": "Reasoning if a requestStatus is failure.", - "example": "requestStatus" - }, - "requestStatus": { - "type": "string", - "enum": [ - "success", - "failure" - ], - "description": "The status of a request.", - "example": "success" - }, - "solutions": { - "$ref": "#/definitions/PCIANRSolutions" - } - } - }, - "PCIANRSolutions": { - "type": "object", - "required": [ - "networkId", - "pciSolutions", - "anrSolutions" - ], - "properties": { - "networkId": { - "type": "string", - "description": "Id of network requiring PCI optimization", - "example": 100 - }, - "pciSolutions": { - "type": "array", - "items": { - "$ref": "#/definitions/PCISolution" - }, - "description": "A list of PCI solutions." - }, - "anrSolutions": { - "type": "array", - "items": { - "$ref": "#/definitions/ANRInfo" - }, - "description": "A list of ANR solutions." - } - } - }, - "PCISolution": { - "type": "object", - "required": [ - "cellId", - "pci" - ], - "properties": { - "cellId": { - "type": "string", - "description": "cellId with modified PCI value", - "example": "cell0001" - }, - "pci": { - "type": "integer", - "description": "New PCI value for cellId", - "example": 1 - } - } - }, - "ANRInfo": { - "type": "object", - "required": [ - "cellId", - "removeableNeighbors" - ], - "properties": { - "cellId": { - "type": "string", - "description": "cellId with modified PCI value", - "example": "cell0001" - }, - "removeableNeighbors": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of neighbors to be removed", - "example": [ - "cell0002", - "cell0003" - ] - } - } - } - }, - "schemes": [ - "https" - ], - "host": "virtserver.swaggerhub.com", - "basePath": "/oof-osdf/v1" -}
\ No newline at end of file diff --git a/docs/sections/upgradestrategy.rst b/docs/sections/upgradestrategy.rst new file mode 100644 index 0000000..6357fac --- /dev/null +++ b/docs/sections/upgradestrategy.rst @@ -0,0 +1,22 @@ +.. + This work is licensed under a Creative Commons Attribution 4.0 + International License. + +================ +Upgrade Strategy +================ + +OSDF can be upgraded in place(remove and replace) or in a blue-green +strategy. + +There is no need for database migration. Since, there is no database +being used by OSDF. + +Supporting Facts +================ + +OSDF is a stateless component. It doesn't store any information in the +database. It holds on to the optimization request in memory only until +the optimization process is complete. The optimization is done either by +OSDF itself or other external components(such as HAS) are leveraged for +optimization. |