Upsides:
- Real bare metal
- DNS, so working https
Downsides:
- Slow
- Multiple steps
Prerequisites:
- Install cookiecutter (
apt install cookiecutter
) - Install jFed GUI (You need at least jFed 6.4.7!)
- Install ansible
(Step 0, 1, 2 are the same for jFed GUI and CLI2)
Edit espec/cookiecutter.json
to customize some parameters.
The most obvious one to change is server_count
, to select the number of servers needed.
Things to edit:
espec_name
: The nickname of the generated espec. This will be used as a dir name, so best use only the charsA-Za-z0-9_
.server_count
: How many CSS servers do you want?client_count
: How many machines do you want as clients? (leave as 0 if all you need are CSS servers)component_manager_urn
: This selects which testbed is used. Each testbed has a "component manager URN" that identifies it.disk_image_name
: If you change the testbed, you'll need to change the diskimage to an appropriate disk image.server_hardware_type_name
: If not set to"none"
, this is the name of the "hardware type" of the testbed to use for server nodes.client_hardware_type_name
: If not set to"none"
, this is the name of the "hardware type" of the testbed to use for client nodes.
Use cookiecutter to generate an ESpec with the number of nodes you need.
Execute this in the repository root dir:
cookiecutter --no-input --verbose --output-dir generated_espec espec
This will create a dir generated_espec/<espec_name>/
containing the ESpec. (where <espec_name>
is the espec_name
set in step 1 in espec/cookiecutter.json
)
Set the ansible variables in ansible-variables.yaml
.
You can mostly leave these as is, but this variable is useful:
ss_use_https
: set totrue
for https (recommended),false
for http.
Running the ESpec automates everything. This includes installing ansible on a node and running the playbook.
Start jFed.
Click on "Open ESpec":
Select "Local Directory", and click "Choose Dir".
Choose the generated_espec/<espec_name>/
directory, and click "Start ESpec":
Select a name for your experiment, and start it. Now wait until it is running, and the ESpec and ansible script have successfully completed.
On the ansible node (first CSS server in experiment) ansible will write files with URL info. You can thus gather all URLs with:
cat ~/ansible/css_url_* > all_urls
To get the same list from the jFed GUI, login to the css0
node and run the command above.
Inside jFed, you'll need to renew the experiment if you plan to use it for a longer time.
If you're done with the experiment, don't forget to terminate the experiment.