Instructor Guide

What to do During the Workshop

This workshop is mostly self-paced, however instruction can be given for the introduction exercises if students are unfamiliar with the technologies or concepts.

Ensure students are on the lab network (WiFi or otherwise) before beginning, otherwise they won’t be able to access the workshop services.

Checking On Workshop Services

There’s a few different services involved in this workshop. They all should be up and available after provisioning, but if they need convincing use the information below. Remember to connect to the approriate node when attempting to interact with services.

Non-containerized services:

Workshop Service Description Network Port Restart Command
Cockpit WebUI Web interface for system administration, accessing the Image Builder webUI tcp/9090 sudo systemctl restart cockpit.socket cockpit.service
rpm-ostree Web Server Apache web server hosting /var/www/html/rhde-image ostree repo tcp/11080 sudo systemctl restart httpd
Ansible Controller Ansible controller for automation against edge devices tcp/10443 sudo automation-controller-service restart

Containerized services:

Workshop Service Description Network Port Pod
Dnsmasq Provides DHCP and DNS for the workshop network udp/53 workshop-rhde_tse-priv
Reverse Proxy Nginx reverse proxy for workshop services with valid wildcard certiticate tcp/80,tcp/443 workshop-rhde_tse
Event Driven Ansible Simple EDA server for web requests from devices as they provision tcp/5000 workshop-rhde_tse
iPXE Hosts iPXE menu file tcp/8081 workshop-rhde_tse
Database Postgresql database for Gitea tcp/15432 workshop-rhde_tse
Gitea Source control server for students tcp/3001 workshop-rhde_tse
TFTP Hosts the installation environment files udp/69 workshop-rhde_tse
OSTree Repo Hosts the ostree repo used to provision devices tcp/8080 workshop-rhde_tse
Attendance Nodejs web server with student pages/information tcp/3000 workshop-rhde_tse

To restart these services, restarting the pods is safe:

# Restart priv pod
sudo podman pod restart workshop-rhde_tse-priv

# Restart non-priv pod
podman pod restart workshop-rhde_tse

In addition, individual containers can be restarted.

Provisioning Ahead of Time

If you plan to provision a device then transport it to the workshop location, run the start-workshop.yml playbook to bring the workshop up after the device has been shutdown and moved:

ansible-navigator run provisioner/start_workshop.yml -e @your.extra-vars.yml -i your.local-inventory.yml -m stdout -v

Note:

The internal interface of the device should be the same. If it is not, the dnsmasq container would need to be rebuilt.

Instructor Slides

Make a copy of this presentation and modify slides 1 and 9 with the correct information.