Tenants and management

A tenant is an allotment of users and resources within an organization. Organizations can leverage tenants for distinct purposes, such as development or production, and then share common resources across tenants. Each tenant has its own resources, users, and workloads. SambaStudio allows organizations to allocate resources across multiple tenants.

This document describes:

See Users and management for more information on SambaStudio user roles and management.

Structure and nomenclature

SambaStudio uses the following structure and terminology in describing tenants and users.

Organization

Organization describes an entity or customer using SambaStudio.

User

A user is part of an organization and can be assigned a predefined role. A user can be part of and assigned to multiple tenants. All users within the same tenant can view or manage projects and workloads present in the tenant.

Tenant

A tenant is an allotment of users and resources within an organization. Each tenant has its own resources, users, and workloads.

Default tenant

The default tenant is where all resources are allocated initially. During the SambaStudio installation, the default tenant (Default Tenant) is created and an organization administrator (OrgAdmin) is assigned to it.

When updating tenant RDUs and reallocation of resources is performed, resources will get removed from the selected tenant and assigned to the default tenant. The resources then can be added from the default tenant to another tenant.

Project

A project is a logical grouping of workloads and artifacts within a tenant.

Switching tenants

SambaStudio allows users to switch the active tenant they are using from any window in the platform. By switching tenants, users can view or manage projects and workloads that are present in multiple tenants.

A user must be assigned to more than one tenant by an organization administrator or tenant administrator in order to switch tenants.

  1. Click the tenant selection drop-down in the top menu bar. A list of your assigned tenants will display with the current tenant highlighted in blue and a checkmark. Only tenants assigned to you by your organization administrator or tenant administrator will be displayed.

    Tenant selection drop-down
    Figure 1. Tenant selection drop-down
  2. Select and click the destination tenant to switch. That will now be the active tenant.

Organizational resources drop-down

The organizational resources drop-down provides a summary of the resources for the selected active tenant (displayed immediately to the left). It can be viewed from any window in the platform. Hover over the organizational resources in the top menu bar to view the drop-down summary.

Organizational resources drop-down
Figure 2. Organizational resources drop-down summary for the default tenant

Tenant management using the GUI

An organization administrator (OrgAdmin) can click Tenant management from the left menu. The Tenant management window displays resource and allocation information available to an organization administrator (OrgAdmin).

Tenant management window
Figure 3. Tenant management window

Organizational resources

The Organizational resources section displays platform specific information.

  • Total RDUs displays the total number of RDUs configured for the SambaStudio platform.

  • Busy RDUs displays the number of RDUs that are currently busy performing tasks.

  • Available RDUs displays the number of RDUs that are available to perform new tasks.

Organizational resources
Figure 4. Organizational resources

Current allocations

The Current allocations section displays the current tenant configurations of the platform in a table and allows organization administrators (OrgAdmin) to manage tenant resources.

Click Create tenant to create a tenant using the GUI.

Click Update allocations to update the allocated RDUs for a tenant using the GUI.

  • The Tenant name column displays the tenant name of each tenant.

  • The Allocated RDUs column displays the number of RDUs allocated to each tenant.

  • The Busy RDUs column displays the number of RDUs that are currently busy performing tasks of each tenant.

  • The Available RDUs column displays the number of RDUs of each tenant that are available to perform new tasks.

  • The Status column displays the current status of each tenant.

    • Creating displays when a new tenant is being created.

    • Updating displays when a tenant allocation is being updated.

    • Ready displays when a tenant has been setup, but has no RDUs allocated to it.

    • Available displays when a tenant has been setup and has at least one RDU allocated to it.

    • Deleting displays when the tenant has been confirmed by an organization administrator (OrgAdmin) to be permanently deleted.

    • Failed displays when creating, deleting, or updating a tenant fails.

  • The three dots open a drop-down menu that allows you to Update allocations of the tenant in that row, or delete the tenant.

Current allocations
Figure 5. Current allocations

Tenant management using the CLI

Run snapi tenant --help in the snapi command line to display the options and commands available for tenants.

