WikiPrint - from Polar Technologies

DRM4G Use Cases

Implemented features

Use case: Creating cloud credentials

Description

Creates the proxy certificate that will be used to access the Federated Cloud's services

Primary Actor

User

Preconditions

  • The DRM4G must be running on a terminal
  • The user must have edited correctly the configuration file
  • The user must have a valid grid certificate

Basic Flow

  1. The user executes the command drm4g id <resource_name> init

Postconditions

  • A proxy valid for 7 days will have been generated

Alternate Flow

  1. The user uses the option --lifetime to create an identity for a specific period of time


Use case: Creating VMs

Description

An active and accessible Virtual Machine (VM) will be created. It will be considered a host to whom the user can submit jobs to have executed

Primary Actor

User

Preconditions

  • The DRM4G must be running on a terminal
  • The user must have edited correctly the configuration file
  • The user must have already created the proxy credentials

Basic Flow

  1. The user executes the command drm4g resource create
  2. The program will read the configuration file
  3. For every resource defined to create VMs, it will create as many VMs as nodes were specified

Postconditions

  • As many VMs as nodes specified in the configuration file will have been created
  • The VM's public IP direction will be shown
  • Submitted jobs will also be sent to the VM

Alternate Flow

  1. If for some reason there's a problem creating a VM, an error message is displayed
  2. The program will continue creating the rest of the specified VMs


Use case: Adding VMs

Description

Adds more VMs to those previously created

Primary Actor

User

Preconditions

Basic Flow

  1. The user executes the command drm4g resource create

Postconditions

  • As many VMs as nodes specified in the configuration file will have been added
  • The VM's public IP direction will be shown
  • Submitted jobs will also be sent to the VM

Alternate Flow

  1. If for some reason there's a problem creating a VM, an error message is displayed
  2. The program will continue creating the rest of the specified VMs


Use case: Listing VMs

Description

A list of all the accessible VMs will be displayed

Primary Actor

User

Preconditions

Basic Flow

  1. User runs the commands drm4g host list

Postconditions

  • A list with information from every host will be shown, including from all of the active VMs created

Alternate Flow


Use case: Listing resources

Description

A list with every defined resource will be displayed. That includes the ones defined by the user and the ones created by the program for every VM created

Primary Actor

User

Preconditions

  • The DRM4G must be running on a terminal

Basic Flow

  1. The user runs the command drm4g resource list --all

Postconditions

  • A list with information from every resource will be displayed

Alternate Flow


Use case: Sending jobs

Description

Jobs will be sent to all available hosts to be executed

Primary Actor

User

Preconditions

  • The user must have edited correctly a job template

Basic Flow

  1. The user runs the command drm4g job submit path/to/job/template.job

Postconditions

  • The job is executed by one of the available host. This includes those defined in the configuration file with the purpose of executing jobs and VMs that may have been previously created

Alternate Flow

  1. The user uses the option --ntasks to determine how many times he wants to have the same job executed
  2. The user uses the option --dep to define the job dependency list of the job


Use case: Destroying all VMs

Description

Regardless whether they are being used o not, every VM created by the DRM4G will be destroyed

Primary Actor

User

Preconditions

Basic Flow

  1. The user runs the command drm4g resource destroy
  2. The program will eliminate all created VMs one by one

Postconditions

  • There won't be any VM left

Alternate Flow

  1. If for some reason there's a problem destroying a VM, an error message is displayed
  2. The program will continue destroying the rest of the VMs


Forthcoming features

Use case: Listing VMs with IDs

Description

When running the command drm4g resource list --all, the program will detect if the resource it's listing is a VM and list its host id

Primary Actor

User

Preconditions

Basic Flow

  1. The user runs the command drm4g resource list --all
  2. If the program detects that the resource it's listing is a VM, it will add to the rest of its information it shows its host id.

Postconditions

  • A list with information from every resource will be displayed
  • VMs' information will display its host id

Alternate Flow


Use case: Creating VMs dynamically

Description

In the case that a user wants to create a certain number of instances with one specific configuration, instead of having to modify his configuration file, the user can determine with a command how many instances he wants to create and which specific resource configuration to use from the ones he has defined in the configuration file

Primary Actor

User

Preconditions

  • There must be a resource in the configuration defined with the purpose for the creation of VMs

Basic Flow

  1. The user runs the command drm4g resource <resource_name> create
    1. <resource_name> has to be the same as the section name in the configuration file
  2. The DRM4G will use the configuration defined in the section resource name to create as many VM as that resource has specified

Postconditions

  • Even if there may be other resources defined with the purpose of creating VMs, only the ones specified for the resource resouce_name will have been created

Alternate Flow

  1. The user uses the option --instances to determine how many VMs should be created with the specified configuration
    1. This will overwrite the value specified in the configuration file


Use case: Destroying VMs by ID

Description

Primary Actor

Preconditions

Basic Flow

Postconditions

Alternate Flow