|     |     | 
| (2 intermediate revisions by 2 users not shown) | 
| Line 1: | Line 1: | 
| − | === Using SUPR-Test System for projects ===
 | + | #REDIRECT[[Swestore iRODS is decommissioned]] | 
| − |   |  | 
| − | https://disposer.c3se.chalmers.se/supr-test
 |  | 
| − |   |  | 
| − | If its a new person, click on Register New Person Button <br>
 |  | 
| − |   |  | 
| − | One can register 
 |  | 
| − |   |  | 
| − | 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 Swestore2017.
 |  | 
| − |   |  | 
| − | 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 isa more detailed description at
 |  | 
| − | https://docs.irods.org/4.2.1/icommands/user/
 |  |