diff --git a/doc/releasenotes.md b/doc/releasenotes.md index b0a7aada77e9be8c1053d08b6088476eaac7637c..f5c24db0ad88622e14ab505538440527e8c4f57b 100644 --- a/doc/releasenotes.md +++ b/doc/releasenotes.md @@ -2,42 +2,72 @@ ### **New Features** -#### 3GPP CAPIF release 18 +#### **Upgrade code to 3GPP CAPIF release 18** - New endpoints included in new release 18 with new logic. -- New logic to support ***Vendor Extensibility*** on Publish Service. -- New logic to support ***API Status*** feature on Publish and Events Services. -- Supported Features now are mandatory for all POST and PUT Requests as is described on TS 29.222. - - **Possible Breaking change**, all POST request now must include supported features attribute, default can me set to "0" to keep all features inactive. - - **Possible Breaking change** on Events API, if you need eventDetails information on notification you must activate **Enhanced Event Report** feature by setting properly the supported features flag. +- Supported Features now are mandatory for all POST and PUT Requests as is described on TS 29.222. To keep in mind: + - All POST/PUT request now must include ***Supported Features*** attribute, default can me set to ``0`` to keep all features inactive. + - On subscription to Event, if you need ***eventDetails*** information on notification you must activate ***Enhanced Event Report*** feature by setting properly the ***Supported Features*** flag. + +#### **Vendor Extensibility** + +- Publish API: + - On publishing a service API, **SupportedFeatures** is read and checked whether VendExt feature is enabled. + - When VendExt is enabled, vendor-specific fields are searched and stored in the db inside the ServiceAPIDescription object + - Vendor-specific fields are added according to the specific format: + ``` + "vendorSpecific-urn:<organization>:<field name>": { + "key1": "value1", + ... + "keyN": "valueN", + } + + e.g. + "vendorSpecific-urn:etsi:mec:capifext:transport-info": { + "name": "trasport1", + "description": "Transport Info 1", + "type": "REST_HTTP", + "protocol": "HTTP", + "version": "2", + "security": { + "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "tokenEndpoint": "https://token-endpoint/" + } + } + + where organization is "etsi:mec" and field name "capifext:transport-info" + ``` + +- Discover API: + - On Discover request **SupportedFeatures** is read and checked whether VendSpecQueryParams feature is enabled. + - When VendSpecQueryParams is enabled, vendor-specific query parameters are parsed + - Vendor specific query parameters are added on the GET request according to the following format: + ``` + https://{{CAPIF_HOSTNAME}}:{{CAPIF_PORT}}/{{DISCOVER_URL}}? + ... + vend-spec-<query parameter name>={ + "target": <string that contains the JSON pointer to the attribute in the resource representation>, + "value": <query parameter value> + } + + e.g. + https://{{CAPIF_HOSTNAME}}:{{CAPIF_PORT}}/{{DISCOVER_URL}}? + ... + vend-spec-type={ + "target": "/vendorSpecific-urn:etsi:mec:capifext:transport-info", + "value": "REST_HTTP" + } + ``` -### **Technical Debt Solved** #### **Api Status feature** +- New logic to support ***API Status*** feature on Publish and Events Services. - Events API: - Event internal notifications between services improved to accomplish specification. - - On event subscription **SupportedFeatures** is readed and stored in db to accomplish specification. + - On event subscription **SupportedFeatures** is read and stored in db to accomplish specification. - Also **SupportedFeatures** is checked before send event notification, in order to accomplish specification, sending **eventDetails** and related information according to ***enhanced_event_report*** and ***apiStatusMonitoring*** supported features activated. -#### **Issues** - -- Solved issue to get ready REDIS on deployment: REDIS scheduled on start to allow receive notification since service is deployed. -- Solved problem removing service APIs published is provider register more than one APF. -- Solved Superadmin problem deleting service API published through helper service if provider is not present. -- Increased the overall stability, fixing some corner cases. -- Location headers now are filled in same way at all services that needs it. -- Security issues solved. -- Base docker images present on ETSI registry. -- Robot image uploaded to ETSI Registry. - -#### Local Scripts - -- All scripts were reviewed and improved. -- New scripts to manage users on local deployment added: - - create_users.sh: helps developer to create new users in local deployment. - - remove_users.sh: helps developer to remove users from db in local deployment. - #### Remote Scripts New scripts developed to help on remote deployment, configuration and testing. All this script are stored under helm/scripts in capif repository. @@ -68,16 +98,41 @@ New scripts developed to help on remote deployment, configuration and testing. A - ***populate_create_remote_dummy_users.sh***: : Create Dummy providers and invokers, publish service APIs and creates security context for invokers. - ***populate_remove_remote_dummy_users.sh***: Remove dummy information created. - -### **Documentation** - -#### New test included on documentation +### **Testing** - New Vendor Extensibility test suite with 9 tests. [Api Events Service](./testing/testplan/vendor_extensibility/README.md) -- New [API Status feature](./testing/testplan/api_status/README.md) test suite. +- New [API Status feature](./testing/testplan/api_status/README.md) test suite with 20 tests. - Improved [Events test suite](./testing/testplan/api_events_service/README.md) with 8 new tests. - Test plan updated with default supported features for all request set to "0" (all inactive by default) [See common operations](./testing/testplan/common_operations/README.md). +### **Technical Debt Solved** + +#### **Issues** + +- Solved issue to get ready REDIS on deployment: REDIS scheduled on start to allow receive notification since service is deployed. +- Solved problem removing service APIs published is provider register more than one APF. +- Solved Superadmin problem deleting service API published through helper service if provider is not present. +- Increased the overall stability, fixing some corner cases. +- Location headers now are filled in same way at all services that needs it. +- Security issues solved. +- Base docker images present on ETSI registry. +- Robot image uploaded to ETSI Registry. + +#### Local Scripts + +- All scripts were reviewed and improved. +- New scripts to manage users on local deployment added: + - ***create_users.sh***: This script create users setup by parameters in local deployment.. Those users are created by administrator. + - ***remove_users.sh***: This script removes user in local deployment. + +### **Documentation** + +Regarding documentation: +- [Postman examples](./testing/postman/README.md) are updated, including flows. +- New tests are detailed descripted on [Test plan section](./testing/testplan/README.md) +- New [Contribute section](./contribute/). +- New [SDK Section](./sdk/sdk.md) + --- ## **Release 1.0.0** diff --git a/doc/sdk/sdk.md b/doc/sdk/sdk.md new file mode 100644 index 0000000000000000000000000000000000000000..2af0abc6b866e69883156869efa44fb409b87264 --- /dev/null +++ b/doc/sdk/sdk.md @@ -0,0 +1,5 @@ +# SDK + + +[OCF Web]: https://ocf.etsi.org/ "OCF Web" +[OCF Documentation]: https://ocf.etsi.org/documentation/ "OCF Documentation" diff --git a/mkdocs.yml b/mkdocs.yml index d50bd14b68b5cc9fcd45f0913832355d8fa2c649..2fbddd7a2ec3ef22304a873319140974e876e223 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -78,6 +78,8 @@ nav: - Architecture: architecture.md - Getting Started: - How to Run: ./gettingstarted/howtorun.md + - SDK: + - Introduction: ./sdk/sdk.md - Testing: - Test Plan: ./testing/testplan/README.md - Robot Framework: ./testing/robotframework/README.md