Advanced BI Topics

Introduction

To start, please read first Virtual or baremetal machine.

Request a specific machine

For bare metal testbeds, the BI infrastructure can provide details about the specific machines available.

(slices-venv) ~$ slices bi machine --help

  Usage: slices bi machine [OPTIONS] COMMAND [ARGS]...

 ╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
  --help  -h        Show this message and exit.                                                                                                                                                                      ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 ╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
  list    List Slices BI Machines.                                                                                                                                                                                    show    Show info about a specific machine.                                                                                                                                                                         count   List Machines Statistics (machine count per flavor type).                                                                                                                                                  ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

You can list all the machines on a specific infrastructure.

(slices-venv) ~$ slices bi --infra be-gent1-bi-baremetal1 machine list
                                                                             Machines
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ ID                                                   Name      Available  Description  Flavors             Tags  Geo Location (lat,long)   Rack Location ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ m_be-gent1-bi-baremetal1_4ps88pmpkcbttrqpct9s2vtf4p  n079-06   True       n079-06      pc,pcgen07                BE (51.013156, 3.707924)  07-9 6        │
│ m_be-gent1-bi-baremetal1_5zmv7xe8v8b578w8qd8beamhx6  n079-04   True       n079-04      pc,pcgen07                BE (51.013156, 3.707924)  07-9 4        │
...
│ m_be-gent1-bi-baremetal1_47p7agbyv1bse9pmrc2ajmnynn  internet  True       internet                               BE (51.013156, 3.707924)                │
│ m_be-gent1-bi-baremetal1_3s9h5k8d13b8v8a3qjh2feag5a  hp5412a   True       hp5412a                                BE (51.013156, 3.707924)                │
└─────────────────────────────────────────────────────┴──────────┴───────────┴─────────────┴────────────────────┴──────┴──────────────────────────┴───────────────┘

You can then request a specific machine for use in your experiment.

(slices-venv) ~$ slices bi --infra be-gent1-bi-baremetal1 create my_machine --machine-id n079-06 --experiment exp2
...

Sharing Experiment Resources

Share with one user

It is possible to share your experiments with other users, if they are also a member of your project.

These users will then have access to all resources within your experiment.

In most cases, SSH access is automatically shared as well.

The relevant commands can be found under slices experiment member.

(slices-venv) ~$ slices experiment member --help

 Usage: slices experiment member [OPTIONS] COMMAND [ARGS]...

 Commands to list/add/remove experiment members.

 For some commands, you need the ID of other users. You can find these with the command: slices project show

╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help  -h        Show this message and exit.                                                                                                                                                                     │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ add             Add or update experiment member.                                                                                                                                                                  │
│ list            List experiment members.                                                                                                                                                                          │
│ remove          Remove an experiment member.                                                                                                                                                                      │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Advanced ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ transfer-lead   Transfer the LEAD of the experiment from you to another member of the experiment.                                                                                                                 │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

You can add a specific user to an experiment.

(slices-venv) ~$ slices experiment member add exp1 'john@example.com' --role MEMBER

Note

There are multiple possible roles in an experiment, which mirror the roles in a project:

  • VIEWER: Can only view an experiment and access resources, but cannot modify it.

  • MEMBER: Can access resources, and add/delete resources.

  • ADMIN: Same as MEMBER, but can also add and remove members.

  • LEAD: Same as ADMIN, but there is a single lead for each experiment. Leads cannot be removed by admins.

When no --role is specified in member add, the role the user has in the project will be used.

When you want to change the role of a user, just add it again with the new role.

(slices-venv) ~$ slices experiment member add exp1 'john@example.com' --role VIEWER

Share with all project users

The previous command share the resources in an experiment with a single user. You can also add all users that are members of your project to an experiment.

(slices-venv) ~$ slices experiment member add exp1 --all-project-members