Skip to main content

Evolved5G CLI prototype

Project description


Evolved5G CLI & SDK


.. image:: https://img.shields.io/pypi/v/evolved5g.svg :target: https://pypi.python.org/pypi/evolved5g

.. image:: https://readthedocs.org/projects/evolved5g_cli/badge/?version=latest :target: https://evolved5g_cli.readthedocs.io/en/latest/?version=latest :alt: Documentation Status

  • Free software: Apache Software License 2.0

======== Features

  • Generate a new python NetApp from a template
  • Assist in connecting the new NetApp & repo with EVOLVED-5G CI/CD pipeline
  • SDK Libraries for interacting with the 5G-API
  • Assist in running verification pipelines for NetApps

================== Useful Information

The purpose of this guide is to help developers, in the EVOLVED-5G project scope, to develop a NetApp.

First, the partner to be interested in developing a NetApp must send an email to approval@evolved-5g.eu to receive access to the GitHub organization.

The email must contain the GitHub username to be added to the GitHub organization.

You will receive an invitation which you will have to accept in order to have owner permissions in this organisation, which can be found here: https://github.com/EVOLVED-5G

Once the developer has access to the organisation, he will want to create a new repository from a template. To do this, a template repository has been created and will be visible in the organisation, which contains a tool called Cookiecutter along with some Python scripts. With such scripts, the developer will be asked to introduce some inputs necessary in order to create a new repository, such repository will contain all the necessary folder and files for the creation/development of a NetApp.

First of all, in order to be able to work with Cookiecutter, it is mandatory to install it on your local computer or virtual machine. Below are the commands that should be executed to work with Cookiecutter (these commands have been tested under Ubuntu, but it is also possible to use this tool on Windows and Mac (to be checked)).

This guide has been developed to work with Ubuntu OS, so all the commands have been only tested under Ubuntu, if other OS will be used, please have in mind some of this command will differ.

To install and use the tool, please refer to:

======= History

0.8.6 (2022-11-23)

Update of the SDK library, on how the CAPIF endpoints are constructed. When connecting to CAPIF if standard ports are used (80,443) we now don't include them to the capif url/endpoint

