Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: This was a test.

Table of Contents

How to Contribute

  1. Ensure you're able to run the existing code in your own development environment.
  2. Create a descriptive GitHub issue that outlines what feature you plan to contribute.
  3. Clone the repository, and start from the most recent version of the develop branch.
  4. Name your branch using the Github issue number as a prefix along with a brief name that corresponds to your feature (e.g., 8-how-to-contribute).
  5. Once satisfied with your completed and tested work, submit a pull request against the develop branch so that your code can be reviewed by the team.

Notes:

  • Do not create a pull request against the master branch. The master branch is considered the production branch and must always remain stable. The master branch is periodically updated from the contents of the develop branch at the conclusion of a development cycle.
  • Do not put any content (css, js, images, etc.) in the main static directory, instead create a directory named static in your app that can be imported into the main static directory using the manage.py collectstatic call.
  • Use clear and concise naming conventions for apps, classes, functions, variables, etc. Ideally others will be able to reuse your work, and the more clear and concise your code is, the easier it is to reuse it.
  • Include easy to understand documentation and complete unit/functional tests for each new feature being introduced to the project. (pytest is the recommended framework to use for testing).

AW-SDX Data Model

System

Each domain, proxied by the customized SDX-LC who communicates between the SDX-controller and the domain (1) provisioning system (eg, Kytos) and (2) monitoring system (BAPM).

Topology Models

In the whole SDX system, two types of topology models are needed:

Domain substrate description model

It's used by the intra-domain prvisioning system.

Domain declaration/advertisement model

Based on the information from the domain provisioning system, tt's abstracted/generated/passed by the SDX-LC to the SDX-controller for inter-domain topology assembly to support (a) inter-domain path computation; and (b) inter-domain path monitoring and reconfiguration. It would consist of three types of information: (1) Topology abstraction; (2) network resources available for inter-domain connections and their QoS metrics (eg, bw, latency, packet loss, vlan ranges, etc); (3) switching capability (eg, vlan, Q-in-Q, etc).

There is a service attribute in the topology object, which is an object that describes domain service meta information like owner, provisiong system, and security features.

Domain topology and state update

Topology update:

On the events of addition, removal, and/or maintenance of ports, nodes, links, an updated domain topology with version and timestamp needs to be sent to the LC and subsequently the SDX controller. A new topology object is supposed to be generated and passed on to the SDX controller.

Topology link state update

This set of updates mainly come from the domain monitoring system which is supposed to stream periodical measurement information on the links, like bandwidth, latency, and packet loss. A new link object is supposed to generated and pass on to the SDX controller.

Topology description schemas

There are defined in the schema subfolder. Some attributes of each objects are requied (Can be found in the API definition) while some are optional. Two attributes are worth of mentioning: (1) In the service object, there is a vender attribute for the domain to list device vendors that are NOT in its domain, (2) in the topology, link, node, and port objects, there is an private attibute for the domain to list attributes that need to kept private.:wq

Usage

Running tests

Run tests with:

python -m pip install -r test-requirements.txt
python -m unittest

If you want to run some specific tests:

python -m unittest -v tests.test_topology_handler
python -m unittest -v tests.test_topology_validator

Install

pip install -r requirements.txt
pip install -e .

Accompanying AW-SDX Projects

Release files for sdxdatamodel 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sdxdatamodel 0.0.1
File Size Uploaded
sdxdatamodel-0.0.1.tar.gz 128.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sdxdatamodel 0.0.1
File Interpreter ABI Platform
sdxdatamodel-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 167.2 kB

Release files / sdxdatamodel-0.0.1.tar.gz

Download URL sdxdatamodel-0.0.1.tar.gz
Size 128.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ea2f371c1b63413103d7216d77910be9afaad9ce5185aab845880e8573a2ec09
BLAKE2b-256 checksum
How to use checksums
237c395b757b47a08a51a47aedec5a2cf11ff950fc9ebead70b78708aa00d64f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.0

Release files / sdxdatamodel-0.0.1-py3-none-any.whl

Download URL sdxdatamodel-0.0.1-py3-none-any.whl
Size 38.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b8a3335ae9a28e6f2c867cab0ffc33cdf6287b6daa861b8c6d696515ea61916
BLAKE2b-256 checksum
How to use checksums
3e75fdba5489ac644f08443acfa6f60f6195d752fb5c809973cbf8c7106a9f8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.0

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page