SlapOS Home SlapOS

    Tutorial - SlapOS Learning Track

    FINAL - Collection of lectures showing how to setup and run a SlapOS based network
    • Last Update:2020-05-25
    • Version:001
    • Language:en

    SlapOS Learning Track

    This learning track contains a sequence of lectures that will teach the setup and use of a SlapOS based system. It is split into different sessions differentiating by the technical depth a reader wants to familiarize himself with.

    The initial lecture contains a generic and mandatory introduction into SlapOS and is followed by specific lectures for SlapOS System admins (lecture 2), SlapOS users (lecture 3) and SlapOS developers (lecture 4).

    Each lecture contains a number of Tutorials. If required, DesignDocuments will explain certain concepts or programms. Additonal HowTos cover certain aspects in more detail in case required.

    After finishing this learning track and all lectures, you should have a ready-to-use SlapOS system and be familiar with providing both existing and custom software to users, monitoring system health as well as software service consumption.

    Table of Content

    • Lecture 1: SlapOS Introduction
    • Lecture 2: SlapOS Admin
    • Lecture 3: SlapOS User
    • Lecture 4: SlapOS Developer

    Lecture 1: SlapOS Introduction

    This lecture will introduce SlapOS and underlying concepts. It provides both a quick overview of a SlapOS system as well as in-depth look at the architecture and minimal system requirements.


    Introduction: Theory

    The SlapOS Introduction will give an technical overview over a SlapOS system explaining the philosophy and principles behind SlapOS. It also demonstrates the SlapOS Dashboard, command line utilities and the Buildout Software Profiles responsible for supplying and instantiating software on SlapOS.

    The SlapOS Architecture DesignDocument will introduce the Master (COMP-Root/COMP-0) and slave (COMP-123) design along with the SlapProtocol. It will explain why software instances are created inside computer partitions and describe the means of communication between system components as well as users.

    The SlapOS System Requirements includes profiles and information of required hard- and software for each type of node for setting up a minimal SlapOS network.

    Introduction Additional Readings

    The SlapOS Rationale includes an analysis of on-premise and cloud-based providers of both open-source and proprietary software solutions. This is used to derive an economic baseline and operating principles for creating a cloud provider of free and open-source software. Such as ViFiB, Nexedi's cloud provider working on a SlapOS based system.

    Lecture 2: SlapOS Admin

    This lecture covers setting up and configuring a minimal SlapOS network consisting of a SlapOS Master (COMP-Root) and the first network node (COMP-0). It is meant for network administrators interested in learning how to create their own SlapOS-based system for managing servers and software deployments.

    SlapOS Admin: Tutorials

    The Install SlapOS Master tutorial will guide through the steps of setting up the main component of a SlapOS system: The Master (COMP-Root), which is a SlapOS node itself configured by SlapProxy and running an instance of ERP5 Cloud Engine (providing the Dashboard among other things) as well as a Frontend (Apache).

    The Install SlapOS Node tutorial continues the system setup by installing the first network node (COMP-0) with the Re6st Registry handling IPv6 and routing network traffic as well as another Frontend (Apache) enabling network access for users.

    Completing both tutorials means setting up a minimal SlapOS system.

    SlapOS Admin: Additional Readings

    The additional readings cover adding software to the SlapOS Master catalog. It shows how to add a software product and release in the ERP5 Cloud Engine and make it available on SlapOS.

    The HowTos on requesting a wildcard certificate and accessing a node via SSH are somewhat trivial but are included for completeness of the lecture.

    Lecture 3: SlapOS User

    This lecture teaches how to use SlapOS including installation of new nodes on an existing system, manage servers, supply software and monitor system performance.

    SlapOS User :Tutorials

    The tutorial on installing a SlapOS Node (COMP-123) will guide through installing SlapOS on a regular network node from setting up IPv6 and Re6st to registering the server with a SlapOS Master. This is the standard tutorial for adding a new machine to a network.

    Managing a SlapOS system shows how the Dashboard can be used to handle support requests and tickets which are generated automatically (or by users) whenever an instance or machine runs into issues causing a Promise to fail.

    Monitoring a SlapOS node follows the previous tutorial and shows how to use the Monitoring app which provides a micro view into what is happening on a node partitions. It will show how to analyse a node's status, search for failing Promises and show the location of all relevant logs so issues can be adressed.


    SlapOS User: Additonal Reading

    Additional readings cover topics related to setting up a node, such as registering on SlapOS (or ViFiB's commerical service), requesting a Re6st (ViFiB: FreeFib) token required during node installation and classifying nodes on a system.

    Once the node is setup, HowTo use the SlapOS Client shows alternative ways of accessing and working with a node via the terminal, which is also the place to manually format a SlapOS node, for example when adding additional SSD storage. Finally, the HowTo debug a SlapOS node gives tips and tricks on where to look for logs and common issues when a node is not behaving as expected.

    SlapOS User: Software Instantiation

    The instantiation section list the relevant configuration parameters of the software releases available on SlapOS by default and is more of a lookup reference to ensure, parameters are set correctly when requiring an instance and that follow-up steps are also being made aware.

    Lecture 4: SlapOS Developer

    This lecture teaches how to work on software releases itself creating the software to be distributed over a SlapOS network.

    SlapOS Developer: Theory

    Developing software for SlapOS requires being familiar with Buildout and the concept of Promises. Buildout will be introduced in detail in the DesignDocument Understanding SlapOS Buildout showing how it is used to install and instantiate software from software and instance profiles. Understanding SlapOS Promises will introduce Promises, show how they are used to continuously monitor the status of a software and integrate them into a software's instance profile.

    SlapOS Developer: Tutorials

    The developer tutorials cover several angles of working with software on SlapOS starting with showing how to extend an existing release by adding parameters, components and proimses using a Webrunner.

    Creating a software release and porting an existing software to SlapOS outline the required steps to create the software and instance profile required by SlapOS to deploy a software.

    Lastly, Upgrading a Software Release covers the steps of adding a new release to the SlapOS catalog and triggering the propagation through the SlapOS system.

    SlapOS Developer: Additonal Readings

    Additonal readings cover basic aspects related to software development for SlapOS, such as HowTo deploy a software release on a Webrunner.

    Thank You

    Image Nexedi Office
    • Nexedi SA
    • 147 Rue du Ballon
    • 59110 La Madeleine
    • France