PANTHEON.tech
  • About Us
    • Expertise
    • Services
    • References & Partners
    • Tools
  • Products
    • Orchestration
    • Automation
    • Network Functions
    • Security
  • Blog & News
  • Career
  • Contact
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu
  • Link to LinkedIn
  • Link to Youtube
  • Link to X
  • Link to Instagram
all cnfs

What is Network Address Translation (NAT) ?

October 10, 2023/in Blog /by PANTHEON.tech
Read more →
graph StoneWork

Empowering Service Providers Provider Edge: PANTHEON.tech’s StoneWork Multi Service Router leveraging Intel’s latest Xeon CPU – Performance / Scale Test

September 27, 2023/in Blog /by PANTHEON.tech
Read more →
VLAN

What is Virtual Local Area Network (VLAN) / 802.1.q ?

September 26, 2023/in Blog /by PANTHEON.tech
Read more →
StoneWork ss

What is Virtual Routing and Forwarding (VRF) ?

September 18, 2023/in Blog /by PANTHEON.tech
Read more →
odl-10y-anniversary

OpenDaylight Project Celebrates 10 Years (of Active Development)

April 27, 2023/in News, OpenDaylight /by PANTHEON.tech

The OpenDaylight Project is an open-source software-defined networking (SDN) controller platform that has been in active development for 10 years. Since its launch in 2013, the project has grown and evolved significantly, and it has become one of the most popular SDN solutions used by companies worldwide.

Over the years, the OpenDaylight Project has seen several major changes and developments. In the early days, the project focused on building a flexible and customizable platform for SDN controllers. The platform was designed to be vendor-neutral, so it could support a variety of hardware and software solutions, including switches, routers, and firewalls.

As the project grew in popularity, it attracted a vibrant and active community of developers, users, and contributors. The community has been instrumental in shaping the direction of the project, and it has contributed to a variety of new features and functionality.

One of the major developments in recent years has been the adoption of a more modular architecture. The platform is now broken down into several different components, each of which can be customized and extended to meet the needs of different users and applications. This modular architecture has made the OpenDaylight Project even more flexible and adaptable, and it has helped to cement its position as a leading SDN controller platform.

Another important development has been the focus on performance and scalability. The OpenDaylight Project has been optimized to handle large-scale networks, and it can easily scale to support hundreds of thousands of network elements. This has made it an attractive solution for large enterprises and service providers that need to manage complex networks.

In addition to these technical developments, the OpenDaylight Project has also seen significant growth in its ecosystem. In its lifetime companies like Cisco, Huawei, and Red Hat have contributed to this project the most, however for over the past few years the streams shifted a little and we are proud to share that PANTHEON.tech has become one of the largest contributors to the OpenDaylight project, followed by companies such as Verizon, Orange, and Rakuten.

This diverse ecosystem has helped to ensure that the project remains vendor-neutral and that it can support a wide range of hardware and software solutions.

OpenDaylight has proven over time to be one of the most production-ready and feature-rich controller platforms, used by many companies and communities like ONAP, PANTHEON.tech, Fujitsu, Infinera, Elisa Polestar. In PANTHEON.tech we fast-track our long-term OpenDaylight expertise with our valuable customers and we are delivering all the feedback and code back to the OpenDaylight community.

Looking to the future, the OpenDaylight Project shows no signs of slowing down. The community continues to develop new features and functionalities, and it remains one of the most active and vibrant communities in the open-source networking world. With its modular architecture, performance, and scalability, the OpenDaylight Project is well-positioned to continue to be a leading SDN controller platform for years to come.

odl-10y-anniversary


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

ocp_prague_2023_CPO_PANTHEON.tech_speaking

PANTHEON.tech at the OCP Regional Summit Prague 2023

April 13, 2023/in News /by PANTHEON.tech

We are proud to announce that our Chief Product Officer, Miroslav Miklus, will be speaking at the upcoming OCP Regional Summit 2023 in Prague already in May!

Don’t miss out and come see him speaking on the SONiC Enterprise Features topic, where he ‘ll share his expertise & insights and engage in discussions with fellow industry leaders on the latest trends and innovations.

ocp_prague_2023_CPO_PANTHEON.tech_speaking

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

sonic-enterprise-dc-orchestrator-sandwork-ga

SONiC Enterprise Data Center Orchestration

April 13, 2023/in Blog, News /by PANTHEON.tech

SandWork is now Generally Available

SONiC (Software for Open Networking in the Cloud) is a popular open-source network operating system that has become increasingly popular in recent years. This powerful and flexible platform is used by hyperscalers, large enterprises and cloud providers to build their data centers’ networks.

SONiC was originally developed as a network operating system for large-scale data center environments. It is an open-source project, originally developed by Microsoft and is now gaining popularity in recent years due to its flexibility, scalability, and extensibility with a lot of contributions from many large organizations and individual contributors.

Another key benefit of SONiC is its support for multi-vendor environments. Unlike many proprietary network operating systems, SONiC is vendor-agnostic and can be used with a wide range of network hardware from different manufacturers. This enables enterprises to choose the best network hardware for their needs, without being tied to a single vendor’s solutions.