Example snapi tenant help
$ snapi tenant --help
Usage: snapi tenant [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  create             Create a new tenant
  delete             Deletes a given tenant
  deletion-progress  Provides deletion progress a given tenant
  info               Gets the tenant info
  list               Lists the tenants in the user's directory
  update             Update the rdu allocation.

Tenant information using the CLI

You can use the snapi command line to display tenant information by running the following command.

snapi tenant info --tenant <tenant name or ID>

The command below displays information for the tenant named default.

Example snapi tenant info
$ snapi tenant info --tenant default

         Tenant Info
         ============
ID                      : 39bcd490-575d-44bd-9f77-08bdd2ac3164
Name                    : default
Display Name            : default
Allocated RDUs          : 16
Busy RDUs               : 0
Available RDUs          : 16
Created at              : 05/09/2023 10:38:13 CDT
Last Updated            : 05/09/2023 10:38:15 CDT
Status                  : Available

Run snapi tenant info --help for command options and information.

Create a tenant using the GUI

Organization administrators (OrgAdmin) can create a new tenant using the GUI by following the steps below.

  1. Click the Create tenant button. The Create new tenant box will open.

  2. Enter a name for the tenant in the Add tenant name field. Note that spaces are not accepted in this field.

  3. Click Create to complete the process. Click Cancel to stop the process and return to the Tenant management window.

Create new tenant
Figure 6. Create new tenant

Create a tenant using the CLI

The example below demonstrates how to create a tenant using the snapi command line. The command specifies test01 as the tenant name.

Example snapi tenant create
$ snapi tenant create \
	--name test01

Run snapi tenant create --help for command options and information.

Update tenant RDUs using the GUI

Organization administrators (OrgAdmin) can change the number of RDUs assigned to a tenant using the GUI by following the steps below.

Resource allocations cannot be changed for a Default tenant.

  1. Click the Update allocations button. The Update resource allocation box will open.

  2. Select the tenant you wish to manage from the Select a tenant drop-down.

  3. Change the number of RDUs assigned to the tenant by clicking - or +.

  4. Click Update to complete the process. Click Cancel to stop the process and return to the Tenant management window.

Update resource allocation
Figure 7. Update resource allocation

Update tenant RDUs using the CLI

The example commands below demonstrate how organization administrators (OrgAdmin) can update the existing tenant RDU allocation using the snapi command line. The command specifies the following:

  • test01 is the tenant that will be updated.

  • 8 as the new number of RDUs assigned to the tenant.

Example snapi tenant update
$ snapi tenant update \
	--tenant test01 \
	--rdus 8

Run snapi tenant update --help for command options and information.

Delete a tenant using the GUI

Organization administrators (OrgAdmin) can delete a tenant using the GUI by following the steps below. Please be aware of the following considerations when deleting a tenant:

  • The default tenant cannot be deleted.

  • All jobs, endpoints, datasets, and models created in the tenant will be deleted.

  • Associated users will no longer have access to the tenant.

  • RDUs allocated to the tenant will be added to the default tenant.

  • Tenant deletion is irreversible.

Tenant deletion times vary and are dependant on the number of resources associated with the tenant.

  1. In the Current allocations table, click Delete tenant from the three dots drop-down in the row of the tenant you wish to delete.

    Delete tenant drop-down
    Figure 8. Delete tenant drop-down
    1. The Permanently delete this tenant box will open describing the associated actions of deleting the tenant.

  2. Click the acknowledgement statement checkbox and Confirm to proceed.

    Permanently delete tenant box
    Figure 9. Permanently delete this tenant box
  3. The Deleting tenant panel will display describing the steps of the tenant deletion process. The blue numerical circle indicates the step progress of the tenant deletion. Click anywhere in the SambaStudio screen to close the panel.

    Tenant deleting panel
    Figure 10. Deleting tenant panel
  4. The tenant status will change to Deleting. Click View to open the Deleting tenant panel and monitor the progress of the tenant deletion.

    View deleting tenant panel
    Figure 11. View deleting tenant panel
  5. The tenant will be removed from the Current allocations table when the deletion process is complete.

Delete a tenant using the CLI

The example commands below demonstrate how organization administrators (OrgAdmin) can delete a tenant using the snapi command line. Please be aware of the following considerations when deleting a tenant:

  • The default tenant cannot be deleted.

  • All jobs, endpoints, datasets, and models created in the tenant will be deleted.

  • Associated users will no longer have access to the tenant.

  • RDUs allocated to the tenant will be added to the default tenant.

  • Tenant deletion is irreversible.

Tenant deletion times vary and are dependant on the number of resources associated with the tenant.

The example snapi tenant delete command illustrates the following:

  • The command specifies user-workflows as the tenant to be deleted.

  • Similar to the GUI, the associated actions of deleting the tenant are described.

  • Additionally, the command prompts you to confirm that you want to proceed with deleting the tenant by entering yes.

Example snapi tenant delete
$ snapi tenant delete \
	--name user-workflows

Deleting a tenant entails four steps:
    • Step1: Unsharing Datasets and Models (Revoking access to all datasets and models shared with other
tenants)
    • Step2: Delete Jobs and Endpoints (Terminating all running jobs, live endpoints, and deleting them)
    • Step3: Delete Datasets and Models (Deleting all datasets and models associated with this tenant)
    • Step4: Tenant Deletion (Returning RDUs to the default tenant and deleting all traces of this tenant)

Are you sure you want to proceed? (yes/no):: yes

To return to the CLI prompt, press Ctrl+C
The tenant deletion process will continue in the background. You can view the status using the command: snapi
tenant deletion-progress <tenant-name>

--------------------------------
Tenant Deletion in Progress...
--------------------------------

[Progress] Steps: 1 -  Done  | 2 - Done | 3 - Done | 4 - Done

-------------------------------------------------------
Deletion of user-workflows Tenant Succesful
-------------------------------------------------------

Run snapi tenant delete --help for command options and information.

View tenant deletion progress using the CLI

Organization administrators (OrgAdmin) can view the deletion progress of a tenant by running the snapi tenant deletion-progress command. The example command below specifies user-workflows for the tenant.

Example snapi tenant deletion-progress
$ snapi tenant deletion-progress \
	--name user-workflows

Deleting a tenant entails four steps:
    • Step1: Unsharing Datasets and Models (Revoking access to all datasets and models shared with other
tenants)
    • Step2: Delete Jobs and Endpoints (Terminating all running jobs, live endpoints, and deleting them)
    • Step3: Delete Datasets and Models (Deleting all datasets and models associated with this tenant)
    • Step4: Tenant Deletion (Returning RDUs to the default tenant and deleting all traces of this tenant)

[Progress] Steps: 1 -  Done  | 2 - Done | 3 - In Progress | 4 - Not Started