Hyper Open Edge Cloud

EXPERIMENTAL: How To Deploy SlapOS Master in Theia (COMP-Root)

How To Deploy SlapOS Master in Theia (COMP-Root)
  • Last Update:2022-11-29
  • Version:001
  • Language:en

Warning

This process is only used for basic development of SlapOS Master, if you wish to use it to deploy your own cloud infrastructure please refer to: How To Install SlapOS Master on your Server (COMP-Root)

Agenda

  • Supply And Request Slapos Master
  • Wait for Deployment
  • Request Frontend
  • Verification

This tutorial will guide you through the steps of installing a SlapOS Master on Theia to manage a network of computers. Once completed you will have a COMP-ROOT node similar to that of panel.rapid.space, Nexedi's cloud hosting provider, which can then be used as starting point for creating a network of nodes to provide software instances.

Before starting this tutorial, make sure you have read the SlapOS architecture and SlapOS system requirements in order to make yourself familiar with the terminology and overall concepts.

Prerequisites

  1. A Theia Runner: HowTo Request A Theia Runner
  2. Know: How to supply and request a software in Theia
  3. Know: How to Request a Rapid.Space CDN

Prepare Supply and Request for Slapos Master

Create a new file request-slapos-master.sh by duplicating the request-script-template.sh and change the value of software_name to slapos-master.

#!/bin/sh
# This template is generated automatically, copy it in order to supply and request.
# Any manual change to this file may be lost.
software_name=slapos-master
software_release_uri=~/srv/project/slapos/software/$software_name/software.cfg
# slapos supply is used to add the software to the software list to be supplied to a node.
slapos supply $software_release_uri slaprunner
# slapos request the allocation of an instance to the master.
# slapos request also gets status and parameters of the instance if it has any
# (slapos request is meant to be run multiple time until you get the status).
slapos request $software_name'_1' $software_release_uri

Request with parameter: 

Update country-code, company and shared-certificate-authority-path accordingly. 

json_parameter="""{
"zope-partition-dict": {
"default": {
"family": "default",
"ssl-authentication": false,
"port-base": 3300
},
"service": {
"family": "service",
"ssl-authentication": true,
"port-base": 3200,
"backend-path": "/%(site-id)s/portal_slap"
}
},
"country-code": "XX",
"company": "Company",
"shared-certificate-authority-path": "/srv/slapgrid/slappart85/srv/ssl/",
"developer-list": [
"cedric.le.ninivin",
"zope"
]
}"""

Make sure the path of the certificate authority set here: erp5/portal_certificate_authority/manage_editCertificateAuthorityToolForm

 

 

Run Supply and Request for Slapos Master

Run the request, referring to How to supply and request a software in Theia:

$ bash request-slapos-master.sh

Wait for Installation

Check the logs to make sure it has been deployed and installed:

$ tail -f ~/srv/runner/var/log/slapos-node-software.log

$ tail -f ~/srv/runner/var/log/slapos-node-instance.log

This will download, build and install the required packages (ansible, slapos-node, slapos-proxy), configure the computer as a SlapOS standalone node, and deploy SlapOS Master (ERP5) and a Frontend (Apache) service inside. Note, that, as mentioned, in case the required files are not available from binary cache, compilation may take several hours.

Get Connection Parameters

Run the request to get connection parameters:

$ bash request-slapos-master.sh

Read Connection Parameters

There are some important parameters:
"monitor-setup-url": "https://monitor.app.officejs.com/#page=settings_configurator&url=https://softinst154582.host.vifib.net/public/feeds&username=admin&password=evnwzyic",
"family-default-v6": "https://[2001:67c:1254:4a:7dd3::de61]:2152",
"inituser-login": "zope",
"inituser-password": "cbxiurej"

You can monitor your Theia instance by monitor-setup-url. family-default-v6 is the Backend URL for the SlapOS Master. Copy the IPv6 URL family-default-v6 for the next step. inituser-login is the administrator username and Backend Type of SlapOS Master. inituser-password, apparently, is the password to zope.

Request a CDN in Rapid.Space for the IPv6

Follow the steps to get a free CDN: How to Request a Rapid.Space CDN

Please fill the following fields in the configuration page:

  • "Title": this is the title of your frontend, it is just to name the service inside the panel, which will be displayed in the list of Services. It is recommended that name it like your domain.
  • "Backend URL" : Set the IPv6(family-default-v6) provided by the request.
  • "Backend Type": Set it to "zope"

Validate

  • Get URL from connection parameter of the CDN
  • Access ERP5 using init-user and init-password from request
 

Validate

Get URL from connection parameter of the CDN. Access ERP5 using inituser-login and inituser-password from request

Next: Configure SlapOS Master

How To Configure SlapOS Master (COMP-Root)