In addition, SONiC is highly secure, with built-in support for secure communication, role-based access control, and other security features. This makes it an ideal platform for enterprises that require robust security measures to protect their data center infrastructure.

To maximize and build upon the benefits of SONiC in the Data Centre, PANTHEON.tech have leveraged their open source heritage and experience in Network automation and Software Defined Networking to develop SandWork, which is now generally available.

One of the key benefits of SandWork is its ability to orchestrate network infrastructure in the enterprise data center. SandWork provides a programmable framework and intuitive user interface that enables network administrators to automate the configuration and management of datacenter network devices. This significantly reduces the time and effort required to manage the data center network fabric, while also increasing efficiency and scalability.

SandWork uses a modular design that enables administrators to customize the platform to meet their specific needs. It provides a rich set of APIs and tools that enable developers to build their own applications and scripts to automate network management tasks. This approach makes SandWork highly extensible and adaptable, making it an ideal solution for complex and dynamic data center environments.

SandWork is also highly scalable, supporting large-scale data center environments with thousands of network devices. It provides advanced features for managing network infrastructure. This makes it easier for network administrators to identify and troubleshoot issues in the data center, ensuring maximum uptime and availability.

Overall, SandWork is a powerful and flexible platform for managing and orchestrating enterprise data centers. With its advanced features for network management and security, SandWork is a valuable tool for any organization looking to optimize their data center operations.

sandwork-network-orchestrator

Free Initial Consultation

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

opendaylight-opensource-networking-dtf-lfn-2022

[Video] Open source software in the world of networking

March 3, 2023/in News /by PANTHEON.tech

We are proud that our PANTHEON.tech fellow, Robert Varga, has been keeping the status of major code contributor to the OpenDaylight Project for several years now. He took part in building the architecture of these open source projects from the very beginnings and shares some of his insights and expertise in an interview that took place at the Developer and Tester Forum organized by The Linux Foundation Networking.

Find the video below and let us know what you think!

cover web article video RVA odl scalability.png

[Video] The Future of OpenDaylight scalability

January 10, 2023/in News, OpenDaylight /by PANTHEON.tech

November 6, 2022, Seattle, Washington, USA. PANTHEON.tech took part in the event called ONE SUMMIT 2022, hosted by the Linux Foundation.

PANTHEON Fellow, Robert Varga, introduced the audience to The Future of OpenDaylight Scalability.

For those who missed it and could not attend the conference, we bring you great news – you can now watch the video and find out what evolutionary challenges the future brings for the OpenDaylight community!

Find the video below.

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

cover web article video MMI sonic odl

[Video] SONiC & OpenDaylight integration

January 9, 2023/in News /by PANTHEON.tech

November 5, 2022, Seattle, Washington, USA. PANTHEON.tech Team participated in ONE SUMMIT 2022, hosted by the Linux Foundation.

Our speaker, Miroslav Mikluš, Chief Product Officer, gave a speech on the integration of SONiC and OpenDaylight.

For those who missed it and could not attend the conference, we bring you great news – you can now watch the video and learn more about how this integration works as well as you can gain a little deeper insight on how we build our own platform on these principles!

Find the video below.

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

december releases in the lighty.io

[Release] lighty.io December releases are on fire!

December 16, 2022/in News, OpenDaylight /by PANTHEON.tech

Have you wondered whether there was anything happening behind the lighty.io curtain recently? Of course there was!

Our team has been very diligently working on improving our portfolio. There have been released various new versions of the open-source project lighty.io, which is our variant of the well known OpenDaylight project.

PANTHEON.tech belongs to the largest contributors to OpenDaylight and therefore we are proud to be able to implement the newest improvements as soon as possible.

Continue reading to find out what’s new on the block.

1. lighty.io YANG Validator 17.0.1

This release was created for our customer who happened to crush into some bugs and made us aware. Our experts fixed the bugs by updating to yangtools version 9.0.5 and reworking on how the tree is traversed.

Cleanups were made, next development phases were prepared and other changes that were executed, you can read all about in the change log!

lighty.io YANG Validator 17.0.1

 

2. lighty.io 16.3.0

In order to remain compatible with the OpenDaylight Sulfur SR3 release, we had to come up with a new release of lighty.io 16.3.0. Interested in what has changed? Find out here!

lighty.io 16.3.0

 

3. lighty.io NETCONF Simulator 16.3.0

As we know, all good thing come in three, yes, lighty.io NETCONF Simulator has also successfully went through a little update to 16.3.0 and this was marked down in the repository.

lighty.io NETCONF Simulator 16.3.0

 

4. lighty.io YANG Validator 16.3.0

However, 4 times is also a miracle and 16.3.0 comes up updated as a whole. Our experts managed to release also a new version of lighty.io YANG Validator 16.3.0 in which we keep being compatible with the OpenDaylight Sulfur SR3 version.

You can read about what’s new you at our github webpage following the red button below.

lighty.io YANG Validator 16.3.0

 


More articles you might be interested in? Lets see…

lighty.io NETCONF Simulator

Create, validate and visualize the YANG data model of application, without the need to call any other external tool – just by using the lighty.io framework.

