Modify an Existing System

Tapis system definitions (written in json file format) can be added to a tenant using the command line interface. To modify a system after it has been added, you must edit the original json file and use the CLI to submit the change.

Modify a Storage System

In a previous section of this user guide, we registered a new storage system called tacc.work.taccuser using the following json, which was stored in a file called tacc.work.taccuser.json:

{
  "id": "tacc.work.taccuser",
  "name": "Storage system for the TACC WORK directory",
  "description": "Storage system for the TACC WORK directory via Stampede2",
  "type": "STORAGE",
  "storage": {
    "host": "stampede2.tacc.utexas.edu",
    "port": 22,
    "protocol": "SFTP",
    "rootDir": "/work/01234/taccuser",
    "homeDir": "/",
    "auth":{
      "username":"taccuser",
      "publicKey": " <enter public key here> ",
      "privateKey": " <enter private key here> ",
      "type": "SSHKEYS"
    }
  }
}

If you need to change the hostname, paths, ssh keys, or any other field (other than the id, which is immutable), the appropriate method would be to edit the above file to reflect the change, then use the Tapis CLI to edit the existing storage system. For the purposes of this example, we may want to change the plain text name parameter to include more detail. Modify the json file and submit the changes as follows:

$ tapis systems update -F tacc.work.taccuser.json tacc.work.taccuser
+----------------------+----------------------------------------------------------+
| Field                | Value                                                    |
+----------------------+----------------------------------------------------------+
| id                   | tacc.work.taccuser                                       |
| name                 | Storage system for the TACC work directory via Stampede2 |
| type                 | STORAGE                                                  |
| default              | False                                                    |
| available            | True                                                     |
| description          | Storage system for the TACC WORK directory via Stampede2 |
| executionType        | None                                                     |
| globalDefault        | False                                                    |
| lastModified         | just now                                                 |
| maxSystemJobs        | None                                                     |
| maxSystemJobsPerUser | None                                                     |
| owner                | taccuser                                                 |
| public               | False                                                    |
| revision             | 2                                                        |
| scheduler            | None                                                     |
| scratchDir           | None                                                     |
| site                 | None                                                     |
| status               | UP                                                       |
| uuid                 | 383424038079107562-242ac112-0001-006                     |
| workDir              | None                                                     |
+----------------------+----------------------------------------------------------+

The plain text response should include the new value for the name parameter. You can also use the tapis systems history command to check that the update was accepted:

$ tapis systems history tacc.work.taccuser
+-------------+----------------------+-----------------------------------------------------+
| status      | created              | description                                         |
+-------------+----------------------+-----------------------------------------------------+
| CREATED     | 2020-05-12T04:57:03Z | This system was created                             |
| ROLES_GRANT | 2020-05-12T13:16:48Z | User jdoe was granted the role of GUEST by taccuser |
| UPDATED     | 2020-05-12T14:09:18Z | This system was updated                             |
+-------------+----------------------+-----------------------------------------------------+

Modify an Execution System

In a previous section we registered a new execution system for the Stampede2 HPC cluster. In our system description, we only included one queue (normal), although Stampede2 has many more queues available. To add an additional queue, return to the original json file called tacc.stampede2.taccuser.json and add another json object to the queue array:

Save that new file and update the existing system with the following:

$ tapis systems update -F tacc.stampede2.taccuser.json tacc.stampede2.taccuser
+----------------------+---------------------------------------+
| Field                | Value                                 |
+----------------------+---------------------------------------+
| available            | True                                  |
| default              | False                                 |
| description          | Execution system for TACC Stampede2   |
| executionType        | HPC                                   |
| globalDefault        | False                                 |
| id                   | tacc.stampede2.taccuser               |
| lastModified         | just now                              |
| maxSystemJobs        | 2147483647                            |
| maxSystemJobsPerUser | 50                                    |
| name                 | Execution system for TACC Stampede2   |
| owner                | taccuser                              |
| public               | False                                 |
| revision             | 2                                     |
| scheduler            | SLURM                                 |
| scratchDir           | /scratch/01234/taccuser/              |
| site                 | None                                  |
| status               | UP                                    |
| type                 | EXECUTION                             |
| uuid                 | 5042654862881657322-242ac113-0001-006 |
| workDir              |                                       |
+----------------------+---------------------------------------+

$ tapis systems queues list tacc.stampede2.taccuser
+------------+-------------+---------+-------------+------------------+
| name       | description | default | maxUserJobs | maxRequestedTime |
+------------+-------------+---------+-------------+------------------+
| skx-normal | None        | True    |          -1 | 48:00:00         |
| normal     | None        | False   |          -1 | 48:00:00         |
+------------+-------------+---------+-------------+------------------+