Difference between revisions of "SNIC storage/supr test irods"

From SNIC Documentation
Jump to: navigation, search
(Using SUPR-Test System for projects)
(Swestore iRODS is decomissioned)
(Tag: New redirect)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
=== Using SUPR-Test System for projects ===
+
#REDIRECT[[Swestore iRODS is decommissioned]]
 
 
The SUPR-Test System can be accessed via
 
 
 
https://disposer.c3se.chalmers.se/supr-test
 
 
 
If its a new person, click on Register New Person Button <br>
 
 
 
One can
 
 
 
1) Register via SWAMID
 
 
 
2) Register without SWAMID
 
 
 
If you are a PI, login to SUPR-Test
 
 
 
1) Click on Rounds on the left Panel and select MAX IV Swestore 2017.
 
 
 
2) Click on Create new Proposal for MAX IV Swestore 2017 button.
 
 
 
3) Give a project title and Create proposal.Alternatively you can clone an existing project from the dropdown.
 
 
 
5) The directory name for the project should be simple and not contain any spaces.It would the project/directory name in irods
 
 
 
6) PI can add Co-Investigators to the proposal. Alternatively they can be added as members once the proposal is approved.
 
 
 
7) Proposal is submitted and once approved a project is created.
 
 
 
8) A Python script is run in the background which picks the project and user data and creates corresponding project and users in test-irods.
 
 
 
9) User can follow the below instructions to access test-irods.
 
 
 
=== Client setup to use the test-irods system ===
 
 
 
The iRODS system 'test-irods' is a test system we use to
 
test upgrades and functionality. It a collection of
 
Xen virtual machines running CentOS 6.9 and iRODS 4.1.8
 
at the moment. There is one iCAT server and two iRODS
 
storage server nodes.
 
 
 
To access the system it is preferable to use the same
 
version of the client as the server but theoretically
 
it should also work with other versions of the client as
 
well.
 
 
 
Easiest and most tested is the Unix command line client.
 
On a cluster like Aurora most probably this is going to
 
be the one to be used.
 
 
 
 
 
==== Installing the iRODS iCommands client ====
 
 
 
To install the latest 4.2.1 command line client the
 
instructions are on the iRODS web site at:
 
  https://irods.org/download/
 
and
 
  https://packages.irods.org/
 
.
 
 
 
On a CentOS Linux variant as root:
 
Get the signing key.
 
  rpm --import https://packages.irods.org/irods-signing-key.asc
 
 
 
Get the repository description file.
 
  wget -qO - https://packages.irods.org/renci-irods.yum.repo >/etc/yum.repos.d/renci-irods.yum.repo
 
 
 
Install the package.
 
  yum install irods-icommands
 
It will ask to confirm to import the iRODS package signing key
 
and then ask to confirm going ahead with installing the package
 
and the dependencies. The command line client executables will go
 
under <code>/bin</code>.
 
 
 
The iRODS client will need to be able to talk to the iRODS iCAT server
 
and the resource servers at ports 1247 and 20000..20199. (Those are
 
the defaults.) Firewall / packet filtering should allow outgoing connections
 
to those ports.
 
 
 
 
 
==== Configuring the iRODS iCommands client ====
 
 
 
To be able to use the iRODS command line client a user has to have
 
a configuration file in place which describes how to access the
 
iCAT server. The file has <code>json</code> format (with the latest
 
versions.)
 
 
 
An example file would look like this:
 
<pre>
 