If you need to validate YANG files within JetBrains, we have got you covered as well. Check out YANGINATOR by PANTHEON.tech!

Validate YANG Models in OpenDaylight for Free

 

lighty.io NETCONF Simulator

Need to simulate hundreds of NETCONF devices for development purposes? Look no further! With lighty.io NETCONF Simulator based on lighty.io 17 core, you are able to simulate any NETCONF device and test its compatibility with your use-case.

[Free Tool] NETCONF Device Simulator & Monitoring

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

pt ONE Summit LI Post R

The Future of OpenDaylight Scalability

November 9, 2022/in News, OpenDaylight /by PANTHEON.tech

The OpenDaylight community naturally ought to think of the OpenDaylight (ODL) evolution which is necessary in order to keep up with the needs of new use cases that are currently higher than the ODL is currently offering. We at PANTHEON.tech are proud to be one of the largest contributors to the ODL source-code, therefore we realize the importance of our keeping pace with the demands of our clients so they are given the opportunity to effectively use the ODL in the dynamic environments.

Now there are several outlined points PANTHEON.tech has gathered that need to undergo the evolution process – architecture, YANG space management, request router and deployment. We consider these as waiting at our doorstep for us to incorporate them into practical solutions and use cases, which then can reflect in the trends yet to come, such as IoT, Service Orchestrating, Edge Computing, Transport PCE / network optimization, RAN & 5G and hierarchical controllers and many others.

Got you interested? Our Pantheon Fellow, Robert Varga, is about to tell you much more about this topic at the upcoming ONE SUMMIT 2022, an event hosted by the Linux Foundation taking part in Seattle, Washington, next week. His presentation The Future of OpenDaylight Scalability is scheduled on Wednesday, November 16th at 3:40pm (PST) at the Sheraton Grand Seattle hotel.

So make sure you don’t miss out – click here for registration.

 

Read more about our OpenDaylight contribution here

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

1200x627 ONE Summit LI Post M

SONiC Data Center automation w/ ODL integration

November 8, 2022/in News, OpenDaylight /by PANTHEON.tech

Software for Open Networking in the Cloud, also known as SONiC, is an open source network operating system which has been recently given over to the Linux Foundation. This contribution will accelerate adoption of open-networking based white-box devices.

Our team at PANTHEON.tech has been focusing on increasing SONiC’s usability whilst simultaneously contributing to other Linux Foundation projects – like OpenDaylight. We are performing given activities and contributions in order to aim for an achievement in a form of combination of these two powerful projects as well as the orchestration of SONiC based network environments. As PANTHEON.tech has been building its own orchestration platform based on these principles, we consider the model-driven integration between SONiC and OpenDaylight crucial to our growing portfolio.

Miroslav Mikluš, the Chief Product Officer at PANTHEON.tech, is about to give a brief overview of this integration at the upcoming event hosted by the Linux Foundation, ONE SUMMIT 2022 in Seattle, Washington. You can meet him and attend to his presentation SONiC Data Center Automation W/ OpenDaylight next week on Tuesday Nov 15th 2022, at 4pm (PST) at the Sheraton Grand Seattle hotel.

So make sure you don’t miss out – click here for registration.

 

Read more about how we secure access to SONiC here

 


by the PANTHEON.tech Team | Leave us your feedback on this post!

You can contact us here!

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

cncf

PANTHEON.tech becomes a Cloud-Native Computing Foundation (CNCF) Member

October 24, 2022/in News /by PANTHEON.tech

To support and enhance our open source Cloud Native Function development and goals, PANTHEON.tech is extremely pleased to announce our membership of the Cloud-Native Computing Foundation (CNCF).

PANTHEON.tech is delighted to be part of CNCF’s charter to “make cloud native computing ubiquitous” showing how large and small organizations can benefit – Miroslav Mikluš, CPO of PANTHEON.tech

Further, to our membership, PANTHEON.tech is also delighted to highlight the first two of our applications to have earned CNCF Certified status, namely two apps from our open source network automation platform, lighty.io – RNC & RCgNMI.

As one of the leading Linux Foundation Networking projects contributors, we developed lighty.io as PANTHEON.tech’s enhanced OpenDaylight SDN software platform, which offers significant benefits in performance, agility and availability. For simpler deployment, we provide a portfolio of lighty.io integrated apps:

  • The lighty.io RESTCONF-NETCONF (RNC) application allows simpler initialization and utilization of the most used OpenDaylight services and optional add-on custom business logic.
  • The lighty.io RESTCONF-gNMI (RCgNMI) application allows for intuitive configuration of gNMI devices. The app primarily increases the capabilities of lighty.io for different implementations and solutions, which include gNMI device configuration.

CNCF is an open-source, vendor-neutral hub for cloud-native computing, bringing together organizations e.g. MSP/CSPs and Enterprises with experienced and expert CNF providers. Hence, our membership underlines PANTHEON.tech’s goals for recognition of open source software performance, availability, and scale through certification.

PANTHEON.tech is among the first adopters of the CNF Certified certification, issued by the Cloud-Native Computing Foundation. Others include F5, Juniper Networks, and MATRIXX Software.

