This document provides an overview of OpenDaylight (ODL) and instructions for getting started with ODL on a Raspberry Pi 3 using Mininet and the REST interface. It includes the following sections:
1. Introduction to ODL including its architecture, community, and releases.
2. Instructions for installing Java, downloading and running ODL, and installing features using Karaf.
3. Directions for connecting Mininet to the ODL instance and using DLUX and RESTconf to view and interact with the network topology and nodes.
4. Information on the REST interface and how to use curl and Yang UI/Yangman to send requests and view responses regarding the network topology and inventory.
SDN Training - Open daylight installation + example with mininetSAMeh Zaghloul
This document provides instructions for installing OpenDaylight and Floodlight SDN controllers along with Mininet and examples of using them. It explains how to download a VM with all three pre-installed, how to start the controllers and Mininet, and walk through examples of using the Simple Forwarding application in OpenDaylight to install flows and enable hosts to ping each other. It also provides links to sample Floodlight and QoS applications.
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...Edureka!
***** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification *****
This Edureka tutorial on "What is Kubernetes" will give you an introduction to one of the most popular Devops tool in the market - Kubernetes, and its importance in today's IT processes. This tutorial is ideal for beginners who want to get started with Kubernetes & DevOps. The following topics are covered in this training session:
1. Need for Kubernetes
2. What is Kubernetes and What it's not
3. How does Kubernetes work?
4. Use-Case: Kubernetes @ Pokemon Go
5. Hands-on: Deployment with Kubernetes
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
For the past 5 years, Canonical has engaged with dozens of communications service providers to design, build and operate virtualization infrastructure for network functions -- for the acronym lovers, delivering NFVI for VNFs. This presentation goes over the approach, challenges and learnings from multiple NFVI projects supporting multiple telco use cases.
SDN Training - Open daylight installation + example with mininetSAMeh Zaghloul
This document provides instructions for installing OpenDaylight and Floodlight SDN controllers along with Mininet and examples of using them. It explains how to download a VM with all three pre-installed, how to start the controllers and Mininet, and walk through examples of using the Simple Forwarding application in OpenDaylight to install flows and enable hosts to ping each other. It also provides links to sample Floodlight and QoS applications.
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...Edureka!
***** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification *****
This Edureka tutorial on "What is Kubernetes" will give you an introduction to one of the most popular Devops tool in the market - Kubernetes, and its importance in today's IT processes. This tutorial is ideal for beginners who want to get started with Kubernetes & DevOps. The following topics are covered in this training session:
1. Need for Kubernetes
2. What is Kubernetes and What it's not
3. How does Kubernetes work?
4. Use-Case: Kubernetes @ Pokemon Go
5. Hands-on: Deployment with Kubernetes
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
For the past 5 years, Canonical has engaged with dozens of communications service providers to design, build and operate virtualization infrastructure for network functions -- for the acronym lovers, delivering NFVI for VNFs. This presentation goes over the approach, challenges and learnings from multiple NFVI projects supporting multiple telco use cases.
What Is Docker? | What Is Docker And How It Works? | Docker Tutorial For Begi...Simplilearn
This presentation on Docker will help you understand DevOps tools, why Docker is needed, Docker vs Virtual Machine, what is Docker, how does a Docker work and components of Docker. Docker is a tool which is used to automate the deployment of the application in lightweight containers so that applications can work efficiently in different environments. A container is a software package that consists of all the dependencies required to run an application. Until now we have been running applications on virtual machines. Every virtual machine used to be the base of our application but now with the advent of Docker and containerization technologies, each application is run in a container like logical space. Now, let us get started and learn what exactly is Docker.
Below topics are explained in this Docker presentation:
1. DevOps and its tools
2. What is Docker?
3. How does Docker work?
4. What are the components of Docker?
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit for the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
- The document introduces Docker, explaining that it provides standardized packaging for software and dependencies to isolate applications and share the same operating system kernel.
- Key aspects of Docker are discussed, including images which are layered and can be version controlled, containers which start much faster than virtual machines, and Dockerfiles which provide build instructions for images.
- The document demonstrates Docker's build, ship, and run workflow through examples of building a simple image and running a container, as well as using Docker Compose to run multi-container applications like WordPress. It also introduces Docker Swarm for clustering multiple Docker hosts.
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Ce support présente le Cloud Computing et permet de répondre à plusieurs questions :
Quelle est l’origine du Cloud Computing, quelles sont ses racines dans l'histoire du marché IT ?
Quelle est la promesse apportée par le Cloud, les bénéfices associés ?
Qu'entends t-on par Cloud Computing, son modèle technique (IaaS, PaaS, SaaS), son modèle organisationnel, ses critères d'éligibilité ?
Le support est complété par les interrogations persistantes des entreprises face au phénomène, les freins et les leviers identifiés par les DSI, et une étude de cas du gouvernement fédéral américain.
Le support a été élaboré en Juin 2011 puis réactualisé en 2014. Les principaux points développés restent encore valable aujourd'hui.
QEMU/KVM is a hypervisor that uses KVM to directly run virtual machines on hardware and QEMU to emulate devices. KVM allows virtual machines to run unmodified guest operating systems at near-native speed by using virtualization extensions in CPUs. QEMU emulates virtual devices for storage, networking, and graphics and handles tasks like starting and configuring virtual machines. Virtual machines can access emulated or paravirtualized devices and can migrate between hosts with identical configurations.
Docker allows you to package applications with their dependencies into standardized units called containers that can run on any Linux server. Containers are more portable and efficient than virtual machines, starting in milliseconds and using less disk space. Docker makes it easy to deploy and run applications without having to rebuild environments and guarantees that an application will run the same regardless of the infrastructure it is running on.
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Introduction to Docker presented by MANAOUIL Karim at the Shellmates's Hack.INI event. The teams deployed were assisted to deploy a Python Flask application behind an Nginx load balancer.
Docker Swarm allows managing Docker clusters remotely. The key components are swarm managers, swarm nodes, and a scheduler. Swarm managers oversee nodes in the cluster using Docker APIs. The scheduler uses strategies and filters to determine where to place containers on nodes. Discovery services help register and discover nodes in the cluster.
Etude de la virtualisation en plusieurs parties :
- Tour d'horizon de la virtualisation
- Pré-requis à la compréhension de Xen (rappels théoriques)
- Présentation de Xen
- L'architecture et le fonctionnement de Xen
This document outlines an agenda for a DevNet workshop on using OpenStack with OpenDaylight. The agenda includes installing OpenStack, installing OpenDaylight, configuring OpenStack to use OpenDaylight, verifying the system works, troubleshooting, and a Q&A session. OpenDaylight is an open source SDN controller that can provide advanced networking capabilities for OpenStack deployments by managing network endpoints and traffic through plugins like Neutron/ML2. Both projects are complex to install but integrating them can enable significant benefits for advanced networking in OpenStack clouds.
SDN Onboarding: Spine Leaf Topology, OVS CLIs and OpenDaylight
This document discusses SDN and software-defined networking, including:
- The architecture of SDN, including the control plane and forwarding plane
- How OpenFlow allows the control plane to be separated from the switch
- Installing and configuring the OpenDaylight controller
- Using the OpenDaylight REST API and OpenFlow to configure switches
- The spine-leaf topology for SDN networks and how it improves scalability over spanning tree protocol
What Is Docker? | What Is Docker And How It Works? | Docker Tutorial For Begi...Simplilearn
This presentation on Docker will help you understand DevOps tools, why Docker is needed, Docker vs Virtual Machine, what is Docker, how does a Docker work and components of Docker. Docker is a tool which is used to automate the deployment of the application in lightweight containers so that applications can work efficiently in different environments. A container is a software package that consists of all the dependencies required to run an application. Until now we have been running applications on virtual machines. Every virtual machine used to be the base of our application but now with the advent of Docker and containerization technologies, each application is run in a container like logical space. Now, let us get started and learn what exactly is Docker.
Below topics are explained in this Docker presentation:
1. DevOps and its tools
2. What is Docker?
3. How does Docker work?
4. What are the components of Docker?
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit for the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
- The document introduces Docker, explaining that it provides standardized packaging for software and dependencies to isolate applications and share the same operating system kernel.
- Key aspects of Docker are discussed, including images which are layered and can be version controlled, containers which start much faster than virtual machines, and Dockerfiles which provide build instructions for images.
- The document demonstrates Docker's build, ship, and run workflow through examples of building a simple image and running a container, as well as using Docker Compose to run multi-container applications like WordPress. It also introduces Docker Swarm for clustering multiple Docker hosts.
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Ce support présente le Cloud Computing et permet de répondre à plusieurs questions :
Quelle est l’origine du Cloud Computing, quelles sont ses racines dans l'histoire du marché IT ?
Quelle est la promesse apportée par le Cloud, les bénéfices associés ?
Qu'entends t-on par Cloud Computing, son modèle technique (IaaS, PaaS, SaaS), son modèle organisationnel, ses critères d'éligibilité ?
Le support est complété par les interrogations persistantes des entreprises face au phénomène, les freins et les leviers identifiés par les DSI, et une étude de cas du gouvernement fédéral américain.
Le support a été élaboré en Juin 2011 puis réactualisé en 2014. Les principaux points développés restent encore valable aujourd'hui.
QEMU/KVM is a hypervisor that uses KVM to directly run virtual machines on hardware and QEMU to emulate devices. KVM allows virtual machines to run unmodified guest operating systems at near-native speed by using virtualization extensions in CPUs. QEMU emulates virtual devices for storage, networking, and graphics and handles tasks like starting and configuring virtual machines. Virtual machines can access emulated or paravirtualized devices and can migrate between hosts with identical configurations.
Docker allows you to package applications with their dependencies into standardized units called containers that can run on any Linux server. Containers are more portable and efficient than virtual machines, starting in milliseconds and using less disk space. Docker makes it easy to deploy and run applications without having to rebuild environments and guarantees that an application will run the same regardless of the infrastructure it is running on.
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
This document provides an agenda and instructions for a hands-on introduction to Kubernetes tutorial. The tutorial will cover Kubernetes basics like pods, services, deployments and replica sets. It includes steps for setting up a local Kubernetes environment using Minikube and demonstrates features like rolling updates, rollbacks and self-healing. Attendees will learn how to develop container-based applications locally with Kubernetes and deploy changes to preview them before promoting to production.
Introduction to Docker presented by MANAOUIL Karim at the Shellmates's Hack.INI event. The teams deployed were assisted to deploy a Python Flask application behind an Nginx load balancer.
Docker Swarm allows managing Docker clusters remotely. The key components are swarm managers, swarm nodes, and a scheduler. Swarm managers oversee nodes in the cluster using Docker APIs. The scheduler uses strategies and filters to determine where to place containers on nodes. Discovery services help register and discover nodes in the cluster.
Etude de la virtualisation en plusieurs parties :
- Tour d'horizon de la virtualisation
- Pré-requis à la compréhension de Xen (rappels théoriques)
- Présentation de Xen
- L'architecture et le fonctionnement de Xen
This document outlines an agenda for a DevNet workshop on using OpenStack with OpenDaylight. The agenda includes installing OpenStack, installing OpenDaylight, configuring OpenStack to use OpenDaylight, verifying the system works, troubleshooting, and a Q&A session. OpenDaylight is an open source SDN controller that can provide advanced networking capabilities for OpenStack deployments by managing network endpoints and traffic through plugins like Neutron/ML2. Both projects are complex to install but integrating them can enable significant benefits for advanced networking in OpenStack clouds.
SDN Onboarding: Spine Leaf Topology, OVS CLIs and OpenDaylight
This document discusses SDN and software-defined networking, including:
- The architecture of SDN, including the control plane and forwarding plane
- How OpenFlow allows the control plane to be separated from the switch
- Installing and configuring the OpenDaylight controller
- Using the OpenDaylight REST API and OpenFlow to configure switches
- The spine-leaf topology for SDN networks and how it improves scalability over spanning tree protocol
Introduction to the Helium release of OpenDaylightSDN Hub
"Helium" is the second release of OpenDaylight made on Oct 2, 2014. This release has more expanded support for Yang, modeling and autogeneration of REST API, improved performance of MD-SAL datastore using Tree-based Akka storage, better integration with OpenStack Neutron API, support for Group-based Policy and support for Service Function Chaining.
The document discusses the OpenDaylight SDN controller. It provides an overview of OpenDaylight, describing it as an open-source project that promotes Software Defined Networking using technologies like Eclipse, Maven, and OSGi. The document also covers basic hands-on steps for installing and using the OpenDaylight controller, including setting up the environment, writing controller code, using Mininet and the controller's web UI.
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)sparkfabrik
This document discusses observability tools for distributed systems like Drupal websites. It recommends using Monolog for structured logging, the Prometheus monitoring system for metrics collection, and OpenTelemetry with Tempo for distributed tracing. The Observability suite module can integrate all three for Drupal. Monolog logs are scraped by Promtail and sent to Loki. Metrics are exposed via Prometheus and scraped. OpenTelemetry instruments code and sends traces to Tempo. This provides insights across logs, metrics and traces for observability of distributed applications.
This document discusses SDN and its applications for cloud datacenters. It provides an overview of SDN and how it can help with network programmability, separation of the control and forwarding planes, and integration with cloud management platforms. The document also discusses OpenFlow specifications, SDN frameworks, and how SDN can help address the network challenges of building large-scale elastic datacenters for cloud computing.
Comparing Open Source SDN Controllers, like OpenDaylight, OpenContrail, and ONOS is a challenge. Here, we’ll compare open source SDN Controllers. In a software-defined network (SDN), the SDN Controllers is the “brains” of the network. It is the strategic control point in the SDN network, relaying information to the switches/routers ‘below’ (via southbound APIs) and the applications and business logic ‘above’ (via northbound APIs).
SDN and NFV both aim to virtualize and commoditize network hardware to reduce costs and increase flexibility. SDN separates the control plane from the data plane to allow centralized control of network behavior via software. NFV virtualizes network functions like firewalls and load balancers that were traditionally hardware appliances. Both seek to standardize networking functions through open source projects and standards bodies like ONF for SDN and ETSI for NFV. Major implementations include OpenStack for virtual infrastructure, OpenDaylight as an SDN controller, and OpenFlow as the SDN protocol. While complementary, SDN and NFV face challenges around vendor support and complexity that could slow wide adoption.
SDN and NFV both aim to virtualize and commoditize network hardware to reduce costs and increase flexibility. SDN separates the control plane from the data plane to allow centralized programming of network behavior, while NFV virtualizes network functions that were traditionally hardware-based appliances. The two technologies complement each other and are being developed through open standards and open source projects to drive industry adoption. Major challenges include developing common frameworks and ensuring interoperability between solutions.
This document provides a quick installation guide for FN Project on Oracle Linux:
- It assumes Oracle Linux 7 is installed and the correct yum repositories are enabled.
- Docker is installed using the command "yum -y install docker-engine" and started.
- FN Project is installed by downloading and executing an install script from GitHub.
- FN Project is started using the "fn start" command.
The document provides guidelines for integrating the OpenDaylight SDN controller with KaanalNet to test L2 switching features. It describes installing necessary Karaf features in OpenDaylight, including DLUX for the web UI. It also outlines using REST APIs to configure topologies in KaanalNet, including enabling STP, and checking the controller and switch state through the OpenDaylight web UI and REST interfaces.
An introduction to the key concepts of SDN and NFV with visuals of:
- How SDN is transforming the Data Center
- How NFV is transforming the Service Provider domain and the End-customer domain
- Objectives
- Origin
- Ambassadors
- Applicability
- Analogies
- Benefits
- Industry Standards
- Drivers
- Obstacles
- Growth
- Resources and Events
SDN refers to separating the network control plane from the forwarding plane. There are two main architectural approaches for SDN: overlay models which use tunneling/encapsulation, and underlay models which manipulate flows and use a centralized controller. Open vSwitch is commonly used as the software switch in OpenStack and supports SDN protocols like OpenFlow. OpenStack's Neutron project provides APIs for SDN controllers to integrate with and configure virtual networks. OpenDaylight is an open source SDN controller that can be used with OpenStack for features like L3 routing, LBaaS, and direct integration between Nova and Open vSwitch.
LibOS as a regression test framework for Linux networking #netdev1.1Hajime Tazaki
This document describes using the LibOS framework to build a regression testing system for Linux networking code. LibOS allows running the Linux network stack in a library, enabling deterministic network simulation. Tests can configure virtual networks and run network applications and utilities to identify bugs in networking code by detecting changes in behavior across kernel versions. Example tests check encapsulation protocols like IP-in-IP and detect past kernel bugs. Results are recorded in JUnit format for integration with continuous integration systems.
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez BlancoNETWAYS
OpenNebula ist ein OpenSource Programm: Gründlich geprüft, anpassbar, mit erweiterbarem Framework und besonderen Features, excellenter Perfomance und massiver Skalierbarkeit um hunderttausend virtuelle Maschinen zu verwalten. Das Ganze von einer private Cloud mit Xen, KVM und VMware bishin zur Hybrid Cloud mit Amazon EC2 und anderen Anbietern.
Ziel des Vortrags ist es, eine globale Übersicht über den Installations- und Konfigurationsprozess und das Einsetzen von private, public und hybrid Clouds bei der Nutzung des OpenNebula Toolkits bereitzustellen. Drei Schlüsselaspekte werden zum Management einer virtuellen Umgebung fokusiert: Image management, networking und hypervisors. Zudem spricht das Tutorial den scale-out durch die Zuweisung von extra Kapazität auf Amazon EC2 an. Basierend auf Open Source Cloud Komponenten ist OpenNebula für Systemadministratoren geeignet, die dieses gerne zum erstellen einer Cloud Umgebung nutzen möchten.
The document discusses big data architectures and case studies of big data implementations. It provides an overview of big data and common big data architectures like data warehousing, lambda architecture, and Hadoop. It then examines several case studies of organizations that have implemented large-scale big data systems, including government agencies and private companies from various industries. Specific technical details are given about the infrastructure and components used in some of these big data deployments.
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveEueung Mulyana
This document discusses how the world is becoming hyper-connected and data-driven due to increasing connectivity and data proliferation. It notes that mobile devices are ubiquitous, with people constantly connected through their smartphones and other internet-enabled devices. This has led to an explosion of data being generated and shared through sensors and devices. The document argues that universities need to prepare their ecosystems to take advantage of these trends through agile initiatives that promote open collaboration and automation.
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldEueung Mulyana
1. Industry 4.0 and emerging technologies like the Internet of Things, 5G networks, blockchain, artificial intelligence, and financial technologies are accelerating technological change.
2. These technologies are converging and being applied across industries like manufacturing, healthcare, transportation, and financial services. They enable connectivity between everything from sensors to systems.
3. To survive and benefit from this technological transformation, individuals and organizations need to adopt a culture of continuous learning, collaboration, and automation and develop initiatives to adapt to the steady pace of change.
My talk at IDNOG5 (ID Network Operators Group) Conference, Jakarta, 2018, covers a short overview of fintech, cryptocurrency & blockchain + a networking perspective/use cases at the end
Bringing Automation to the Classroom: A ChatOps-Based ApproachEueung Mulyana
LTKA-Bot is a virtual teaching assistant chatbot designed to support course activities and automate processes to improve education efficiency. It was built using the Hubot chat engine and Telegram frontend. LTKA-Bot has modules to manage tasks, groups, submissions, and other course elements. An initial deployment showed it can streamline in-class and offline activities as well as generate reports. Overall, LTKA-Bot demonstrates the potential for chatbots to automate education and lift it to the next level.
This document provides an overview of blockchain, FinTech, and cryptocurrency. It discusses digital currency and how most traditional currency is now digital. It also discusses cryptocurrency and how Bitcoin was the first cryptocurrency. The document outlines some benefits of digital currencies like faster international transfers and boosting global remittances. It also discusses some potential risks like security issues and volatility. It provides basics on FinTech and emerging technologies transforming financial services. It maps out the global FinTech landscape and trends and discusses local FinTech players and investments in Indonesia.
This document provides an overview of open source networking initiatives and projects. It discusses the growth of open source development led by the Linux Foundation and how open source networking allows for greater innovation, transparency, and lower costs for enterprises, carriers, and cloud providers. Example open source projects are described, including OpenDaylight for SDN controllers, ONAP for network automation, and OPNFV for NFV reference platforms. These projects involve components, platforms, and integrated reference platforms to advance software-defined networking and network functions virtualization through open collaboration.
ONOS SDN Controller - Clustering Tests & Experiments Eueung Mulyana
The document describes setting up an ONOS cluster experiment including the target machines, management VM, and manual ONOS installation process. It discusses preparing the target machines by installing dependencies, Java, and manually extracting the ONOS binary. It also covers preparing the management VM by cloning the ONOS source code from Gerrit, checking out the 1.12.0 version, building ONOS, and installing additional tools for management.
DevStack is an OpenStack installation tool that allows users to quickly deploy OpenStack on a virtual machine. The document outlines the steps to install DevStack on Ubuntu, including preparing the virtual machine, adding a stack user, downloading DevStack, configuring local.conf, and running stack.sh to start the installation. Basic operations like launching instances from the dashboard and using the OpenStack client are also demonstrated.
This document provides an overview of basic commands and functionality in the ONOS network operating system. It demonstrates how to set up an ONOS cluster, view network topology and flows using CLI commands, and activate applications like a reactive forwarding app to enable connectivity across the Mininet topology.
ONOS provides the control plane for software-defined networks, managing network components and running applications. It can run distributed across servers for high availability and scalability. The document introduces ONOS and its architecture, and provides steps to install ONOS, run it with Mininet, and interact with its REST API. Key applications like reactive forwarding are demonstrated.
This document provides an overview of Mininet, including getting started instructions, examples of usage, and tutorials on OpenFlow and MiniNAM. It outlines how to import a pre-made Mininet VM, configure access via SSH, test connectivity using ping and Wireshark, explore the included examples and topologies, add manual flow entries, capture and inspect OpenFlow packets, start an OpenFlow controller, and benchmark kernel-space versus user-space switches. Notes are also provided on using xterm, tcpdump, and ARP with Mininet hosts.
The document describes how to build a simple two activity Android app in Android Studio. It includes steps to create a new project, add an empty activity, build a basic user interface with an EditText and Button, add logic to start a new activity on button click, and display data passed between activities. The steps demonstrate fundamental concepts of building Android apps such as activities, intents, and passing data.
Lecture #6 - ET-3010
Cloud Computing - Overview and Examples
Connected Services and Cloud Computing
School of Electrical Engineering and Informatics SEEI / STEI
Institut Teknologi Bandung ITB
Update April 2017
Lecture #5 - ET-3010
Connected Things, IoT (Internet of Things), and 5G Infrastructure
Connected Services and Cloud Computing
School of Electrical Engineering and Informatics SEEI / STEI
Institut Teknologi Bandung ITB
Update April 2017
Trends and Enablers - Connected Services and Cloud ComputingEueung Mulyana
Lecture #4 - ET-3010
Trends and Technology Enablers
Connected Services and Cloud Computing
School of Electrical Engineering and Informatics SEEI / STEI
Institut Teknologi Bandung ITB
Update February 2017
Digital Ecosystems - Connected Services and Cloud ComputingEueung Mulyana
Lecture #3 - ET-3010
Digital Ecosystems
Connected Services and Cloud Computing
School of Electrical Engineering and Informatics SEEI / STEI
Institut Teknologi Bandung ITB
Update February 2017
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
5. 5 / 56
ODL
OpenDaylight
OpenDaylight (ODL) is a modular open platform for customizing
and automating networks of any size and scale. The
OpenDaylight Project arose out of the SDN movement, with a
clear focus on network programmability. It was designed from
the outset as a foundation for commercial solutions that
address a variety of use cases in existing network environments.
ODL is driven by a global, collaborative community of vendor and user organizations that
continuously adapts to support the industry's broadest set of SDN and NFV use cases.
With over 1000 developers, 50 member organizations and supporting approximately 1
billion subscribers around the world, OpenDaylight is quickly evolving integrated
toolchains for leading use cases.
Ref: Platform Overview - OpenDaylight
6. 6 / 56
ODL
Community
Founded in February 2013
Run by the Linux Foundation
Eclipse Public License
15 founding companies provided
software and developers
1000+ contributors
2.5M+ lines of code
Mostly Java
9. 9 / 56
ODL
Architecture
Model-Driven
The core of the OpenDaylight platform is the Model-Driven
Service Abstraction Layer (MD-SAL). In OpenDaylight,
underlying network devices and network applications are all
represented as objects, or models, whose interactions are
processed within the SAL.
The SAL is a data exchange and adaptation mechanism between YANG models
representing network devices and applications. The YANG models provide generalized
descriptions of a device or application's capabilities without requiring either to know the
speci c implementation details of the other. Within the SAL, models are simply de ned
by their respective roles in a given interaction. A "producer" model implements an API
and provides the API's data; a "consumer" model uses the API and consumes the API's
data. While 'northbound' and 'southbound' provide a network engineer's view of the
SAL, 'consumer' and 'producer' are more accurate descriptions of interactions within the
SAL. For example, protocol plugin and its associated model can either be a producer of
information about the underlying network, or a consumer of application instructions it
receives via the SAL.
10. 10 / 56
ODL
Architecture
Modular & Multiprotocol
ODL includes support for the broadest set of protocols in any
SDN platform - OpenFlow, OVSDB, NETCONF, BGP and many
more - that improve programmability of modern networks and
solve a range of user needs.
Southbound protocols and control plane services, anchored by the MD-SAL, can be
individually selected or written, and packaged together according to the requirements of
a given use case. A controller package is built around four key components (odlparent,
controller, MD-SAL and yangtools). To this, the solution developer adds a relevant group
of southbound protocols plugins, most or all of the standard control plane functions, and
some select number of embedded and external controller applications, managed by
policy.
Each of these components is isolated as a Karaf feature, to ensure that new work doesn't
interfere with mature, tested code. OpenDaylight uses OSGi (Equinox) and Maven to
build a package that manages these Karaf features and their interactions.
11. 11 / 56
ODL
Architecture
Modular & Multiprotocol
The ODL platform is designed to allow downstream users and
solution providers maximum exibility in building a controller
to t their needs. This modular framework allows developers
and users to:
Only install the protocols and services they need
Combine multiple services and protocols to solve more
complex problems as needs arise
Incrementally and collaboratively evolve the capabilities of
the open source platform
Quickly develop custom, value-added features for highly
specialized use cases, leveraging a common platform
shared across the industry
13. 13 / 56
Getting Started
Install Java JDK + Env Adjustment
Download ODL + Unzip/Untar
Run Karaf
Install Features
Run Mininet (Remote Controller Pointed
to the ODL instance)
15. 15 / 56
Installation
Download +
Unzip/Untar
# direct download
$ wget https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/k
# indirect: download first + sftp
$ sftp -oPort=22 em@192.168.56.70
sftp> put karaf-0.7.1.zip
$ ssh em@192.168.56.70
$ unzip karaf-0.7.1.zip
$ cd karaf-0.7.1
$ ./bin/karaf
16. ~/karaf-0.7.1$ ./bin/karaf
Apache Karaf starting up. Press Enter to open the shell now...
100% [========================================================================]
Karaf started in 2s. Bundle stats: 52 active, 53 total
________ ________ .__ .__ .__ __
_____ ______ ____ ____ ______ _____ ___.__.| | |__| ____ | |___/ |_
/ | ____ _/ __ / | | __ < | || | | |/ ___| | __
/ | |_> > ___/| | | ` / __ ___ || |_| / /_/ > Y |
_______ / __/ ___ >___| /_______ (____ / ____||____/_____ /|___| /__|
/|__| / / / // /_____/ /
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.
opendaylight-user@root>feature
feature feature:export-bundles feature:info feat
feature:repo-add feature:repo-list feature:repo-refresh feat
feature:requirement-remove feature:start feature:stop feat
opendaylight-user@root>feature:list --installed
Name | Version | Required | State | Repository | Description
----------------------------------------------------------------------------------------------
aries-proxy | 4.0.10 | | Started | standard-4.0.10 | Aries Proxy
aries-blueprint | 4.0.10 | | Started | standard-4.0.10 | Aries Blueprint
feature | 4.0.10 | | Started | standard-4.0.10 | Features Support
shell | 4.0.10 | | Started | standard-4.0.10 | Karaf Shell
shell-compat | 4.0.10 | | Started | standard-4.0.10 | Karaf Shell Compatibility
deployer | 4.0.10 | | Started | standard-4.0.10 | Karaf Deployer
bundle | 4.0.10 | | Started | standard-4.0.10 | Provide Bundle support
config | 4.0.10 | | Started | standard-4.0.10 | Provide OSGi ConfigAdmin su
diagnostic | 4.0.10 | | Started | standard-4.0.10 | Provide Diagnostic support
instance | 4.0.10 | | Started | standard-4.0.10 | Provide Instance support
jaas | 4.0.10 | | Started | standard-4.0.10 | Provide JAAS support
log | 4.0.10 | | Started | standard-4.0.10 | Provide Log support
package | 4.0.10 | | Started | standard-4.0.10 | Package commands and mbeans
service | 4.0.10 | | Started | standard-4.0.10 | Provide Service support
system | 4.0.10 | | Started | standard-4.0.10 | Provide System support
kar | 4.0.10 | | Started | standard-4.0.10 | Provide KAR (KARaf archive)
ssh | 4.0.10 | | Started | standard-4.0.10 | Provide a SSHd server on Ka
16 / 56
Run Karaf
17. opendaylight-user@root>feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs
opendaylight-user@root>feature:install odl-dlux-core odl-dluxapps-nodes odl-dluxapps-topology
opendaylight-user@root>feature:list -i | grep dlux
odl-dluxapps-yangui | 0.6.1 | x | Started | odl-
odl-dluxapps-yangvisualizer | 0.6.1 | x | Started | odl-
odl-dluxapps-yangman | 0.6.1 | x | Started | odl-
odl-dluxapps-topology | 0.6.1 | x | Started | odl-
odl-dluxapps-nodes | 0.6.1 | x | Started | odl-
odl-dlux-core | 0.6.1 | x | Started | odl-
opendaylight-user@root>feature:list | grep dlux
features-dluxapps | 0.6.1 | | Uninstalled |
features-dlux | 0.6.1 | | Uninstalled |
odl-dluxapps-applications | 0.6.1 | | Uninstalled |
odl-dluxapps-yangui | 0.6.1 | x | Started |
odl-dluxapps-yangvisualizer | 0.6.1 | x | Started |
odl-unimgr-dlux | 0.3.1 | | Uninstalled |
odl-dluxapps-yangman | 0.6.1 | x | Started |
odl-dluxapps-topology | 0.6.1 | x | Started |
odl-dluxapps-nodes | 0.6.1 | x | Started |
odl-dluxapps-yangutils | 0.6.1 | | Uninstalled |
odl-dlux-core | 0.6.1 | x | Started |
opendaylight-user@root>feature:info odl-dluxapps-applications
Feature odl-dluxapps-applications 0.6.1
Description:
ODL :: dluxapps :: odl-dluxapps-applications
Details:
OpenDaylight is leading the transformation to Open Software Defined Networking (SDN). For mo
Feature has no configuration
Feature has no configuration files
Feature depends on:
odl-dluxapps-nodes 0.6.1
odl-dluxapps-topology 0.6.1
odl-dluxapps-yangui 0.6.1
odl-dluxapps-yangvisualizer 0.6.1
odl-dluxapps-yangman 0.6.1
Feature has no bundles.
Feature has no conditionals.
17 / 56
Install
Features
27. 27 / 56
REST Interface
RESTconf
OpenDaylight applications expose
con guration and state in the
datastore. The REST interface has
direct access to the controller
datastore.
RFC 8040
Restful API for YANG data models and provides lighter-
weight interface to network datastores leveraging well
known combination of REST and JSON.
Con guration data and state data exposed as resources
HTTP instead of SSH for transport; JSON in addition to XML
for data encoding
Ref: OpenDaylight as a Platform for Network Programmability
29. 29 / 56
RESTconf
http://<IP>:8181/restconf/*
# This is where users create/read/update/delete (POST, GET, PUT, DELETE) application configurati
http://<IP>:8181/restconf/restconf/config/*
# This is where applications write state and users read it (GET).
http://<IP>:8181/restconf/restconf/operational/*
# Most popular databases are topology and inventory:
GET http://<IP>:8181/restconf/operational/network-topology:network-topology/
GET http://<IP>:8181/restconf/operational/opendaylight-inventory:nodes/
# Access via curl
curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X
# Header:
# Authorization (basic): admin/admin
# Accept (answer body): application/xml or application/json
# Content-Type (request body): application/xml or application/json
43. ~/devfolder/hallo$ mvn clean install -DskipTests
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] ODL :: org.opendaylight.hallo :: hallo-api ......... SUCCESS [03:04 min]
[INFO] ODL :: org.opendaylight.hallo :: hallo-impl ........ SUCCESS [ 52.270 s]
[INFO] ODL :: org.opendaylight.hallo :: hallo-cli ......... SUCCESS [ 18.734 s]
[INFO] ODL :: org.opendaylight.hallo :: hallo-features .... SUCCESS [12:12 min]
[INFO] ODL :: org.opendaylight.hallo :: hallo-karaf ....... SUCCESS [11:21 min]
[INFO] ODL :: org.opendaylight.hallo :: hallo-artifacts ... SUCCESS [ 1.753 s]
[INFO] ODL :: org.opendaylight.hallo :: hallo-it .......... SUCCESS [ 48.589 s]
[INFO] hallo .............................................. SUCCESS [ 32.835 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31:49 min
[INFO] Finished at: 2018-02-05T03:36:20+07:00
[INFO] Final Memory: 223M/718M
[INFO] ------------------------------------------------------------------------
~/devfolder/hallo$
$ karaf/target/assembly/bin/karaf
~/devfolder/hallo$ karaf/target/assembly/bin/karaf
Apache Karaf starting up. Press Enter to open the shell now...
100% [========================================================================]
Karaf started in 37s. Bundle stats: 294 active, 294 total
________ ________ .__ .__ .__ __
_____ ______ ____ ____ ______ _____ ___.__.| | |__| ____ | |___/ |_
/ | ____ _/ __ / | | __ < | || | | |/ ___| | __
/ | |_> > ___/| | | ` / __ ___ || |_| / /_/ > Y |
_______ / __/ ___ >___| /_______ (____ / ____||____/_____ /|___| /__|
/|__| / / / // /_____/ /
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.
opendaylight-user@root>log:display | grep Hallo
43 / 56
Build
44. $ cat api/src/main/yang/hallo.yang
module hallo {
yang-version 1;
namespace "urn:opendaylight:params:xml:ns:yang:hallo";
prefix "hallo";
revision "2015-01-05" {
description "Initial revision of hallo model";
}
}
$ rm api/src/main/yang/hallo.yang && nano api/src/main/yang/hallo.yang
# new hallo.yang
module hallo {
yang-version 1;
namespace "urn:opendaylight:params:xml:ns:yang:hallo";
prefix "hallo";
revision "2015-01-05" {
description "Initial revision of hallo model";
}
rpc hallo-world {
input {
leaf name {
type string;
}
}
output {
leaf greeting {
type string;
}
}
}
}
$ cd api && mvn clean install -DskipTests
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.155 s
[INFO] Finished at: 2018-02-05T05:10:55+07:00
[INFO] Final Memory: 55M/580M
[INFO] ------------------------------------------------------------------------ 44 / 56
A Simple RPC
API
45. $ nano impl/src/main/java/org/opendaylight/hallo/impl/HalloWorldImpl.java
/*
* Copyright (c) 2016 ODL and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.hallo.impl;
import java.util.concurrent.Future;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hallo.rev150105.HalloS
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hallo.rev150105.HalloW
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hallo.rev150105.HalloW
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hallo.rev150105.HalloW
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
public class HalloWorldImpl implements HalloService {
@Override
public Future<RpcResult<HalloWorldOutput>> halloWorld(HalloWorldInput input) {
HalloWorldOutputBuilder halloBuilder = new HalloWorldOutputBuilder();
halloBuilder.setGreeting("Hallo " + input.getName());
return RpcResultBuilder.success(halloBuilder.build()).buildFuture();
}
}
~/devfolder/hallo$ ll impl/src/main/java/org/opendaylight/hallo/impl/
total 16
drwxrwxr-x 2 em em 4096 Feb 5 05:20 ./
drwxrwxr-x 3 em em 4096 Feb 5 03:02 ../
-rw-rw-r-- 1 em em 1036 Feb 5 03:02 HalloProvider.java
-rw-rw-r-- 1 em em 1302 Feb 5 05:20 HalloWorldImpl.java
45 / 56
HalloService
46. $ cat impl/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
Copyright (c) 2017 hallo inc. and others. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 which accompanies this distribution,
and is available at http://www.eclipse.org/legal/epl-v10.html
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
odl:use-default-for-reference-types="true">
<reference id="dataBroker"
interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
odl:type="default" />
<reference id="rpcRegistry"
interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"/>
<bean id="provider"
class="org.opendaylight.hallo.impl.HalloProvider"
init-method="init" destroy-method="close">
<argument ref="dataBroker" />
<argument ref="rpcRegistry" />
</bean>
</blueprint>
46 / 56
RPC Registry
Reference
47. $ cat impl/src/main/java/org/opendaylight/hallo/impl/HalloProvider.java
/*
* Copyright (c) 2017 hallo inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.hallo.impl;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hallo.rev150105.HalloS
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HalloProvider {
private static final Logger LOG = LoggerFactory.getLogger(HalloProvider.class);
private final DataBroker dataBroker;
private final RpcProviderRegistry rpcProviderRegistry;
private RpcRegistration<HalloService> serviceRegistration;
public HalloProvider(final DataBroker dataBroker,RpcProviderRegistry rpcProviderRegistry)
this.dataBroker = dataBroker;
this.rpcProviderRegistry = rpcProviderRegistry;
}
/**
* Method called when the blueprint container is created.
*/
public void init() {
serviceRegistration = rpcProviderRegistry.addRpcImplementation(HalloService.class, new
LOG.info("HalloProvider Session Initiated");
}
/**
* Method called when the blueprint container is destroyed.
*/
public void close() {
47 / 56
HalloProvider
55. Refs/Resources
1. Platform Overview - OpenDaylight
2. Using the OpenDaylight SDN Controller with the Mininet Network Emulator
3. ODL_Summit_OpenFlow_Tutorial
4. OpenDaylight User Guide - OpenDaylight Documentation Nitrogen documentation
5. Getting Started Guide - OpenDaylight Documentation Nitrogen documentation
6. OpenDaylight Application Developer's tutorial | SDN Hub
7. CiscoDevNet/yangman: YANGMAN o ers dynamically generated UI forms and native JSON
representation based on RESTCONF APIs
8. OpenDaylight as a Platform for Network Programmability
9. OpenDaylight Controller:MD-SAL:Startup Project Archetype
10. Developing Apps on the OpenDaylight controller - Nitrogen
11. RFC 8040 - RESTCONF Protocol
55 / 56