...
What is this release trying to address?
AAF trying to address the secured communication threw certificate management & token based Authentication,AuthorizationBeijing established enhanced capabilities and components, built in ONAP methodologies and instantiating with ONAP defined deployment strategies. In Casablanca, the goal is to enable AAF to provide these capabilities as infrastructure utilized by ONAP entities by establishing Authenticated and Authorization Development and Deployment of ONAP Test environments, as well as being a tool for groups to deploy. The special emphasis for Casablanca is to unify the x509 Trust Structures, allowing both real-time and development-time communications to be 2-way x509 wherever possible, and to establish easy-to-deploy security credentials for ONAP Components and People.
Use Cases
The existing Beijing use cases are still going to be supported
Minimum Viable Product
The minimum viable product we are targeting is integrating AAF with multiple ONAP applications and perform secured transactions. using CA.supported.
AAF Team will provide an ONAP focused CADI Client in Java to make App-to-App communications consistent.
AAF Team will provide a standard "Authz Enforcement Point" in Java both for realtime Authorization of Access, but also as a stepping point to longer term security goals and improvements.
AAF Team will start the process of researching and creating a CADI Client in Python
AAF Team will start the process of researching an "Authz Enforcement Point" in Python
AAF Team will continue to improve its standing as a security component within ONAP by adhering and improving on ONAP measures.
Minimum Viable Product
AAF is already a Viable Product as of Beijing. Casablanca is focused on allowing ONAP Apps to utilize AAF for their Authentication and Authorization needs both in terms of Development, but also Realtime modes.
Functionalities
List the functionalities that this release is committing to deliver by providing a link to JIRA Epics and Stories. In the JIRA Priority field, specify the priority (either High, Medium, Low). The priority will be used in case de-scoping is required. Don't assign High priority to all functionalities.
...
Deliverable Name | Deliverable Description |
---|---|
AAF integration with Appc | AAF Git repository |
AAF source code | AAF Git repository |
AAF library | ONAP Nexus repository |
AAF API description | ONAP wiki |
AAF Release Notes | ONAP wiki |
AAF Documentation | AAF Git repository |
Sub-Components
AAF already delivers
- AAF Service
- AAF Location
- AAF OAuth2
- AAF GUI
- AAF Certificate Manger
- AAF FS (File server for public component access)
- AAF Hello - OAuth2 testable Service, for helping developers learn.
- CADI Framework (Clients and tools)
- CMAgent - Certificate Deployment Tool
These will be improved upon in the context of ONAP.
Architecture
High level architecture diagram
...
List the API this project is expecting from other projects.
Prior to Release Planning review, Team Leads must agreed on the date by which the API will be fully defined. The API Delivery date must not be later than the release API Freeze date.Prior to the delivery date, it is a good practice to organize an API review with the API consumers.
Note: AAF is a resource to other ONAP components
API Name
API Description
API Definition Date
API Delivery date
API Definition link (i.e.swagger)
None None None None None Required elements of Environment:
Certificate Authority (AAF currently accesses with SCEP). It is expected that EVERY organization will have one.
DNS - TLS protocols require a DNS to validate FQDI. it is expected that EVERY organization will have one.
Organizational information to establish hierarchy for Authorization (think ILM or Organizational Hierarchy, minimally expressed a file, but better if tied to Organizations' internals.
API Outgoing Dependencies
API this project is delivering to other projects.
API Name
API Description
API Definition Date
API Delivery date
API Definition link (i.e.swagger)
ProvisiningProvisioning API for creating,deleting and listing the administrative objects (exists) Aug 02 2017 March 08 2018 AAF API Admin API API for the admin access (exists) Aug 02 2017 March 08 2018 AAF API CADI CADI ( CODE ACCESS DATA IDENTITY) Aug 02 2017 March 08 2018 AAF API Third Party Products Dependencies
Third Party Products mean products that are mandatory to provide services for your components. Development of new functionality in third party product may or not be expected.
List the Third Party Products (OpenStack, ODL, RabbitMQ, ElasticSearch,Crystal Reports, ...).Name
Description
Version
Docker Container engine 1.7 Cassandra database container 3.11 In case there are specific dependencies (Centos 7 vs Ubuntu 16. Etc.) list them as well.
Testing and Integration Plans
- Unit test: Unit tests has at least 50% code coverage.
- Functional test: Leverage the robot framework infrastructure to provide the functional test.
- Integration test: Support integration team to provide the end to end integration test.
- All the above should be automation tests run on the LF Jenkins Infrastructure.
...