“I am thrilled to announce that lighty.io, a lightweight OpenDaylight distribution, has passed the CNF Certification program, and we can declare OpenDaylight as cloud native ready” said Miroslav Mikluš, CPO of PANTHEON.tech.

If you would like to hear more on our Cloud Native development work, services and products, please don’t hesitate to contact us.

lighty.io-17-release

[Release] lighty.io 17

October 21, 2022/in News, SDN /by PANTHEON.tech

Ready for an upgrade?

Even though nights are getting longer, our experts ain’t getting any sleepier – let us introduce you to the newest release of lighty.io – 17!

PANTHEON.tech has been one of the largest contributors to the OpenDaylight code for several years – hence we were eager to implement the latest changes from the Chlorine SR2 release.

Come have a look at what we have achieved and how we have been doing since the launch of the previous version.

Certified CNF

Starting with the latest and greatest news – two of our lighty.io apps:

  • lighty.io RESTCONF-NETCONF App
  • lighty.io gNMI App

have been officially certified as Certified CNFs, issued by the Cloud-Native Computing Foundation.

New Features

Every major release deserves some new features to go along with it. lighty.io 17 is not far behind and introduces a couple of them:

  • Keeping up with OpenDaylight Chlorine SR2 release
  • Open-source the lighty-guice-app example
    • Our team has open-sourced a previously unavailable example, which allows lighty.io to work with the Google Guice framework, based on Java
  • New lighty.io RNC app cluster GitHub workflow test
    • Read more about clustering in the lighty.io RNC app here
  • Add configuration for basic authorization to AAA
    • Our Authentication, Authorization & Accounting module has a new configuration for basic authorization
  • Reusable workflow for lighty.io App test jobs
  • Replace reload4j with log4j2

Improvements & Security Fixes

Among the new features are improvements and security fixes, which our team was working on to make the lighty.io experience better, faster and safer for everyone to use:

  • Replaced javax with jakarta
  • Changed ODL compatibility release in documentation
  • Fix reported CVE-2020-36518 & CVE-2022-2048 issues
  • Fixed the vulnerabilities reported from previous version
Read more about improvements and security fixes here



Learn about other lighty.io tools below

We have already mentioned the 2 of our apps above (lighty.io RESTCONF-NETCONF App & lighty.io gNMI App). But that’s not the end! Let us introduce you to some more apps:

lighty.io YANG Validator

By using the lighty.io framework, our customers are able to create, validate and visualize the YANG data models of their application.

Validate YANG Models in OpenDaylight for Free


lighty.io NETCONF Simulator

Need to simulate hundreds of NETCONF devices for development purposes? Look no further! With lighty.io NETCONF Simulator based on lighty.io 17 core, you are able to simulate any NETCONF device and test its compatibility with your use-case.

[Release] And generally speaking of releases, there has been a new version of lighty.io NETCONF Simulator 17 released too! Click here for all the delivered changes.

[Free Tool] NETCONF Device Simulator & Monitoring

 


by lighty.io Team | Leave us your feedback on this post!

You can contact us here.

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

Clustering using lighty.io RNC

[lighty.io] Create & Use Containerized RNC App w/ Clustering

October 5, 2022/in Blog /by PANTHEON.tech

The lighty.io RESTCONF-NETCONF (RNC) application allows to easily initialize, start and utilize the most used OpenDaylight services, including clustering and optionally add custom business logic. PANTHEON.tech provides a pre-prepared Helm chart inside the lighty.io RNC application, which can be easily used for Kubernetes deployment.

Clustering is a mechanism that enables multiple processes and programs to work together as one entity.

For example, when you search for something on google.com, it may seem like your search request is processed by only one web server. In reality, your search request is processed by many web servers connected in a cluster. Similarly, you can have multiple instances of OpenDaylight working together as one entity.

The advantages of clustering are:

  • Scaling: If you have multiple instances of OpenDaylight running, you can potentially do more work and store more data than you could with only one instance. You can also break up your data into smaller chunks (shards) and either distribute that data across the cluster or perform certain operations on certain members of the cluster.
  • High Availability: If you have multiple instances of OpenDaylight running and one of them crashes, you will still have the other instances working and available.
  • Data Persistence: You will not lose any data stored in OpenDaylight after a manual restart or a crash.

This article demonstrates, how to configure the lighty.io RNC application to use clustering, rescaling of the cluster and connecting a device to the cluster.

Add the PANTHEON.tech Helm Repository to MicroK8

For deploying the lighty.io RNC application, we will use and show how to install the microk8s Local Kubernetes engine. Feel free to use any other of your favorite local Kubernetes engines, which you have installed.

1. Install microk8s with snap.

sudo snap install microk8s --classic
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube

2. Enable the required add-ons.

microk8s enable dns helm3

3. Add the PANTHEON.tech Helm repository to microk8s.

microk8s.helm3 repo add pantheon-helm-repo https://pantheontech.github.io/helm-charts/

4. Update the repository.

microk8s.helm3 repo update

Configuring your lighty.io RNC Clustering app

