ITRenew is selling recertified OCP servers under the Sesame brand, those servers come either with their original UEFI BIOS or with LinuxBoot. The LinuxBoot project is pushing the Linux kernel inside bios flash and using userland programs as bootloader. To achieve quality on our software stack, as any project, we need to test it. Traditional BIOS are tested by hand, this is 2019 we need to do it automatically! We already presented the hardware setup behind the LinuxBoot CI, this talk will focus on the software. We use u-root for our userland bootloader; this software is written in Go so we naturally choose to use Go for our testing too. We will present how we are using and extending the Go native test framework `go test` for testing embedded systems (serial console) and improving the report format for integration to a CI. Julien Viard de Galbert
NDIV is a young, very simple, yet efficient network traffic diverter. Its purpose is to help build network applications that intercept packets at line rate with a very low processing overhead. A first example application is a stateless HTTP server reaching line rate on all packet sizes. Willy Tarreau, HaproxyTech
The document describes steps for demonstrating the deployment of a VNF using openMANO on a remote pool of NFV compute nodes. Key steps include: 1. Modifying the gateway VM configuration and creating images of the VNF VMs to point to a remote openVIM. 2. Running scripts from the openMANO VM to clean the database, rebuild the environment pointing to the remote openVIM, and copy over the new VM images. 3. Deploying the VNF scenario from openMANO-GUI or via CLI and validating the deployment points to the remote resources. 4. Generating traffic between VNF VMs to test near line-rate 10Gbps performance
Integrated Remote Management Controller aka iRMC (http://manuals.ts.fujitsu.com/file/11470/irmc-s4-ug-en.pdf) is a special-purpose ARM board, included in every Fujitsu Primergy server and actually running on GNU/Linux. Digging into the process of creation of iRMC firmware, significantly based on FOSS components, including Linux kernel, busybox, glibc, net-snmp and many others. Lecture covering technical details how its working, how to use OpenSource components together with propiertary code.
Containers provide benefits like speed, manageability, and ease of use. However, security concerns remain as containers do not offer the same level of isolation as virtual machines. Intel Clear Containers address this issue by adding hardware virtualization support through Intel VT-x to containers, creating a continuum between containers and VMs. They integrate with container ecosystems like Docker and Kubernetes to provide a more secure container runtime while maintaining the benefits of containers like small size and fast provisioning.
Live patching technology allows updating the Linux kernel without downtime. Ksplice was an early live patching solution released in 2009 but was limited and had licensing issues. kGraft and Kpatch were later developed by SUSE and Red Hat respectively as open source live patching solutions. Both use object code comparison and replacement at runtime, but kGraft can patch without stopping processes while Kpatch uses stop_machine to ensure safe replacement. Live patching is useful for critical bugs but has limitations around data structure and common function changes.
It describes the difference between ARMv7 and ARMv8, how to port Linux and Debian on ARM64 development board and how to write ARM64-safe code.
This document describes how to build a local development environment using OpenMANO to test network scenarios and virtualized network functions (VNFs). It provides instructions on configuring OpenMANO and OpenVIM, creating tenants, networks, and VNF descriptors, and deploying a sample network scenario with four VNFs connected in series. The deployed scenario can then be managed and monitored using the OpenMANO graphical user interface.
Do you ever wonder what the kernel is doing while your code is running? This talk will explore some methodologies and techniques (eBPF, ftrace, etc.) to look under the hood of the Linux kernel and understand what it’s actually doing behind the scenes. This talk explores methodologies that allow to take a look “live” at kernel internal operations, from a network perspective, to I/O paths, CPU usage, memory allocations, etc., using in-kernel technologies, like eBPF and ftrace. Understanding such kernel internals can be really helpful to track down performance bottlenecks, debug system failures and it can be also a very effective way to approach to kernel development.
This document discusses Linux containers and Docker. It describes how Linux containers provide isolation using namespaces and cgroups to allow applications to run consistently across different environments. Docker builds on Linux containers to make them easy to use, create, share, and deploy. Docker allows building images from Dockerfiles, sharing images in registries, and developing hybrid cloud workflows. The document outlines Docker's roadmap and growing ecosystem of tools and projects building on Docker.
Theses slides shows different types of virtualizations, the way how are configured and practical exercises about that. Enjoy!
The document discusses Docker and Linux containers. It begins with an overview of traditional server virtualization compared to containers. Containers provide isolation at the process level using kernel namespaces for resources like filesystem, network, users and CPUs. Docker uses device mapper thin provisioning to manage disk images for container filesystems and the networking and cgroups APIs to isolate other resources.
The document provides information on installing and using openMANO, an open source platform for network functions virtualization management and orchestration. It describes: 1. The requirements to run openMANO including compute nodes, storage, and OpenFlow controller. 2. The different modes openMANO can run in including normal, host-only, development, and test modes. 3. How to install openMANO either automatically through scripts or manually by downloading packages and configuring components.
This document discusses methods for reducing Linux boot times, focusing on hardware architecture, the boot process, kernel optimizations, and the init system. It recommends using faster storage like SSDs, optimizing bootloaders like GRUB, improving kernel decompression with LZ4, disabling unnecessary processes, and switching to systemd for network configuration to reduce boot times to as little as 2 seconds.
This document discusses running Kubernetes on Raspberry Pi 4 boards to create a low-cost Kubernetes cloud. It describes setting up the infrastructure including an HTTP server, DHCP server, and DNS registry. It then covers building a custom Raspberry Pi 4 kernel, installing it on the boards, and configuring WiFi. Next, it discusses deploying Kubernetes with one master node and two worker nodes. Finally, it demonstrates running a multi-container Tomcat application on the Kubernetes cluster.
Tutorial about how to configure a development environment to cross-compile applications for beagleboard-xM
Sniffing through the ages Capturing packets running on the wire to send them to a software doing analysis seems at first sight a simple tasks. But one has not to forget that with current network this can means capturing 30M packets per second. The objective of this talk is to show what methods and techniques have been implemented in Linux and how they have evolved over time. The talk will cover AF_PACKET capture as well as PF_RING, dpdk and netmap. It will try to show how the various evolution of hardware and software have had an impact on the design of these technologies. Regarding software a special focus will be made on Suricata IDS which is implementing most of these capture methods. Eric Leblond, Stamus Networks
The document provides an overview of Min Hsu's talk on the LLVM Project. It introduces Min Hsu and their background working on LLVM. The talk covers an overview of LLVM's design advantages over traditional compilers, some new features like GlobalISel and ThinLTO that improve compilation speed and optimization, and notes on LLVM's federated community structure and contribution process.
This document discusses integrating test automation and code coverage for web service applications. It introduces Postman for calling web services and testing responses, and Jenkins for build automation and tracking test results over time. It then demonstrates setting up a test automation workflow using these tools on a sample Laravel application, including starting and stopping coverage collection, running tests from Postman and PHPUnit, and merging the results. Some best practices and philosophies around test automation and code coverage are also discussed.
Plone, being a python based CMS written as a project for the Zope application server, consist almost entirely of python modules and a number of configuration files. Python source code is loved by many in the community for its explicit readablity; however, for many experienced software developers, coming over to the Plone technology stack can be a haunting experience. It seems everything is hidden away as pickled object in the ZODB, and that layers of magic prevent one from understanding how it works and how to affect change. This presentation will explain to the novice: - how to track down the python source behind Plone - how to take advantage of rich open source tools like ctags and pdb - best practices for getting started with file system product development
This document discusses using Python and related libraries to remotely control and manage multiple virtual machines. It recommends using PySphere and related tools to connect to VMWare servers, power on/off VMs, create snapshots, execute commands and programs on VMs, and more. The document provides instructions for setting up the necessary Python environment and configuring connections to VMWare servers. It also includes code examples for performing basic tasks like connecting to a VM, managing snapshots, running long-running tasks asynchronously, and executing programs on VMs with graphical interfaces.
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects. Plan of the slides : - Configuration Management - Development VM - Scripted deployment - Continuous deployment Tools presented in the slides: - Puppet - Vagrant - Fabric - Jenkins / Hudson