Deploying WalT on Grid’5000¶
Grid-5000, sometimes abbreviated G5K, is a large-scale academic testbed made of server-class nodes and spanning over 8 cities in France.
By installing the walt-client package with its g5k
plugin on one of
the G5K front-end machines, users can easily deploy a WalT platform over
one or several Grid-5000 sites.
A terminal screen record showing usage of WalT on Grid’5000 is available at: https://asciinema.org/a/414589
How it works¶
The walt g5k deploy
command first reserves G5K nodes and a virtual
LAN (VLAN) according to the criteria specified by the user. The reserved
VLAN will be used as the WalT platform network. One of the G5K nodes
equipped with 2 or more ethernet interfaces is setup as a WalT server.
Its first network interface remains in the default VLAN for proper
communication with the walt
client tool. The secondary interface is
attached to the WalT network VLAN. All other G5K nodes become WalT
nodes. Their first network interface is attached to the WalT network
VLAN.
Benefits¶
This WalT-on-G5K feature allows:
to experiment WalT usage without having to install a WalT platform;
to run WalT experiments on a large number of nodes.
Limits¶
You must have a Grid’5000 account to be able to use this feature. Compared to the remote access provided by such a public platform, a WalT platform installed locally is more flexible and eases low level debugging steps since users have physical access to nodes and network equipment. Since the G5K platform is open to many users, one must also follow resource reservation and usage restrictions (https://www.grid5000.fr/w/Grid5000:UsagePolicy). The plugin currently only manages x86 G5K nodes, thus WalT-on-G5K users are restricted to this node architecture. WalT-on-G5K relies on some rarely used G5K features, thus deployment failures are not so rare. Most notably, multi-site deployments rely on the establishment of a virtual LAN spanning over the G5K sites, which involves dynamic configuration of G5K network switches, a G5K feature which fails from time to time.
Setup¶
Connect to one of the G5K front-ends, and install the walt-client
package with its g5k
plugin:
$ ssh grenoble.g5k
[...]
eduble@fgrenoble:~$ pip3 install walt-client[g5k]
[...]
eduble@fgrenoble:~$
This will install the software in $HOME/.local
. If not done yet, you
should update your PATH
variable accordingly:
eduble@fgrenoble:~$ echo 'PATH=$PATH:$HOME/.local/bin' >> .bash_profile
eduble@fgrenoble:~$ source .bash_profile
You are now ready to use WalT with the G5K plugin:
eduble@fgrenoble:~$ walt
Optionally, you can also set up bash autocompletion for the walt
tool:
eduble@fgrenoble:~$ mkdir -p $HOME/.local/share/bash-completion/completions
eduble@fgrenoble:~$ walt advanced dump-bash-autocomplete > \
$HOME/.local/share/bash-completion/completions/walt
Then you have to log out and log in again to reload these completion settings.
Usage¶
The G5K plugin adds a set of sub-commands to walt
grouped in the
g5k
category. You can type walt g5k
to list them.
The main sub-command is walt g5k deploy
. When run without an
argument, it starts an interactive command-line interface for specifying
WalT platform deployment parameters: in which G5K sites should the WalT
server and nodes be reserved, what should be the duration of the
reservation, etc. Then the deployment starts.
The sub-command walt g5k wait
is useful to follow the deployment
steps. It returns when the WalT platform is ready. Deployments usually
take approximately 10min.
Once the WalT platform is ready, you can start to use the other
sub-command categories (e.g. walt image show
, walt node show
,
walt node shell
, etc.) as you would with any regular WalT platform.
In order to ease restarting the same deployment, the user has the
possibility to save the selected deployment parameters by giving a name
to a deployment “recipe”. Such a saved recipe can be re-deployed by
using walt g5k deploy <recipe-name>
.
The sub-command walt g5k info
allows to display the status of the
current or last deployment. The sub-command walt g5k release
allows
to discard the current WalT deployment and associated resources before
the end of the G5K reservation.
The other sub-commands provide basic management of deployment recipes.