Before we demonstrate how our cluster functions, we need to properly configure the lighty.io RNC app.

The lighty.io RNC application could be configured through Helm values file. The default RNC app values.yaml file can be found inside the lighty.io GitHub.

1. Set up the configuration using –set flag, to enable clustering, using:

  • lighty.replicaCount= 3 // This allows you to configure the size of the cluster.
  • lighty.akka.isSingleNode=false // If true, akka configuration would be overwritten with default configuration.
  • nodePort.useNodePort=false // To use Clustering service, rather than NodePort service.
  • lighty.moduleTimeOut=120 // Cluster takes some time to deploy, set time out to higher value.

*Note: lighty.akka.isSingleNode is required to be set to false, when using clustering.

microk8s.helm3 install lighty-rnc-app pantheon-helm-repo/lighty-rnc-app-helm --version 16.1.0 --set lighty.replicaCount=3,lighty.akka.isSingleNode=false,nodePort.useNodePort=false,lighty.moduleTimeOut=120

To modify a running configuration after deploying the app, just change the “install” to “upgrade”.

1.1 Verify, that the lighty-rnc-app is deployed.

microk8s.helm3 ls

Afterwards, you should see the lighty-rnc-app with status “deployed”:

Verify Instance Clustering

2. Set up the configuration, using configured values.yaml file.

2.1 Download the values.yaml file from lighty-core.

2.2 Update the image to your desired version, for example:

image:
  name: ghcr.io/pantheontech/lighty-rnc
  version: 16.1.0
  pullPolicy: IfNotPresent

2.3 Update the values.yaml file using:

  • lighty.replicaCount= 3 // This allows you to configure the size of the cluster.
  • lighty.akka.isSingleNode=false // If true, akka configuration would be overwritten with default configuration.
  • nodePort.useNodePort=false // To use ClusterIp service rather than NodePort service
  • lighty.moduleTimeOut=120 // Cluster takes some time to deploy. Set time out to higher value.

Note: lighty.akka.isSingleNode is required to be false when using clustering.

2.4 Deploy the lighty.io RNC app with changed values.yaml file.

microk8s.helm3 install lighty-rnc-app pantheon-helm-repo/lighty-rnc-app-helm --version 16.1.0 --values [VALUES_YAML_FILE]

To modify a running configuration after deploying the app, just change the “install” to “upgrade”.

3. Verify that all pods started. You should see as many pods, as you set the value of replicaCount.

microk8s.kubectl get pods

Create a testing device w/ lighty.io NETCONF Simulator

For testing purposes, we will need some devices. The ideal tool in this case is the lighty.io NETCONF Simulator. We will use this device and start it inside a Docker container. A Docker file can be found inside lighty.io, which can create an image for this simulated device.

1. Download the lighty.io NETCONF Simulator Docker file to a separate folder.

2. Create a Docker image from the Docker file.

sudo docker build -t lighty-netconf-simulator .

3. Start the Docker container with a testing device at Port 17830 (or any other port), by changing the -p parameter.

sudo docker run -d --rm --name netconf-simulator -p17830:17830 lighty-netconf-simulator:latest

4. Check the IP address, assigned to the Docker container. This parameter will be used as the DEVICE_IP parameter in requests.

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' netconf-simulator

Clustering in the lighty.io RNC App

As mentioned at the beginning of this tutorial, the key to understanding clustering is to see many of the same instances as one functioning entity.

To demonstrate that our cluster in lighty.io RNC is alive and well, we will demonstrate its “keep alive” function. This shows, that when we manually remove the leader from a cluster, the entire system will not crumble, but hold an election and elect another leader. In practical terms – a cluster will continue to function, even when a leader is terminated/down, by self-sufficiently electing a new one and therefore showing, that it functions as an entity, or cluster.

1. Show IP addresses of all pods.

microk8s.kubectl get pods -l app.kubernetes.io/name=lighty-rnc-app-helm -o custom-columns=":status.podIP"

2. Use one of the IP addresses from the previous step, to view members of the cluster.

curl  --request GET 'http://[HOST_IP]:8558/cluster/members/'

Your response should look like this:

{
    "leader": "akka://opendaylight-cluster-data@10.1.101.177:2552",
    "members": [
        {
            "node": "akka://opendaylight-cluster-data@10.1.101.177:2552",
            "nodeUid": "4687308041747729846",
            "roles": [
                "member-10.1.101.177",
                "dc-default"
            ],
            "status": "Up"
        },
        {
            "node": "akka://opendaylight-cluster-data@10.1.101.178:2552",
            "nodeUid": "-29348997399314594",
            "roles": [
                "member-10.1.101.178",
                "dc-default"
            ],
            "status": "Up"
        }
    ],
    "oldest": "akka://opendaylight-cluster-data@10.1.101.177:2552",
    "oldestPerRole": {
        "member-10.1.101.177": "akka://opendaylight-cluster-data@10.1.101.177:2552",
        "dc-default": "akka://opendaylight-cluster-data@10.1.101.177:2552",
        "member-10.1.101.178": "akka://opendaylight-cluster-data@10.1.101.178:2552"
    },
    "selfNode": "akka://opendaylight-cluster-data@10.1.101.177:2552",
    "unreachable": []
}