(ex. https://capifcore/register instead of https://capifcore:443/register)

(ex. http://capifcore/register instead of http://capifcore:80/register)

If non standard ports are used (ex. 8080) then they are included in the capif url/endpoint (ex.http://capifcore:8080/register)

0.8.5 (2022-10-27)

  • Update of the SDK library to be compatible with the latest release of NEF v1.6.1

0.8.4 (2022-10-27)

  • The SDK Library now communicates first with CAPIF server in order to discover the NEF endpoints

0.8.3 (2022-10-17)

  • News SDK Library CAPIFExposerConnector, that allows exposers to register to CAPIF and publish services
  • New CLI command evolved5G register-and-onboard-to-capif that allows NetApps to register their NetAPP to CAPIF via the command line

0.8.2 (2022-10-14)

  • Bug fix on import CAPIFConnector class from sdk

0.8.1 (2022-10-12)

  • New class at the Libraries: CAPIFConnector. Used in the CLI in order to onboard a netApp to CAPIF server
  • New class at the Libraries: ServiceDiscoverer. Used by developers in order to discover services (endpoints) via the CAPIF server
  • Bug fix on LocationSubscriber get_location_information()

0.8.0 (2022-09-23)

  • New verification tests have been implemented. Such verification tests are related to NetApp code and NetApp container image analysis.
  • The execution of the verification tests has been also simplify

0.7.9 (2022-09-22)

  • Improvement at QosAwareness, for Guaranteed Bit Rate. Up to now, you could ask the 5G Network to send you notification when specific parameters of the QoS session cannot be guaranteed. For example a minimum 5ms delay at uplink. This notification was sent exactly once, when the environment has changed: For example when a minimum 5ms delay at uplink cannot be guaranteed, or when the a minimum 5ms delay at uplink has been established and can be guaranteed. Method create_guaranteed_bit_rate_subscription() has breaking changes. See below the change:

    .. code-block:: :caption: Method signature create_guaranteed_bit_rate_subscription should be changed

      subscription = qos_awereness.create_guaranteed_bit_rate_subscription(
          ...
          wait_time_between_reports=10
          ...)
    
      Should be replaced by:
    
      subscription = qos_awereness.create_guaranteed_bit_rate_subscription(
          ...
          reporting_mode= QosAwareness.EventTriggeredReportingConfiguration(wait_time_in_seconds=10)
          ...)
    
  • New SDK Class, ConnectionMonitor: Consider a scenario where a NetApp wants to monitor 100 devices in the 5G Network. The netapp wants to track, at any given time how many NetApps are connected to the 5G Network and how many netApps are disconnected.Using ConnectionMonitor the NetApp can retrieve notifications by the 5G Network for individual devices when Connection is lost (for example the user device has not been connected to the 5G network for the past 10 seconds) Connection is alive (for example the user device has been connected to the 5G network for the past 10 seconds)

  • The documentation about the usability has been updated.

0.7.8 (2022-09-02)

  • It has been improved the usability. It has been added a configuration file to create the NetApp repository, rather than using a prompt input.
  • Cleaning up the code.

0.7.7 (2022-07-04)

  • Updates on documentation

0.7.6 (2022-07-04)

  • Documentation has been updated accordingly
  • Changes and optimizations for SDK pipeline integration

0.7.5 (2022-06-14)

  • New build pipeline has been implemented
  • Documentation has been updated accordingly

0.7.4 (2022-05-27)

  • Check if the NetApp repository on which you want to run the pipeline exists on GitHub

0.7.3 (2022-05-09)

  • Bug fix on value LIVE_STREAMING of enum NonGBRQosReference.
  • Rename method at examples>api.py

0.7.2 (2022-04-01)

  • LocationSubscriber now has a new method get_coordinates_of_cell() that allows a developer to retrieve the location of a cell, given the cell id.

0.7.1 (2022-03-14)

  • Update deploy and destroy pipelines.

0.7.0 (2022-02-28)

  • Adding manage exceptions features and documentation update.

0.6.9 (2022-02-23)

  • Improvement for check-pipeline function

0.6.8 (2022-02-03)

  • Changed Template repository location fode to NetApp Template

  • Update on the NEF endpoints for monitoring event api and session with Qos. This ensures compatibility with latest NEF release

0.6.2 (2022-01-28)

  • Improvements on LocationSubscriber. A new method has been implemented with name get_location_information

With the new method the net app developer has the option to request for location information for a device just once. No need to create subscriptions or maintain a local web server in order to get notified for location changes. When a call to get_location_information is made, the 5G-API responds instantly with the location information (the cell id the device, that is being monitored, is connected to)

  • Examples of usages have been updated File location_subscriber_examples.py now showcases how the new method can be called

0.6.1 (2022-01-26)

  • Added Pypi functionality to automate generate a new SDK pip package

0.6.0 (2021-06-12)

  • Added QoSAwareness to SDK. A class that allows to establish and monitor Non-GBR and GBR QoS targets
  • Support for the latest version of NEF (v1.2.0)
  • LocationSubscriber now only requires an external_id as user equipment identifier. IP_4 and IP_V6 have been removed from method create_subscription()

0.5.1 (2021-03-11)

  • Added class LocationSubscriber to SDK. A class that allows to get location monitoring reports from the 5G-API
  • Clean-up the code
  • New cli_helper.py class created to improve the code
  • cli.py class updated for better practices
  • Added new command options to interact with the pipelines

0.1.9 (2021-20-09)

  • Added version option to CLI
  • Changed 'generate' command to point to EVOLVED-5G/template at Github
  • Added template option to point to your user's template. Used in tests by default pointing at skolome/netapp-ckcutter-template

0.1.4 (2021-17-09)

  • Added documentation to "generate" command
  • Added documentation to readthedocs

0.1.1 (2021-07-08)

  • Generate command more fleshed out
  • Added more detailed pytests

0.1.0 (2021-06-30)

  • First prototype implementation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evolved5g-0.8.6.tar.gz (890.1 kB view details)

Uploaded Source

Built Distributions

evolved5g-0.8.6-py3.8.egg (341.3 kB view details)

Uploaded Source

evolved5g-0.8.6-py2.py3-none-any.whl (146.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file evolved5g-0.8.6.tar.gz.

File metadata

  • Download URL: evolved5g-0.8.6.tar.gz
  • Upload date:
  • Size: 890.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for evolved5g-0.8.6.tar.gz
Algorithm Hash digest
SHA256 672aba0e36980f088bb69a1d9a63e19b236c32c36e340723b2bcab12da0615ae
MD5 8a89135d5196dfda51c3bc45401354ff
BLAKE2b-256 3fb6a88958751c4dc59d8671f2e0937673f46b27cfb32244600f612dc17832ac

See more details on using hashes here.

File details

Details for the file evolved5g-0.8.6-py3.8.egg.

File metadata

  • Download URL: evolved5g-0.8.6-py3.8.egg
  • Upload date:
  • Size: 341.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for evolved5g-0.8.6-py3.8.egg
Algorithm Hash digest
SHA256 0b4470e2a496d0d4c7e659d642ad834646da0cdeb15a423f8a35345e09f5fd12
MD5 f10b91b4f000a11d7bd0e1329866132a
BLAKE2b-256 f6f75cc6c5e34b628cfba48b029fe7badb6cc0bfae537c505d5adfc2d187d044

See more details on using hashes here.

File details

Details for the file evolved5g-0.8.6-py2.py3-none-any.whl.

File metadata

  • Download URL: evolved5g-0.8.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 146.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for evolved5g-0.8.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e47ce9dab90efbee61d50cebb1b2b18235ccf7cfe8e3b12bbfff8881069a3ccb
MD5 2c6d950d67cf5cf8885d0e194171d52a
BLAKE2b-256 567d2751ae684b5b1212784427d86b04afa601167a0675809ea504afe1198dd2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page