Installation Guide - BYUHPC/7lbd GitHub Wiki
7lbd has a large number of moving parts. This installation guide will help break down this process. See the prerequisite list for prerequisites for each section of the install.
Build and test a Windows VM
The following instructions will assist with building a VM and get it running on your cluster. In these initial steps will not use Slurm to run jobs. We are also not going to be overly concerned about the security of the setup. We are first making sure things are installed and running properly before adding very strict layers of security. The following apply to this initial proof of concept build:
- There will be no network namespace
- The Windows VM will be on your local network
- The Windows VM will use whatever accounts and passwords created when building the VM
- The guacd container will also be accessible on your network
- Samba will not be available
Build a Windows VM
Instructions to build a Windows VM with all of the necessary drivers and OOD integration. This most likely cannot be done on your cluster.
Boot the Windows VM on your cluster
Customize a pre-made script to get a Windows VM to boot on your cluster. This will not be in a Slurm job yet.
Build and test Guacamole
Use pre-made scripts to build the Guacamole client and server code and test for RDP connectivity to VM. This will also not be in a Slurm job.
Get Windows jobs running in Open OnDemand
The following instructions will assist with getting your VM running in a Open OnDemand job in a secure, network namespace with file access.
The following should apply if these steps are completed correctly:
- All job processes will run in a network namespace
- The Windows VM will only be accessible through 7lbd connectors
- The Windows VM change the shared user account password at boot
- The guacd container will be isolated in the network namespace
- Samba will be accessible from the VM in the network namespace
Install spank_iso_netns Plugin
Install, configure, and test the spank_iso_netns plugin to create a network namespace for Slurm jobs. Use this installation article to install and test spank_iso_netns for use with 7lbd.
Install 7lbd to Open OnDemand
Installing the 7lbd Open OnDemand application is similar to most other OOD applications; copy the files to the web server and customize the scripts to your HPC center. The above instructions discuss each of the the 7lbd OOD application files like before.sh.erb that will definitely need customization.
Run a test job in Open OnDemand
Running a test job covers making some temporary configuration changes, running jobs, and looking in the logs.
Finishing the Windows VM
We will now finish the Windows VM by setting a permanent Windows password for the user1 user, mounting persistent Samba drives and installing and licensing any software.
Getting ready for production.
After completing the Windows VM above, it is time to revert some temporary settings and test the VM.
oodproxy (optional)
See https://github.com/BYUHPC/oodproxy/wiki for information about BYU's oodproxy solution.
Install the spank_oodproxy
See https://github.com/BYUHPC/oodproxy/wiki/spank_oodproxy for spank_oodproxy installation instructions.
Enable spank_oodproxy support in 7lbd
- Add the
--oodproxy-register=1sbatch parameter tosubmit.yml.erb. - Enable the connector (FIXME: document this)