In the response, you should see which member was elected as the leader, as well as all other members.

  • Tip: Use Postman for better response readability

3. Add the device to one of the members.

curl --request PUT 'http://[HOST_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-node' \
--header 'Content-Type: application/json' \
--data-raw '{
    "netconf-topology:node": [
        {
            "node-id": "new-node",
            "host": [DEVICE_IP],
            "port": 17830,
            "username": "admin",
            "password": "admin",
            "tcp-only": false,
            "keepalive-delay": 0
        }
    ]
}

4. Verify that the device was added to all members of the cluster.

curl --request GET 'http://[MEMBER_1_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-node'
curl --request GET 'http://[MEMBER_2_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-node'
...

Every member of the cluster should return the same device, with the same values:

{
    "network-topology:node": [
        {
            "node-id": "new-node",
            "netconf-node-topology:connection-status": "connected",
            "netconf-node-topology:username": "admin",
            "netconf-node-topology:password": "admin",
            "netconf-node-topology:available-capabilities": {
                "available-capability": [
                    {
                        "capability": "urn:ietf:params:netconf:base:1.1",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "urn:ietf:params:netconf:capability:notification:1.0",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "urn:ietf:params:netconf:capability:candidate:1.0",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "urn:ietf:params:netconf:base:1.0",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:ietf:params:xml:ns:yang:ietf-inet-types?revision=2013-07-15)ietf-inet-types",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:opendaylight:yang:extension:yang-ext?revision=2013-07-09)yang-ext",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:tech.pantheon.netconfdevice.network.topology.rpcs?revision=2018-03-20)network-topology-rpcs",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:ietf:params:xml:ns:yang:ietf-yang-types?revision=2013-07-15)ietf-yang-types",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?revision=2010-10-04)ietf-netconf-monitoring",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:opendaylight:netconf-node-optional?revision=2019-06-14)netconf-node-optional",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:ietf:params:xml:ns:netconf:notification:1.0?revision=2008-07-14)notifications",
                        "capability-origin": "device-advertised"
                    },
                    {
                        "capability": "(urn:opendaylight:netconf-node-topology?revision=2015-01-14)netconf-node-topology",
                        "capability-origin": "device-advertised"
                    }
                ]
            },
            "netconf-node-topology:host": "172.17.0.2",
            "netconf-node-topology:port": 17830,
            "netconf-node-topology:tcp-only": false,
            "netconf-node-topology:keepalive-delay": 0
        }
    ]
}

5. Find the leader and delete it

5.1 Show all pods. This returns the names of each pod.

microk8s.kubectl get pods

5.2 Find the leader by IP address

microk8s.kubectl get pod [NAME] -o custom-columns=":status.podIP" | xargs

In step 4., we found which IP address was assigned to the leader. Use the command above to find the name of this pod, using its IP address.

5.3 Delete the pod.

microk8s.kubectl delete -n default pod [LEADER_NAME]

5.4 Verify that the pod is terminating

microk8s.kubectl get pods

You should see the old leader with status “Terminating” and a new pod running, which will replace it.

Terminating Pod Leader

6. Verify, that a new leader was elected