{
 
    "irods_host": "<irodshost>",
 
    "irods_port": <port>,
 
    "irods_default_resource": "<resourcename>",
 
    "irods_home": "/<zonename>/home/<username>",
 
    "irods_cwd": "/<zonename>/home/<username>",
 
    "irods_user_name": "<username>",
 
    "irods_zone_name": "<zonename>",
 
    "irods_client_server_negotiation": "request_server_negotiation",
 
    "irods_client_server_policy": "CS_NEG_REFUSE",
 
    "irods_encryption_key_size": 32,
 
    "irods_encryption_salt_size": 8,
 
    "irods_encryption_num_hash_rounds": 16,
 
    "irods_encryption_algorithm": "AES-256-CBC",
 
    "irods_default_hash_scheme": "SHA256",
 
    "irods_match_hash_policy": "compatible",
 
    "irods_server_control_plane_port": 1248,
 
    "irods_server_control_plane_key": "TEMPORARY__32byte_ctrl_plane_key",
 
    "irods_server_control_plane_encryption_num_hash_rounds": 16,
 
    "irods_server_control_plane_encryption_algorithm": "AES-256-CBC",
 
    "irods_maximum_size_for_single_buffer_in_megabytes": 32,
 
    "irods_default_number_of_transfer_threads": 4,
 
    "irods_transfer_buffer_size_for_parallel_transfer_in_megabytes": 4
 
}
 
</pre>
 
Names in the angle brackets are placeholders to be replaced with the
 
actual values (without the angle brackets as in the file below).
 
  irodshost is the fully qualified name of the irods host (with the dots).
 
  port is the port the iCAT server is using, the default is 1247
 
  resourcename is the name of the default resource to be used
 
  zonename is the name of the iRODS zone
 
If not sure about these please ask a system administrator.
 
 
 
In out case:
 
<pre>
 
{
 
    "irods_host": "test-irods.nsc.liu.se",
 
    "irods_port": 1247,
 
    "irods_default_resource": "demoResc",
 
    "irods_home": "/tempZone/home/s_jonli",
 
    "irods_cwd": "/tempZone/home/s_jonli",
 
    "irods_user_name": "s_jonli",
 
    "irods_zone_name": "tempZone",
 
    "irods_client_server_negotiation": "request_server_negotiation",
 
    "irods_client_server_policy": "CS_NEG_REFUSE",
 
    "irods_encryption_key_size": 32,
 
    "irods_encryption_salt_size": 8,
 
    "irods_encryption_num_hash_rounds": 16,
 
    "irods_encryption_algorithm": "AES-256-CBC",
 
    "irods_default_hash_scheme": "SHA256",
 
    "irods_match_hash_policy": "compatible",
 
    "irods_server_control_plane_port": 1248,
 
    "irods_server_control_plane_key": "TEMPORARY__32byte_ctrl_plane_key",
 
    "irods_server_control_plane_encryption_num_hash_rounds": 16,
 
    "irods_server_control_plane_encryption_algorithm": "AES-256-CBC",
 
    "irods_maximum_size_for_single_buffer_in_megabytes": 32,
 
    "irods_default_number_of_transfer_threads": 4,
 
    "irods_transfer_buffer_size_for_parallel_transfer_in_megabytes": 4
 
}
 
</pre>
 
To use PAM authentication (that is with the Yubikey) you will need one
 
additional line:
 
<pre>
 
    "irods_authentication_scheme": "PAM",
 
</pre>
 
to be inserted _before_ the line with
 
<code>irods_transfer_buffer_size_for_parallel_transfer_in_megabytes</code>.
 
Please note the comma at the end of the line.
 
 
 
The configuration file needs to be placed in the directory <code>.irods</code>
 
under the home directory, named <code>irods_environment.json</code>.
 
 
 
To be able to use the iRODS system first the user has to be authenticated.
 
This is done using the <code>iinit</code> command.
 
  iinit
 
It will ask for a password, which should have been already sent in an e-mail.
 
For the users who are given a Yubikey the device should be inserted into
 
a USB port at this point and the gold plated button should be pressed
 
for a few seconds. In case the authentication was successful the
 
command prompt is returned.
 
 
 
From then on the iRODS iCommands should be available to use.
 
 
 
 
 
==== Using iCommands ====
 
 
 
All icommands give help using the command line switch <code>-h</code>.
 
The most useful commands are:
 
  iinit
 
  ils
 
  iget
 
  iput
 
  irsync
 
 
 
 
 
For more information see:
 
https://irods.org/uploads/2016/06/irods_beginner_training_2016.pdf
 
from Chapter 5.2 (page 16) in the document. This is an introduction
 
on how to use iRODS.
 
 
 
There is a more detailed description at
 
https://docs.irods.org/4.2.1/icommands/user/
 

Latest revision as of 10:15, 8 February 2023