Skip to content

Commit

Permalink
Merge pull request #9 from atlanticwave-sdx/7.add-release-notes
Browse files Browse the repository at this point in the history
Add release notes
  • Loading branch information
sajith authored Nov 3, 2023
2 parents fbaf3b0 + bd5b83a commit 7c9e2ad
Show file tree
Hide file tree
Showing 3 changed files with 169 additions and 8 deletions.
4 changes: 2 additions & 2 deletions requirements.in
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
sphinx
sphinx-rtd-theme
sphinx > 7.2
sphinx-rtd-theme >= 1.3
15 changes: 10 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile requirements.in
# pip-compile --output-file=requirements.txt --strip-extras requirements.in
#
alabaster==0.7.13
# via sphinx
Expand All @@ -12,8 +12,10 @@ certifi==2023.7.22
# via requests
charset-normalizer==3.3.2
# via requests
docutils==0.19
# via sphinx
docutils==0.18.1
# via
# sphinx
# sphinx-rtd-theme
idna==3.4
# via requests
imagesize==1.4.1
Expand All @@ -30,23 +32,26 @@ requests==2.31.0
# via sphinx
snowballstemmer==2.2.0
# via sphinx
sphinx==6.2.1
sphinx==7.2.6
# via
# -r requirements.in
# sphinx-rtd-theme
# sphinxcontrib-applehelp
# sphinxcontrib-devhelp
# sphinxcontrib-htmlhelp
# sphinxcontrib-jquery
# sphinxcontrib-qthelp
# sphinxcontrib-serializinghtml
sphinx-rtd-theme==0.5.1
sphinx-rtd-theme==1.3.0
# via -r requirements.in
sphinxcontrib-applehelp==1.0.7
# via sphinx
sphinxcontrib-devhelp==1.0.5
# via sphinx
sphinxcontrib-htmlhelp==2.0.4
# via sphinx
sphinxcontrib-jquery==4.1
# via sphinx-rtd-theme
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.6
Expand Down
158 changes: 157 additions & 1 deletion source/sdx_release_notes_2.0.0.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,160 @@
.. Imported from the document at
https://docs.google.com/document/d/1gd_K6f4vlIr942qeWq8WjjFDHQ_uw42q0tPrjt4xI34/view
AtlanticWave-SDX 2.0 Release Notes
==================================

.. todo:: Write this.
Overview
--------

The AtlanticWave-SDX 2.0 project achieves its goals by providing a
standardized interface (SDX-LC) between the SDX Controller and different
OXPOs. This abstraction layer enables the SDX Controller to communicate
with various OXPOs using a consistent data model, regardless of the API
variations in other solutions.

Software Releases
-----------------

Sources of SDX Controller, SDX-LC, and the libraries they use (pce and
datamodel) are available at GitHub:

- https://github.com/atlanticwave-sdx/sdx-controller/releases/tag/2.0.0
- https://github.com/atlanticwave-sdx/sdx-lc/releases/tag/2.0.0
- https://github.com/atlanticwave-sdx/pce/releases/tag/2.0.0
- https://github.com/atlanticwave-sdx/datamodel/releases/tag/2.0.0

Docker images are available too::

$ docker pull awsdx/sdx-lc:2.0.0
$ docker pull awsdx/sdx-controller:2.0.0

Components
----------

- Open eXchange Points (OXPs): Open eXchange Points (OXPs) facilitate
data exchange between networks.

- Each OXP consists of two essential elements:

+ Network Orchestrator (OXPO): Automated network configuration,
flow, and traffic engineering policies.

+ SDX Local Controller (SDX-LC): Acts as a bridge between the OXPO
and the centralized SDX Controller.

OXPO Selection
--------------

- Each OXP's network operation team independently defines and manages
its OXPO.

- Different OXPOs are integrated into the AtlanticWave-SDX ecosystem.

- AmLight Open Exchange Point (OXP) leverages the Kytos-ng
Software-Defined Networking (SDN) platform.

- SAX OXP deploys OESS 2.0 for network orchestration, not included in
this release.

Inter-Domain Provisioning
-------------------------

- OXPs open their interfaces to accept provisioning requests and
export topology updates.

- SDX-LC uses each OXPO's API to retrieve topological information and
push provisioning requests.

SDX-LC Functionality
--------------------

The SDX-LC module facilitates the translation of instructions from the
data model of the centralized SDX Controller to the API of each OXPO. It
simplifies the communication process and ensures compatibility with
existing APIs.

OXPO API Variations
-------------------

- Different OXPOs may have variations in their interfaces.

- Kytos-ng provide APIs for exporting topological data and receiving
service provisioning requests.

System Design
-------------

- The system design integrates Kytos-ng OXPOs with SDX-LC.

- Three approaches are considered for gathering topology data
depending on OXPO support for the AW-SDX 2.0 Topology Data Model
specification. First approach is part of this release:

- The OXPO supports the AW-SDX 2.0 Topology Data Model specification
and pushes the topology data to the SDX-LC OpenAPI interface

Additional Elements in SDX Topology
-----------------------------------

The SDX topology includes elements such as Name, Id, Timestamp, and
Version control for better management and versioning.

MEICAN Integration
------------------

- MEICAN web application offers support to create circuits.

- It retrieves and maps topology information from the SDX-Controller
endpoint.

- ORCID/CI Login Authentication is introduced for users.

- The framework supports adding user permissions based on roles.

API Testing
-----------

- API testing ensures functional accuracy, security, performance,
contract compliance, and system reliability.

- Various types of tests, including unit tests, functional tests,
integration tests, and end-to-end tests, are conducted to validate
the system's behavior and functionality.

GitHub Setup
-------------

- The GitHub repository "sdx-continuous-development" contains
submodules for integrating components like Kytos-ng, OXPOs, SDX-LC,
SDX Controller, and Meican.

- The environment setup script configures the host machine with
necessary tools.

Building the Environment
------------------------

Commands are provided to build the Kytos-ng components, OXPOs, and
MongoDB container.

Applying Patches
----------------

The repository may require patches for specific configurations or bug
fixes.

Running the Integration
-----------------------

- Docker Compose is used to orchestrate the system, running containers
for Kytos-ng, SDX-LC, MongoDB, Mininet, and RabbitMQ.

- These release notes provide an overview of the AtlanticWave-SDX 2.0
project, its components, system design, and testing procedures.
They highlight the integration of various OXPOs, Meican, and the
importance of API testing for system reliability and
functionality. The GitHub setup and environment building steps are
also detailed.

0 comments on commit 7c9e2ad

Please sign in to comment.