Commit a4e1490d authored by Andrea Sgambelluri's avatar Andrea Sgambelluri
Browse files

P2MP with alarm monitoring and autonomous service recovery. Covers ECOC2025 and ECOC2026 demo.

parents
Loading
Loading
Loading
Loading

.dockerignore

0 → 100644
+31 −0
Changes for .dockerignore: 31 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Avoid including these folders when building the components
.git/
.gitlab/
.github/
.vscode/
coverage/
data/
deploy/
ecoc22/
hackfest/
manifests/
nfvsdn22/
oeccpsc22/
ofc22/
ofc23/
scripts/
tmp/

.gitattributes

0 → 100644
+7 −0
Changes for .gitattributes: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
*.tar filter=lfs diff=lfs merge=lfs -text
*.tar.gz filter=lfs diff=lfs merge=lfs -text
src/tests/ofc24/or/*.tar filter=lfs diff=lfs merge=lfs -text
src/tests/PMPv1/xr_control/*.tar.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.csv filter=lfs diff=lfs merge=lfs -text
*.pcap filter=lfs diff=lfs merge=lfs -text

.gitignore

0 → 100644
+200 −0
Changes for .gitignore: 200 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
.my_venv/
# requirements.txt  # removed to enable tracking versions of packages over time

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
.manifest/
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coveragerc
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
.benchmarks/
cover/
*_report.xml

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
**/target/*
!**/target/generated-sources/
!**/target/kubernetes/
**/target/kubernetes/kubernetes.json
!**/target/kubernetes/kubernetes.yml

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# PyCharm
.idea/

# pyenv
#   For a library or package, you might want to ignore these files since the code is
#   intended to run in multiple environments; otherwise, check them in:
.python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if having platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install dependencies that don't work, or not
#   install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# VSCode project settings
.vscode/
.github/

# Visual Studio project settings
/.vs

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# Other
/tmp
.github
coverage/

# Sqlite
*.db

#temp files to test telemetry
src/telemetry/backend/tempFiles/
# TeraFlowSDN-generated files
tfs_runtime_env_vars.sh
tfs_runtime_env_vars*.sh
tfs_bchain_runtime_env_vars.sh
delete_local_deployment.sh
local_docker_deployment.sh
local_k8s_deployment.sh

# asdf configuration
.tool-versions

# libyang build files
libyang/

# Other logs
**/logs/*.log.*
*.tar

.gitlab-ci.yml

0 → 100644
+77 −0
Changes for .gitlab-ci.yml: 77 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


# stages of the cicd pipeline
stages:
  #- dependencies
  - build
  - unit_test
  - end2end_test

variables:
  CI_IMAGE_TAG: "candidate-${CI_COMMIT_SHORT_SHA}"
  TFS_REGISTRY_IMAGES: "${CI_REGISTRY_IMAGE}"
  TFS_IMAGE_TAG: "candidate-${CI_COMMIT_SHORT_SHA}"
  TFS_SKIP_BUILD: "YES"

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)'
      when: always
    - when: never

# include the individual .gitlab-ci.yml of each micro-service and tests
include:
  #- local: '/manifests/.gitlab-ci.yml'
  - local: '/src/monitoring/.gitlab-ci.yml'
  - local: '/src/nbi/.gitlab-ci.yml'
  - local: '/src/context/.gitlab-ci.yml'
  - local: '/src/device/.gitlab-ci.yml'
  - local: '/src/service/.gitlab-ci.yml'
  - local: '/src/qkd_app/.gitlab-ci.yml'
  - local: '/src/dbscanserving/.gitlab-ci.yml'
  - local: '/src/opticalattackmitigator/.gitlab-ci.yml'
  - local: '/src/opticalattackdetector/.gitlab-ci.yml'
  - local: '/src/opticalattackmanager/.gitlab-ci.yml'
  - local: '/src/opticalcontroller/.gitlab-ci.yml'
  - local: '/src/ztp/.gitlab-ci.yml'
  - local: '/src/policy/.gitlab-ci.yml'
  - local: '/src/automation/.gitlab-ci.yml'
  - local: '/src/forecaster/.gitlab-ci.yml'
  - local: '/src/webui/.gitlab-ci.yml'
  #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml'
  #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml'
  #- local: '/src/l3_attackmitigator/.gitlab-ci.yml'
  #- local: '/src/slice/.gitlab-ci.yml'
  #- local: '/src/interdomain/.gitlab-ci.yml'
  - local: '/src/pathcomp/.gitlab-ci.yml'
  #- local: '/src/dlt/.gitlab-ci.yml'
  - local: '/src/load_generator/.gitlab-ci.yml'
  - local: '/src/bgpls_speaker/.gitlab-ci.yml'
  - local: '/src/kpi_manager/.gitlab-ci.yml'
  - local: '/src/kpi_value_api/.gitlab-ci.yml'
  #- local: '/src/kpi_value_writer/.gitlab-ci.yml'
  #- local: '/src/telemetry/.gitlab-ci.yml'
  - local: '/src/analytics/.gitlab-ci.yml'
  - local: '/src/qos_profile/.gitlab-ci.yml'
  - local: '/src/vnt_manager/.gitlab-ci.yml'
  - local: '/src/e2e_orchestrator/.gitlab-ci.yml'
  - local: '/src/ztp_server/.gitlab-ci.yml'
  - local: '/src/osm_client/.gitlab-ci.yml'
  - local: '/src/simap_connector/.gitlab-ci.yml'
  - local: '/src/pluggables/.gitlab-ci.yml'

  # This should be last one: end-to-end integration tests
  - local: '/src/tests/.gitlab-ci.yml'
+38 −0
Changes for .gitlab/issue_templates/bug.md: 38 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Reporters
- name-of-proposer-1 (institution-of-proposer-1)
- name-of-proposer-2 (institution-of-proposer-2)
...

# Description
Describe the bug.
If needed, Attach logs and reports to your bug.
If needed, feel free to point external content as references (journal paper, Youtube video, etc.).

## Deployment environment
- Operating System (include version):
- MicroK8s (include version and add-ons):
- TeraFlowSDN (include release/branch-name/commit-id):

## TFS deployment settings
- list of components deployed
- particular configurations you applied
- any other particularity you might find important

## Sequence of actions that resulted in the bug
- be explicit and enumerate each step.
- if possible, include example calls, request files, descriptor files, etc.

## Document the explicit error
- include the traceback of the error
- include the log files of the components / scheenshoots of WebUI (attached files)
- if known, include the list of TFS components affected by the bug

## Expected behaviour
- describe the expected behavior (if you know it)

## Acknowledgements
This work is funded by <FUNDING-ORGANISM> through the <CALL-NAME> <PROJECT-ACHRONYM> project with <PROJECT-ID/REFERENCE>.

# References
1. [Reference name](https://reference-url)
2. Author1, Author2, Author3, et. al., “My demo using feature,” in Conference-Name Demo Track, 20XX.
Loading