curl  --request GET 'http://[HOST_IP]:8558/cluster/members/'
{
    "leader": "akka://opendaylight-cluster-data@10.1.101.178:2552",
    "members": [
        {
...

As a result of deleting the pod, a new leader was elected from the previous pods.

7. Verify that the new pod also contains the device. The response should be the same as in step 4.

curl --request GET 'http://[NEW_MEMBER_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-node'

8. Delete the device

curl --request DELETE 'http://[HOST_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-node'

9. Verify that the testing device was removed from all cluster members

curl --request GET 'http://[MEMBER_1_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf'
curl --request GET 'http://[MEMBER_1_IP]:8888/restconf/data/network-topology:network-topology/topology=topology-netconf'
...

Your response should look like this:

{
    "network-topology:topology": [
        {
            "topology-id": "topology-netconf"
        }
    ]
}

10. Logs from the device can be shown by executing this command:

sudo docker logs [CONTAINER ID]

11. Logs from the lighty.io RNC app can be shown by executing the following command:

microk8s.kubectl logs [POD_NAME]

This post explained how to start a containerized, lighty.io RNC application and configure it to use clustering. Furthermore, an explanation of how to make your own cluster configuration either from a file or using –set flag was shown, to set the size of the cluster to your liking.  Rescaling of the cluster and connecting a simulator device to the cluster was also shown and explained.


by Tobiáš Pobočík & Peter Šuňa | Leave us your feedback on this post!

You can contact us here.

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

OpenDaylight Evolution – A Proposal by PANTHEON.tech

July 15, 2022/in Hidden /by PANTHEON.tech

As one of the leading and active community leaders, we are keen to realize the evolution of OpenDaylight to meet new use case demands. We have attached our “OpenDaylight Evolution” white paper for your consideration and would greatly appreciate any feedback and comments you may have.

This is an architectural proposal document, focused on how to increase OpenDaylight’s:

  • Scale,
  • Performance,
  • Availability,
  • Security,

promoting feedback and thought on how to evolve OpenDaylight.

We have also pulled together a short survey to gather your feedback and would very much appreciate your support to complete this.

OpenDaylight Evolution Whitepaper
What is Multus? Explanation by PANTHEON.tech

[What Is] Multus CNI

May 20, 2022/in Blog, CDNF.io /by PANTHEON.tech

Multus CNI (Container Network Interface) is a novel approach to managing multiple CNIs in your container network (Kubernetes). Based on its name, which means multiple in Latin, Multus is an open-source plug-in, which serves as an additional layer in a container network, to enable multi-interface support. For example, Virtual Network Functions (VNFs) often depend on connectivity towards multiple network interfaces.

The CNI project itself, backed by the Cloud Native Computing Foundation, defines a minimum specification on what a common interface should look like. The CNI project consists of three primary components:

  • Specification: an API that lies between the network plugins and runtimes
  • Plugins: depending on use-cases, they help set up the network
  • Library: CNI specifications as Go implementations, which are then utilized by runtimes

Each CNI can deliver different results, which makes Multus a wonderful plugin to manage these functionalities and make them work together.

Multus delivers this functionality in form of a contact between the container runtime and a selection of plugins, which are called upon to do the actual net configuration tasks.

Multus Characteristics

  • Manage contact between container runtime and plugins
  • No net configuration by itself (dependent on other plugins)
  • Uses Flannel to group plugins into delegates
  • Support for reference & 3rd party plugins
  • Supports SRIOV, DPDK, OVS-DPDK & VPP workloads with cloud-native & NFV based applications

Multus Plugin Support & Management

Currently, Multus supports all plugins maintained in the official CNI repository, as well as 3rd party plugins like Contiv, Cilium or Calico.

Management of plugins done by handling plugins as delegates (using Flannel), which can be invoked into a certain sequence, based on either a JSON scheme or CNI configuration. Flannel is an overlay network in Kubernetes, which configures layer 3 network fabric and therefore satisfies Kubernetes requirements (run by default on many plugins). Multus then invokes the eth0 interface in the pod for the primary/master plugin, while the rest of the plugins receive netx interfaces (net0, net1, etc.).

StoneWork in K8s Pod with Multiple Interfaces

Our team created a demo on how to run StoneWork in a Microk8s pod with multiple interfaces attached via the Multus add-on.

This example attaches two existing host interfaces to the Stonework container running on a Microk8s pod. Highlights include the option to add multiple DPDK interfaces, as well as multiple af_packet interfaces to StoneWork with this configuration.

If you are interested in more details regarding this implementation, contact us for more information!

Utilizing Cloud-Native Network Functions

If you are interested in high-quality CNFs for your next or existing project, make sure to check out our portfolio of cloud-native network functions, by PANTHEON.tech.


Leave us your feedback on this post!

You can contact us here.

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

 

bierman RESTCONF

[OpenDaylight] Migrating Bierman RESTCONF to RFC 8040

May 3, 2022/in Blog, OpenDaylight /by PANTHEON.tech

The RESTCONF protocol implementation draft-bierman-netconf-restconf-02, named after A. Bierman, is HTTP-based and enables manipulating with YANG-defined data sets using a programmatic interface. It relies on the same datastore concepts as NETCONF, with modifications to enable HTTP-based CRUD operations.

Learn how to migrate from the legacy ‘draft-bierman-netconf-restconf-02‘ to RFC8040 in OpenDaylight.

NETCONF vs. RESTCONF

While NETCONF uses SSH for network device management, RESTCONF supports secure HTTP access (HTTPS). RESTCONF also allows for easy automation through a RESTful API, where the syntax of the datastore is defined in YANG.

YANG is a data modeling language used for model configuration – such as state data, or administrative actions. PANTHEON.tech offers an open-source tool for verifying YANG data in OpenDaylight or lighty.io, as well as an IntelliJ plugin called YANGinator.

What is YANG?

The YANG data modeling language is widely viewed as an essential tool for modeling configuration and state data manipulated over NETCONF, RESTCONF, or gNMI.

RESTCONF/NETCONF Architecture

NETCONF defines configuration datastores and a set of CRUD operations (create, retrieve, update, delete). RESTCONF does the same but adheres to REST API & HTTPS compatibility.

The importance of RESTCONF lies therefore within its programmability and flexibility in network configurations automation use-cases.

By design, the architecture of this communication looks the same – a network device, composed of a data store (in YANG) and server (RETCONF or NETCONF), communicates with the target client through a protocol (RESTCONF or NETCONF):

RESTCONF/NETCONF flow

RESTCONF/NETCONF client communication flow.

RESTful API

REST is a generally established set of rules for establishing stateless, dependable online APIs. RESTful is an informal term for this web API, that follows the REST requirements.

RESTful APIs are primarily built on HTTP protocols for accessing resources via URL-encoded parameters and data transmission, using JSON or XML.

OpenDaylight was one of the early adopters of the RESTCONF protocol. For increased compatibility, two RESTCONF implementations are supported today – the legacy draft-bierman-netconf-restconf-02 & RFC8040.

What’s New in RFC8040?

The biggest, newest difference in the RFC8040 implementation of RESTCONF, in comparison to the legacy Bierman implementation, is the transition to YANG 1.1 support.

YANG 1.1 introduces a new type of RPC operation, called actions. These actions enable RPC operations to be attached to selected nodes in the data schema. YANG Library is a set of YANG modules with their revisions, features, and other rewritten functions.

Other new features include fresh XPath functions, an option to define asynchronous notifications (with schema nodes), and more. For a more detailed insight, we recommend reading this comprehensive list of changes.

Migration from Legacy RESTCONF Implementation

Since the RFC8040 RESTCONF implementation is now in General Availability and ready to replace the legacy Bierman draft, PANTHEON.tech has decided to stop supporting the draft implementation and help customers with migration.

Contact PANTHEON.tech for support in migrating RESTCONF implementations from draft-bierman-netconf-restconf-02 to RFC8040.

Why open-source matters

[Opinion] Why Open-Source Matters

April 22, 2022/in Blog /by PANTHEON.tech

PANTHEON.tech is an avid open-source supporter. As the largest contributor to the OpenDaylight source-code, as well as being active in many more open-source projects and creating our own, we believe that open software is a way of enriching collaboration and making better products overall.

Open-source is also a philosophy of freedom, meaningfulness, and the idea that wisdom should be shared.

Practical consequences of software being open are far-reaching and have great significance – much bigger than an uninvolved observer would guess at a first glance. To see the consequences, you need to take a look at a big enough project. Or even better, at an entire infrastructure, consisting of open-source projects.

Collaboration in Open-Source

A big advantage open-source brings is collaboration. This might sound obvious, but it has several forms:

  • The collaboration between companies, even competitors, contributing their own piece to the common open code, results in multiple-times better products, compared to standalone work.
  • The collaboration of academics. The best results were always done with academic precision.

Research & Academics in Open-Source

Researchers prefer to spend their valuable time working on open code and open research. Some run their state-of-art static or formal analysis tools as part of their research upon open-source projects and then send patches.

Some design well-defined APIs, as for example UNIX POSIX. Others solve known problems using open-source platforms as a base, for example, NixOS, which solves so many problems with packaging.

But why do academics prefer open code? Not only because open code is more accessible. Some of them prefer open code, due to a philosophical point of view – since a code is similar to a mathematical equation or other scientific findings, it should be published publically.

A code should be perfect, consistent, and bug-free. That’s why collaboration with people having this mindset is invaluable.

Community & Collaboration

Community collaboration. There is no small amount of excellent engineers contributing to open-source in their free time either for fun, own needs, belief in open source philosophy, or to help other people and seeking sense in their work.

Informal collaboration – mailing lists, IRC channels, Stack Overflow, blogs, and forums. Everyone who developed a closed-sourced project knows what I am talking about. How much easier is it to find needed information about an open-source project, whether it is a guide, documentation, explanation of error message, or bug.

This makes work on open-source projects much more effective and simple.

Verification in Open-Source

The verification side of collaboration is crucial. The amount of eyeballs controlling your code, again and again, is a huge advantage, compared to the closed-source way of a one or two-person, one-time review. For the same reason, Linus Torvalds said:

I made it publicly available but I had no intention to use the open-source methodology, I just wanted to have comments on the work.

Different people have different ideas and points of view. The involvement of lots of computer science experts makes the results far more promising and objective.

The overall time diverse people spend working on open-source is much bigger than the costs any corporation would be willing to pay for their closed source equivalent.

But there is much more about open source than just better collaboration. Open-source is also a philosophy of freedom, meaningfulness, and the idea that wisdom should be shared.

People would rather create something that makes sense and that might help other people, as we are social beings. Also, using something without the necessity of being bound in any way.

Imagine a Closed World

Now, just for contradiction, let’s imagine everything was closed – even standards and protocols in one big monopoly.

You would be forced to use only their technology, to buy services or updates to be able to work as usual. And what’s worse? What if the company stops to deliver or support something, you really need? For example, formatting of your important documents.

Kind of scary. Let’s rather imagine an open world, where absolutely everything is done in an open-source manner, even cars, electrical appliances, everything. I believe that now you got the importance of open-source philosophy as well.

Open source is the future. It’s modern, and it’s the right way to go from many points of view. Even big players who initially didn’t like the idea are now involved, at least partially.

But how can we adapt to these changes? How it is possible to be in business with open-source?

Stay tuned for Part 2, where we might touch on this topic.


by Július Milan | Leave us your feedback on this post!

You can contact us here.

Explore our PANTHEON.tech GitHub.

Watch our YouTube Channel.

Page 2 of 8‹1234›»

More @ PATHEON.tech

  • [What Are] PortChannels
  • [What Is] VLAN & VXLAN
  • [What Is] Whitebox Networking?
© 2025 PANTHEON.tech s.r.o | Privacy Policy | Cookie Policy
  • Link to LinkedIn
  • Link to Youtube
  • Link to X
  • Link to Instagram
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}
Scroll to top