SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Open discussion on Test-Infra
Victor Morales
Samsung
• Project overview
• Miscellaneous folders
• e2e folder
• Pre-bake VM image
• Cloud CI management
• Sandbox provision
• Areas for improvement
• Extract Ansible Roles
• Implement KUTTL Framework
• Use Doc Detective tool
• Replace MetalLB for KinD cloud provider
• Use Ephemeral Docker image registry
Agenda
Project overview
Overview
https://github.com/nephio-project/test-infra/
Test Infrastructure provide tools and scripts to guarantee the proper
functionality of Nephio Components
• Provides scripts to install requirements used by the Test Cases
(ansible bootstrap role).
• Installs Nephio components (ansible install role).
• Contains a kpt Ansible module.
• Provisions a local/remote Nephio Sandbox through a Vagrantfile.
• Provides Terraform scripts utilized by CI.
• Stores Dockerfiles for CI artifacts.
• Contains bash scripts used during the execution of the End-To-End
testing.
Miscellaneous folders
GitHub PR templates (eventually GitHub actions)
Images used by the Wiki
Docker image definitions for CI artifacts
Prow configuration
Python scripts for dependabot and release GitHub actions
e2e folder – Pre-bake VM image
Call for action:
• Expose “nephio-pre-baked-*” images
for consumption
• Implement cleanup procedure to
avoid cloud costs
CI Workflow overview
init.sh
install_sandbox.sh
e2e.sh
e2e folder – Cloud CI mgmt.
https://github.com/nephio-project/test-infra/blob/main/e2e/terraform/modules/gcp/main.tf#L103
CI Workflow overview
init.sh
install_sandbox.sh
e2e.sh
e2e folder – Sandbox provision (1/3)
https://github.com/nephio-project/test-infra/blob/main/e2e/provision/install_sandbox.sh
CI Workflow overview
init.sh
install_sandbox.sh
e2e.sh
e2e folder – Sandbox provision (2/3)
Provides two main Ansible roles:
1. bootstrap – Validate host requirements, loads
kernel modules, creates a KinD management
cluster, installs gitea, resource-backend, cluster-
api, cert-manager and metalLB packages in
parallel.
2. install – Provides a local or remote installation of
the Nephio components in parallel.
Integration testing
kpt ansible
module
CI Workflow overview
init.sh
install_sandbox.sh
e2e.sh
e2e folder – Sandbox provision (3/3)
https://github.com/nephio-project/test-infra/blob/main/e2e/e2e.sh
Test cases resources
Areas for improvement
Checkpoint/Restore KinD containers
Provide Nephio management checkpoints for fasters startups
https://criu.org
$ docker checkpoint create kind-nephio 20240105
https://packages.ubuntu.com/jammy/criu
https://packages.fedoraproject.org/pkgs/criu/criu/
Pros Cons
Avoid cold starts Experimental feature
Ubuntu 22.04+ and
Fedora38+ packages
Reutilization of code
Extract Ansible Roles
The following Ansible role needs their own repository:
• https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/bootstrap
• https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/install
• https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/kpt
• https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/upgrade
Pros Cons
Major visibility kpt Ansible module dependency
Faster development cycles Complex troubleshooting
Reutilization of code
Implement KUTTL Framework (1/2)
Replace the bash scripts for the KUbernetes Test TooL
(https://kuttl.dev/) framework for validation of Test
Cases (Free5Gc & OAI)
• https://github.com/nephio-project/test-infra/tree/main/e2e/tests/free5gc
• https://github.com/nephio-project/test-infra/tree/main/e2e/tests/oai
Pros Cons
KRM testing approach Learning curve
Easy to declare the expected state KREW plugin requirement
Reduce instructions and
complexity
https://github.com/nephio-
project/nephio/issues/593
Implement KUTTL Framework (2/2)
https://github.com/electrocucaracha/nephio-
pocs/commit/7a26a9a712d4e4049921c7ae5b9aee9175017c7d
Use Doc detective tool
Docs as Tests (https://www.docsastests.com/) seems
to offer a new approach to keep documentation
synchronized with the changes on the project. The
Doc Detective (https://doc-detective.com/) tool may
provide a simple and easy solution to be
implemented.
Pros Cons
Easy way to keep docs and tests in
sync
Learning curve
Non-intrusive tool Requires further investigation
(requirements and License)
Replace MetalLB for KinD cloud provider
Kubernetes Cloud Provider for KIND (https://sigs.k8s.io/cloud-provider-kind ) mimics
the functionality offered by CSPs. This project could benefit the Nephio Sandbox.
Pros Cons
Reduces components on
the Nephio management
cluster
Early stages of the tool
Simulates a more realistic
scenario
Dynamic IP allocation configured
on Docker
default_address_pools
https://github.com/electrocucaracha/nephio-pocs/commit/7643a4faaeb1c7b0db77440e7f4519fe9115e320
Use Ephemeral Docker image registry
We can use a Ephemeral Docker image registry in
the CI (http://ttl.sh/ ) to replicate CI environments
locally
Pros Cons
Sharing temporal Docker images External service (increase network traffic or
delays)
Delegates the responsibility to
manage temporal build images
Additional dependencies
More ideas?

Mais conteúdo relacionado

Semelhante a Open Discussion: Nephio Test-infra project

CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
 
Containerising bootiful microservices javaeeconf
Containerising bootiful microservices javaeeconfContainerising bootiful microservices javaeeconf
Containerising bootiful microservices javaeeconfIvan Vasyliev
 
AirGap_zusammen_neu.pdf
AirGap_zusammen_neu.pdfAirGap_zusammen_neu.pdf
AirGap_zusammen_neu.pdfLibbySchulze
 
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-stepSetting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-stepOleg Chunikhin
 
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-stepSetting up CI/CD Pipeline with Kubernetes and Kublr step by-step
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-stepKublr
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureAdrian Otto
 
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦Yoichi Kawasaki
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersLakmal Warusawithana
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersImesh Gunaratne
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker budMandi Walls
 
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) 給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) William Yeh
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIalexanderkiel
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshCodefresh
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with KubernetesSatnam Singh
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_kanedafromparis
 

Semelhante a Open Discussion: Nephio Test-infra project (20)

CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 
Containerising bootiful microservices javaeeconf
Containerising bootiful microservices javaeeconfContainerising bootiful microservices javaeeconf
Containerising bootiful microservices javaeeconf
 
AirGap_zusammen_neu.pdf
AirGap_zusammen_neu.pdfAirGap_zusammen_neu.pdf
AirGap_zusammen_neu.pdf
 
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-stepSetting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
 
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-stepSetting up CI/CD Pipeline with Kubernetes and Kublr step by-step
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 
ConcourseCi overview
ConcourseCi  overviewConcourseCi  overview
ConcourseCi overview
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) 給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Docker based-Pipelines with Codefresh
Docker based-Pipelines with CodefreshDocker based-Pipelines with Codefresh
Docker based-Pipelines with Codefresh
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_
 

Mais de Victor Morales

KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with Nephio
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with NephioCCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with Nephio
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with NephioVictor Morales
 
Tips and tricks for contributing to an Open Source project.pptx
Tips and tricks for contributing to an Open Source project.pptxTips and tricks for contributing to an Open Source project.pptx
Tips and tricks for contributing to an Open Source project.pptxVictor Morales
 
Understanding the Cloud-Native origins.pptx
Understanding the Cloud-Native origins.pptxUnderstanding the Cloud-Native origins.pptx
Understanding the Cloud-Native origins.pptxVictor Morales
 
Deciphering Kubernetes Networking
Deciphering Kubernetes NetworkingDeciphering Kubernetes Networking
Deciphering Kubernetes NetworkingVictor Morales
 
Removing Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsRemoving Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsVictor Morales
 
Understanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeUnderstanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeVictor Morales
 
How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...Victor Morales
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creationVictor Morales
 
Kubernetes fundamentals
Kubernetes fundamentalsKubernetes fundamentals
Kubernetes fundamentalsVictor Morales
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentalsVictor Morales
 
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Victor Morales
 
Reference CNF development journey and outcomes
Reference CNF development journey and outcomesReference CNF development journey and outcomes
Reference CNF development journey and outcomesVictor Morales
 
Kubernetes Resources Allocation
Kubernetes Resources AllocationKubernetes Resources Allocation
Kubernetes Resources AllocationVictor Morales
 
ONAP MultiCloud/K8s Casablanca
ONAP MultiCloud/K8s CasablancaONAP MultiCloud/K8s Casablanca
ONAP MultiCloud/K8s CasablancaVictor Morales
 
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...Victor Morales
 

Mais de Victor Morales (20)

KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with Nephio
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with NephioCCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with Nephio
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with Nephio
 
Nephio 101
Nephio 101Nephio 101
Nephio 101
 
Tips and tricks for contributing to an Open Source project.pptx
Tips and tricks for contributing to an Open Source project.pptxTips and tricks for contributing to an Open Source project.pptx
Tips and tricks for contributing to an Open Source project.pptx
 
Understanding the Cloud-Native origins.pptx
Understanding the Cloud-Native origins.pptxUnderstanding the Cloud-Native origins.pptx
Understanding the Cloud-Native origins.pptx
 
My OPNFV journey
My OPNFV journeyMy OPNFV journey
My OPNFV journey
 
Deciphering Kubernetes Networking
Deciphering Kubernetes NetworkingDeciphering Kubernetes Networking
Deciphering Kubernetes Networking
 
Removing Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking ProfessionalsRemoving Language Barriers for Spanish-speaking Professionals
Removing Language Barriers for Spanish-speaking Professionals
 
Understanding kube proxy in ipvs mode
Understanding kube proxy in ipvs modeUnderstanding kube proxy in ipvs mode
Understanding kube proxy in ipvs mode
 
How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...How to contribute to an open source project and don’t die during the Code Rev...
How to contribute to an open source project and don’t die during the Code Rev...
 
Mutating Admission Webhook creation
Mutating Admission Webhook creationMutating Admission Webhook creation
Mutating Admission Webhook creation
 
Deep dive networking
Deep dive networkingDeep dive networking
Deep dive networking
 
GW Tester
GW TesterGW Tester
GW Tester
 
Kubernetes fundamentals
Kubernetes fundamentalsKubernetes fundamentals
Kubernetes fundamentals
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
 
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...
 
Reference CNF development journey and outcomes
Reference CNF development journey and outcomesReference CNF development journey and outcomes
Reference CNF development journey and outcomes
 
Kubernetes Resources Allocation
Kubernetes Resources AllocationKubernetes Resources Allocation
Kubernetes Resources Allocation
 
ONAP MultiCloud/K8s Casablanca
ONAP MultiCloud/K8s CasablancaONAP MultiCloud/K8s Casablanca
ONAP MultiCloud/K8s Casablanca
 
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
Kubernetes based Cloud-region support in ONAP to bring up VM and container ba...
 

Último

Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Lovely Professional University
 
Theory for How to calculation capacitor bank
Theory for How to calculation capacitor bankTheory for How to calculation capacitor bank
Theory for How to calculation capacitor banktawat puangthong
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...MohammadAliNayeem
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfJNTUA
 
How to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdfHow to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdftawat puangthong
 
Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxwendy cai
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Prakhyath Rai
 
Paint shop management system project report.pdf
Paint shop management system project report.pdfPaint shop management system project report.pdf
Paint shop management system project report.pdfKamal Acharya
 
E-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are presentE-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are presentjatinraor66
 
School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdfKamal Acharya
 
ChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdfChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdfqasastareekh
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2T.D. Shashikala
 
Attraction and Repulsion type Moving Iron Instruments.pptx
Attraction and Repulsion type Moving Iron Instruments.pptxAttraction and Repulsion type Moving Iron Instruments.pptx
Attraction and Repulsion type Moving Iron Instruments.pptxkarthikeyanS725446
 
Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxRashidFaridChishti
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Krakówbim.edu.pl
 
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...Roi Lipman
 
Artificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian ReasoningArtificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian Reasoninghotman30312
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdfKamal Acharya
 
Lect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptxLect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptxMonirHossain707319
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5T.D. Shashikala
 

Último (20)

Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
 
Theory for How to calculation capacitor bank
Theory for How to calculation capacitor bankTheory for How to calculation capacitor bank
Theory for How to calculation capacitor bank
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdf
 
How to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdfHow to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdf
 
Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptx
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
 
Paint shop management system project report.pdf
Paint shop management system project report.pdfPaint shop management system project report.pdf
Paint shop management system project report.pdf
 
E-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are presentE-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are present
 
School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdf
 
ChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdfChatGPT Prompt Engineering for project managers.pdf
ChatGPT Prompt Engineering for project managers.pdf
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2
 
Attraction and Repulsion type Moving Iron Instruments.pptx
Attraction and Repulsion type Moving Iron Instruments.pptxAttraction and Repulsion type Moving Iron Instruments.pptx
Attraction and Repulsion type Moving Iron Instruments.pptx
 
Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docx
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Kraków
 
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
 
Artificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian ReasoningArtificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian Reasoning
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
 
Lect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptxLect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptx
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
 

Open Discussion: Nephio Test-infra project

  • 1. Open discussion on Test-Infra Victor Morales Samsung
  • 2. • Project overview • Miscellaneous folders • e2e folder • Pre-bake VM image • Cloud CI management • Sandbox provision • Areas for improvement • Extract Ansible Roles • Implement KUTTL Framework • Use Doc Detective tool • Replace MetalLB for KinD cloud provider • Use Ephemeral Docker image registry Agenda
  • 4. Overview https://github.com/nephio-project/test-infra/ Test Infrastructure provide tools and scripts to guarantee the proper functionality of Nephio Components • Provides scripts to install requirements used by the Test Cases (ansible bootstrap role). • Installs Nephio components (ansible install role). • Contains a kpt Ansible module. • Provisions a local/remote Nephio Sandbox through a Vagrantfile. • Provides Terraform scripts utilized by CI. • Stores Dockerfiles for CI artifacts. • Contains bash scripts used during the execution of the End-To-End testing.
  • 5. Miscellaneous folders GitHub PR templates (eventually GitHub actions) Images used by the Wiki Docker image definitions for CI artifacts Prow configuration Python scripts for dependabot and release GitHub actions
  • 6. e2e folder – Pre-bake VM image Call for action: • Expose “nephio-pre-baked-*” images for consumption • Implement cleanup procedure to avoid cloud costs
  • 8. e2e folder – Cloud CI mgmt. https://github.com/nephio-project/test-infra/blob/main/e2e/terraform/modules/gcp/main.tf#L103
  • 10. e2e folder – Sandbox provision (1/3) https://github.com/nephio-project/test-infra/blob/main/e2e/provision/install_sandbox.sh
  • 12. e2e folder – Sandbox provision (2/3) Provides two main Ansible roles: 1. bootstrap – Validate host requirements, loads kernel modules, creates a KinD management cluster, installs gitea, resource-backend, cluster- api, cert-manager and metalLB packages in parallel. 2. install – Provides a local or remote installation of the Nephio components in parallel. Integration testing kpt ansible module
  • 14. e2e folder – Sandbox provision (3/3) https://github.com/nephio-project/test-infra/blob/main/e2e/e2e.sh Test cases resources
  • 16. Checkpoint/Restore KinD containers Provide Nephio management checkpoints for fasters startups https://criu.org $ docker checkpoint create kind-nephio 20240105 https://packages.ubuntu.com/jammy/criu https://packages.fedoraproject.org/pkgs/criu/criu/ Pros Cons Avoid cold starts Experimental feature Ubuntu 22.04+ and Fedora38+ packages Reutilization of code
  • 17. Extract Ansible Roles The following Ansible role needs their own repository: • https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/bootstrap • https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/install • https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/kpt • https://github.com/nephio-project/test-infra/tree/main/e2e/provision/playbooks/roles/upgrade Pros Cons Major visibility kpt Ansible module dependency Faster development cycles Complex troubleshooting Reutilization of code
  • 18. Implement KUTTL Framework (1/2) Replace the bash scripts for the KUbernetes Test TooL (https://kuttl.dev/) framework for validation of Test Cases (Free5Gc & OAI) • https://github.com/nephio-project/test-infra/tree/main/e2e/tests/free5gc • https://github.com/nephio-project/test-infra/tree/main/e2e/tests/oai Pros Cons KRM testing approach Learning curve Easy to declare the expected state KREW plugin requirement Reduce instructions and complexity https://github.com/nephio- project/nephio/issues/593
  • 19. Implement KUTTL Framework (2/2) https://github.com/electrocucaracha/nephio- pocs/commit/7a26a9a712d4e4049921c7ae5b9aee9175017c7d
  • 20. Use Doc detective tool Docs as Tests (https://www.docsastests.com/) seems to offer a new approach to keep documentation synchronized with the changes on the project. The Doc Detective (https://doc-detective.com/) tool may provide a simple and easy solution to be implemented. Pros Cons Easy way to keep docs and tests in sync Learning curve Non-intrusive tool Requires further investigation (requirements and License)
  • 21. Replace MetalLB for KinD cloud provider Kubernetes Cloud Provider for KIND (https://sigs.k8s.io/cloud-provider-kind ) mimics the functionality offered by CSPs. This project could benefit the Nephio Sandbox. Pros Cons Reduces components on the Nephio management cluster Early stages of the tool Simulates a more realistic scenario Dynamic IP allocation configured on Docker default_address_pools https://github.com/electrocucaracha/nephio-pocs/commit/7643a4faaeb1c7b0db77440e7f4519fe9115e320
  • 22. Use Ephemeral Docker image registry We can use a Ephemeral Docker image registry in the CI (http://ttl.sh/ ) to replicate CI environments locally Pros Cons Sharing temporal Docker images External service (increase network traffic or delays) Delegates the responsibility to manage temporal build images Additional dependencies