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.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.0.tar.gz (883.7 kB view details)

Uploaded Source

Built Distributions

evolved5g-0.8.0-py3.8.egg (327.8 kB view details)

Uploaded Source

evolved5g-0.8.0-py2.py3-none-any.whl (140.7 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for evolved5g-0.8.0.tar.gz
Algorithm Hash digest
SHA256 dbf842f713d65377d37f7c51dcb1db4662f0386f4a48f1e65702f959f9f035f9
MD5 55388148f25e59b522e86bc8220fd07a
BLAKE2b-256 1122d79959089dfc021ffe6bca412eebf35390725e101d4b0b0e32af2c33300c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for evolved5g-0.8.0-py3.8.egg
Algorithm Hash digest
SHA256 8f36c440f80f6c782c28e73c66c72040590f5ee94e29616a68349e930f4b780d
MD5 2865142bfffa1ecba7fcd1852b89532c
BLAKE2b-256 334e8aad9e298bcf5ab5715a7eb534f992dcb7dd4d3045e4fdbfc5e0f1d789c3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for evolved5g-0.8.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e89257b58f6456dbddf1a47be2a26a7d9cc60cab5a0b85b107726139529d35b7
MD5 a76a4e70ae00289bd75a628ef3302d16
BLAKE2b-256 5d7cfd69e5dc279115caa433f55edfd54acb71b4bf3f998228ac1ff93889666e

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