✭✭ NOTE: a revised version of this lab is available at https://www.slideshare.net/williamyeh/rd-kubernetes-gdg-cloud-kh-201908-version ✭✭
90-Minute Workshop held at Taiwan Cloud Edge Summit 2019 (台灣雲端大會).
* 課程簡介
Kubernetes 是目前雲端環境的顯學。可是,傳統的程式,並不是原封不動搬上去,就能夠自動享受 Kubernetes 所宣稱的種種好處。 新的環境,不僅需要新的 Ops 思維,也需要新的 Dev 思維。我們將以一個半小時的時間,從軟體研發者的角度,探討軟體的設計該做哪些最起碼的改變,從實作中體驗 Kubernetes 引進的新觀念及新效益。
* 課程目標
從實例中體驗,傳統 web 應用程式在搬上 Kubernetes 時,可能會經歷哪些架構面的調整,才能享受新架構的效益:
- 容器化
- 微服務
- 組態管理
- 多重環境管理:本機端與雲端(以 GKE 為例)
Pod Sandbox workflow creation from DockershimVictor Morales
This slides were used to explain the K8s pod sandbox creation process used by Dockershim during the Cloud-Native MX meetup. During this presentation is clarified what Dockershim deprecation means and what are the "pause" containers?
DCEU 18: Building Your Development PipelineDocker, Inc.
Oliver Pomeroy - Solution Engineer, Docker
Laura Frank Tacho - Director of Engineering, CloudBees
Enterprises often want to provide automation and standardisation on top of their container platform, using a pipeline to build and deploy their containerized applications. However this opens up new challenges… Do I have to build a new CI/CD Stack? Can I build my CI/CD pipeline with Kubernetes orchestration? What should my build agents look like? How do I integrate my pipeline into my enterprise container registry? In this session full of examples and “how-to”s, Olly and Laura will guide you through common situations and decisions related to your pipelines. We’ll cover building minimal images, scanning and signing images, and give examples on how to enforce compliance standards and best practices across your teams.
Docker and Puppet for Continuous IntegrationGiacomo Vacca
Today developers want to change the code, build and deploy often, even several times per day.
New versions of software may need to be tested on different distributions, and with different configurations.
Achieving this with Virtual Machines it’s possible, but it’s very resource and time consuming. Docker provides an incredibly good solution for this, in particular if combined with Continuous Integration tools like Jenkins and Configuration Management tools like Puppet.
This presentation focuses on the opportunities to configure automatically Docker images, use Docker containers as disposable workers during your tests, and even running your Continuous Integration system inside Docker.
In the 2017 edition of ExpoQA we presented our experiences developing end-to-end automated tests for WebRTC applications. We talked about the architecture and the infrastructure used, and how leveraging the use of Docker containers eased the path towards a full suite of tests for real-time video over the Internet.
✭✭ NOTE: a revised version of this lab is available at https://www.slideshare.net/williamyeh/rd-kubernetes-gdg-cloud-kh-201908-version ✭✭
90-Minute Workshop held at Taiwan Cloud Edge Summit 2019 (台灣雲端大會).
* 課程簡介
Kubernetes 是目前雲端環境的顯學。可是,傳統的程式,並不是原封不動搬上去,就能夠自動享受 Kubernetes 所宣稱的種種好處。 新的環境,不僅需要新的 Ops 思維,也需要新的 Dev 思維。我們將以一個半小時的時間,從軟體研發者的角度,探討軟體的設計該做哪些最起碼的改變,從實作中體驗 Kubernetes 引進的新觀念及新效益。
* 課程目標
從實例中體驗,傳統 web 應用程式在搬上 Kubernetes 時,可能會經歷哪些架構面的調整,才能享受新架構的效益:
- 容器化
- 微服務
- 組態管理
- 多重環境管理:本機端與雲端(以 GKE 為例)
Pod Sandbox workflow creation from DockershimVictor Morales
This slides were used to explain the K8s pod sandbox creation process used by Dockershim during the Cloud-Native MX meetup. During this presentation is clarified what Dockershim deprecation means and what are the "pause" containers?
DCEU 18: Building Your Development PipelineDocker, Inc.
Oliver Pomeroy - Solution Engineer, Docker
Laura Frank Tacho - Director of Engineering, CloudBees
Enterprises often want to provide automation and standardisation on top of their container platform, using a pipeline to build and deploy their containerized applications. However this opens up new challenges… Do I have to build a new CI/CD Stack? Can I build my CI/CD pipeline with Kubernetes orchestration? What should my build agents look like? How do I integrate my pipeline into my enterprise container registry? In this session full of examples and “how-to”s, Olly and Laura will guide you through common situations and decisions related to your pipelines. We’ll cover building minimal images, scanning and signing images, and give examples on how to enforce compliance standards and best practices across your teams.
Docker and Puppet for Continuous IntegrationGiacomo Vacca
Today developers want to change the code, build and deploy often, even several times per day.
New versions of software may need to be tested on different distributions, and with different configurations.
Achieving this with Virtual Machines it’s possible, but it’s very resource and time consuming. Docker provides an incredibly good solution for this, in particular if combined with Continuous Integration tools like Jenkins and Configuration Management tools like Puppet.
This presentation focuses on the opportunities to configure automatically Docker images, use Docker containers as disposable workers during your tests, and even running your Continuous Integration system inside Docker.
In the 2017 edition of ExpoQA we presented our experiences developing end-to-end automated tests for WebRTC applications. We talked about the architecture and the infrastructure used, and how leveraging the use of Docker containers eased the path towards a full suite of tests for real-time video over the Internet.
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
https://jeeconf.com/program/containerising-bootiful-microservices/
Presentation on how we implemented Kubernetes and Jenkins to deploy and keep running Spring Cloud Netflix based microservices in private cloud.
Overview of decision made about technology stack, testing strategy, tools and infrastructure components, continuous delivery/deployment pipelines and some implementation details and issues met.
Real-World Docker: 10 Things We've Learned RightScale
Docker has taken the world of software by storm, offering the promise of a portable way to build and ship software - including software running in the cloud. The RightScale development team has been diving into Docker for several projects, and we'll share our lessons learned on using Docker for our cloud-based applications.
Adrian Otto from Rackspace will present "Docker 102", This includes a summary of Docker 101 as a refresher from the August session, and builds upon that by discussing who should use a registry, and what options are available for keeping them private. We will discuss best practices for keeping your production environments evergreen with updated operating system environments, library dependencies, and maintaining an immutable infrastructure.
3 years ago, Meetic chose to rebuild it's backend architecture using microservices and an event driven strategy. As we where moving along our old legacy application, testing features became gradually a pain, especially when those features rely on multiple changes across multiple components. Whatever the number of application you manage, unit testing is easy, as well as functional testing on a microservice. A good gherkin framework and a set of docker container can do the job. The real challenge is set in end-to-end testing even more when a feature can involve up to 60 different components.
To solve that issue, Meetic is building a Kubernetes strategy around testing. To do such a thing we need to :
- Be able to generate a docker container for each pull-request on any component of the stack
- Be able to create a full testing environment in the simplest way
- Be able to launch automated test on this newly created environment
- Have a clean-up process to destroy testing environment after tests To separate the various testing environment, we chose to use Kubernetes Namespaces each containing a variant of the Meetic stack. But when it comes to Kubernetes, managing multiple namespaces can be hard. Yaml configuration files need to be shared in a way that each people / automated job can access to them and modify them without impacting others.
This is typically why Meetic chose to develop it's own tool to manage namespace through a cli tool, or a REST API on which we can plug a friendly UI.
In this talk we will tell you the story of our CI/CD evolution to satisfy the need to create a docker container for each new pull request. And we will show you how to make end-to-end testing easier using Blackbeard, the tool we developed to handle the need to manage namespaces inspired by Helm.
>>WATCH THE WEBINAR HERE: https://codefresh.io/docker-based-pipelines-with-codefresh/
Most people think that Docker adoption means deploying Docker images. In this webinar, we will see the alternative way of adopting Docker in a Continuous Integration Pipeline, by packaging all build tools inside Docker containers. This makes it very easy to use different tool versions on the same build and puts an end to version conflicts in build machines. We will use Codefresh as a CI/CD solution as it fully supports pipelines where each build step is running on its own container image.
Sign up for FREE Codefresh account (120 builds/month) at Codefresh.io/codefresh-signup
On Friday 5 June 2015 I gave a talk called Cluster Management with Kubernetes to a general audience at the University of Edinburgh. The talk includes an example of a music store system with a Kibana front end UI and an Elasticsearch based back end which helps to make concrete concepts like pods, replication controllers and services.
Dev opsec dockerimage_patch_n_lifecyclemanagement_kanedafromparis
Lors de cette présentation, nous allons dans un premier temps rappeler la spécificité de docker par rapport à une VM (PID, cgroups, etc) parler du système de layer et de la différence entre images et instances puis nous présenterons succinctement kubernetes.
Ensuite, nous présenterons un processus « standard » de propagation d’une version CI/CD (développement, préproduction, production) à travers les tags docker.
Enfin, nous parlerons des différents composants constituant une application docker (base-image, tooling, librairie, code).
Une fois cette introduction réalisée, nous parlerons du cycle de vie d’une application à travers ses phases de développement, BAU pour mettre en avant que les failles de sécurité en période de développement sont rapidement corrigées par de nouvelles releases, mais pas nécessairement en BAU où les releases sont plus rares. Nous parlerons des diverses solutions (jfrog Xray, clair, …) pour le suivie des automatique des CVE et l’automatisation des mises à jour. Enfin, nous ferons un bref retour d’expérience pour parler des difficultés rencontrées et des propositions d’organisation mises en oeuvre.
Cette présentation bien qu’illustrée par des implémentations techniques est principalement organisationnelle.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
Nephio is an open source project donated by Google and recently added to the Linux Foundation Networking. Its main objective is to facilitate the deployment and management of Network Applications (such as 5G) on a large scale. This project allows Telecommunications companies to use practices such as GitOps and Cloud-Native in the control of their applications and that have been widely adopted by the industry.
Weitere ähnliche Inhalte
Ähnlich wie Open Discussion: Nephio Test-infra project
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
https://jeeconf.com/program/containerising-bootiful-microservices/
Presentation on how we implemented Kubernetes and Jenkins to deploy and keep running Spring Cloud Netflix based microservices in private cloud.
Overview of decision made about technology stack, testing strategy, tools and infrastructure components, continuous delivery/deployment pipelines and some implementation details and issues met.
Real-World Docker: 10 Things We've Learned RightScale
Docker has taken the world of software by storm, offering the promise of a portable way to build and ship software - including software running in the cloud. The RightScale development team has been diving into Docker for several projects, and we'll share our lessons learned on using Docker for our cloud-based applications.
Adrian Otto from Rackspace will present "Docker 102", This includes a summary of Docker 101 as a refresher from the August session, and builds upon that by discussing who should use a registry, and what options are available for keeping them private. We will discuss best practices for keeping your production environments evergreen with updated operating system environments, library dependencies, and maintaining an immutable infrastructure.
3 years ago, Meetic chose to rebuild it's backend architecture using microservices and an event driven strategy. As we where moving along our old legacy application, testing features became gradually a pain, especially when those features rely on multiple changes across multiple components. Whatever the number of application you manage, unit testing is easy, as well as functional testing on a microservice. A good gherkin framework and a set of docker container can do the job. The real challenge is set in end-to-end testing even more when a feature can involve up to 60 different components.
To solve that issue, Meetic is building a Kubernetes strategy around testing. To do such a thing we need to :
- Be able to generate a docker container for each pull-request on any component of the stack
- Be able to create a full testing environment in the simplest way
- Be able to launch automated test on this newly created environment
- Have a clean-up process to destroy testing environment after tests To separate the various testing environment, we chose to use Kubernetes Namespaces each containing a variant of the Meetic stack. But when it comes to Kubernetes, managing multiple namespaces can be hard. Yaml configuration files need to be shared in a way that each people / automated job can access to them and modify them without impacting others.
This is typically why Meetic chose to develop it's own tool to manage namespace through a cli tool, or a REST API on which we can plug a friendly UI.
In this talk we will tell you the story of our CI/CD evolution to satisfy the need to create a docker container for each new pull request. And we will show you how to make end-to-end testing easier using Blackbeard, the tool we developed to handle the need to manage namespaces inspired by Helm.
>>WATCH THE WEBINAR HERE: https://codefresh.io/docker-based-pipelines-with-codefresh/
Most people think that Docker adoption means deploying Docker images. In this webinar, we will see the alternative way of adopting Docker in a Continuous Integration Pipeline, by packaging all build tools inside Docker containers. This makes it very easy to use different tool versions on the same build and puts an end to version conflicts in build machines. We will use Codefresh as a CI/CD solution as it fully supports pipelines where each build step is running on its own container image.
Sign up for FREE Codefresh account (120 builds/month) at Codefresh.io/codefresh-signup
On Friday 5 June 2015 I gave a talk called Cluster Management with Kubernetes to a general audience at the University of Edinburgh. The talk includes an example of a music store system with a Kibana front end UI and an Elasticsearch based back end which helps to make concrete concepts like pods, replication controllers and services.
Dev opsec dockerimage_patch_n_lifecyclemanagement_kanedafromparis
Lors de cette présentation, nous allons dans un premier temps rappeler la spécificité de docker par rapport à une VM (PID, cgroups, etc) parler du système de layer et de la différence entre images et instances puis nous présenterons succinctement kubernetes.
Ensuite, nous présenterons un processus « standard » de propagation d’une version CI/CD (développement, préproduction, production) à travers les tags docker.
Enfin, nous parlerons des différents composants constituant une application docker (base-image, tooling, librairie, code).
Une fois cette introduction réalisée, nous parlerons du cycle de vie d’une application à travers ses phases de développement, BAU pour mettre en avant que les failles de sécurité en période de développement sont rapidement corrigées par de nouvelles releases, mais pas nécessairement en BAU où les releases sont plus rares. Nous parlerons des diverses solutions (jfrog Xray, clair, …) pour le suivie des automatique des CVE et l’automatisation des mises à jour. Enfin, nous ferons un bref retour d’expérience pour parler des difficultés rencontrées et des propositions d’organisation mises en oeuvre.
Cette présentation bien qu’illustrée par des implémentations techniques est principalement organisationnelle.
Ähnlich wie Open Discussion: Nephio Test-infra project (20)
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
Nephio is an open source project donated by Google and recently added to the Linux Foundation Networking. Its main objective is to facilitate the deployment and management of Network Applications (such as 5G) on a large scale. This project allows Telecommunications companies to use practices such as GitOps and Cloud-Native in the control of their applications and that have been widely adopted by the industry.
CCOSS + KCD Mexico 2024 - Embracing GitOps in Telecom with NephioVictor Morales
Nephio is an open source project donated by Google and recently included as part of the Linux Foundation Networking projects umbrella. Its main objective is to facilitate the deployment and management of Network Applications (such as 5G) on large scale. This project allows Telecom companies to use well-known practices such as GitOps and Cloud-Native to onboard their applications.
Nephio is an open source project that allows companies to manage their networking applications on scale. This year, the community has worked hard to release its first Release which offers a new alternative to be considered.
Tips and tricks for contributing to an Open Source project.pptxVictor Morales
Contributing to any open source project could be overwhelming at the beginning, given there are some no-writing rules on them. But there are some tricks which can facilitate you during the process. This session provides some etiquette rules that I've learned on my Open Source journey as contributor and reviewer from several projects. The main takeaway of this will give the participant a set of best practices during the on-boarding process in any open source project.
Understanding the Cloud-Native origins.pptxVictor Morales
Cloud-Native technologies are the result of many technologies and efforts to deliver solutions efficiently. Virtualization technologies, Intent-Driven architectures, self-service models are just few events that have revolutionized the industry. These seem isolated events, but maybe after analyzing them better, we could predict some future, a future that can improve our career or our business. Through this session, I'll share some experiences collected through my last 10 years working with Cloud Technologies. I'll try to cover topics about the usage of open source technologies and explains why other industries, like Telecommunications, have been aggressively invested in them.
This presentation was used in "La Hora de Kubernetes" to share experiences acquired during my journey in the OPNFV community, as well as trends and challenges faced by the Telcos.
Kubernetes is an open source platform for managing modern distributed applications. Unlike traditional applications, distributed applications utilize multiple systems simultaneously and operate on the same network. In other words, distribution means that bits and bytes are moved from one process to another over a network. There are multiple components involved in the creation and configuration of the networking in Kubernetes. In this talk, we pretend to clarify this process through the creation of a CNI written in bash script, which can help users to detect issues and facilitate their troubleshooting.
Removing Language Barriers for Spanish-speaking ProfessionalsVictor Morales
In 2020 the Apache Software Foundation Community published a survey[1] which suggests that language can be one of the major barriers to contribute to any open source project. According to some estimates[2] in Latin America, open source technologies will grow five times in the coming years. Talented professionals, students and enthusiasts demand access to documentation written in their own language. That's why the Spanish documentation team has been participating in different initiatives to help others to contribute into the translation process. During this session, it's going to be shared what the Kubernetes Spanish documentation team has been accomplished and walkthrough the process to translate and contribute to the CNCF documentation. The prime audience for this sessions are spanish-speaking professionals and enthusiasts willing to participate in improving the CNCF documentation. They will understand the workflow to submit documentation changes and help to participate in the localization process. [1] https://cwiki.apache.org/confluence/download/attachments/158865837/The%202020%20ASF%20Community%20Survey%20-%20Readout%20%281%29.pdf?api=v2 [2] http://www.latinamerica.tech/2019/11/12/latins-contribute-little-to-open-source-software/
Kube-proxy is a Kubernetes component responsible to re-conciliate the state of the Service resources. This component can be configured in four different modes: userspace, iptables, IPVS or Kernel space (Windows). In big scales, the IPVS mode offers better performance resulting in an attractive offer. In this session, I'll try to explain the IPVS internals, and how Kubernetes automates the management of services through basic examples.
How to contribute to an open source project and don’t die during the Code Rev...Victor Morales
Reviewing changes is an essential part of the software development. This process involves the collaboration of several team members who ensure to keep quality standards. In open source projects, the process can be overwhelming for newbies. Along this presentation, I will share experiences and best practices acquired a long of my years contributing to different open source projects, like OpenStack, Kubernetes, CNCF and OPNFV and how to improve that collaboration between contributors and reviewers.
Slides used in KCD Spain 2021 which covers challenges faced by NSM to provide a portable CNF and how a Mutating Admission Webhook helps to reduce those gaps.
These slides were used during a technical session for the Cloud-Native El Salvador community. It covers the basic Kubernetes components, some installers and main Kubernetes resources. For the demo, it was used the capabilites provided by the Horizontal Pod Autoscaler.
El desarrollo orientado hacia la nube es una realidad. Muchas empresas han reemplazado sus herramientas y modificado sus operaciones para obtener beneficios ofrecidos por este nuevo paradigma. Durante esta sesión se pretende abordar temas relacionados con el surgimiento de estas tecnologías. Entre los cuales destacan los distintos modelos de servicio y despliegue, estrategias para la adopción y el uso de herramientas existentes como Kubernetes.
Building cloud native network functions - outcomes from the gw-tester nsm imp...Victor Morales
The GW-Tester project is a set of tools created for testing GPRS Tunneling protocols. During the last Virtual Event, the journey to transform the GW-Tester to a Cloud-Native architecture was presented. In that session, we discussed some considerations from the Container's design to the CNI multiplexer implementation details. This session covers lessons learned and discovered during the Network Service Mesh (NSM) implementation. NSM offers a different approach compared to Multus and DANM to manage multiple network interfaces and this may result in Architectural changes on the CNF. The audience will get familiar with some considerations to take at the moment to consume NSM SDK. People from the ONAP, OPNFV and CNTT communities might find this information relevant to their projects.
Reference CNF development journey and outcomesVictor Morales
Transforming VNFs to CNFs requires many considerations. Some of them are related with the architecture of the application (e.g. use of micro-services instead of monolithic architecture) and others refer to the proper usage of the container's toolset (Docker, Docker-Compose, Kubernetes, Multus, Flannel, Helm, etc.) .
Kubernetes uses Requests and Limits values to determine where and how to execute pods. This presentation pretends to cover these concepts besides Quality of Services classes. It also points to a demo that uses Virtlet to share CPU workload.
This material was used during the ONAP DDF + OPNFV Plugfest 2019 in Paris to explain the different components used during the development of the MultiCloud Kubernetes plugin
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
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
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
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