opened
vincent-legoll
username_0
Hello,

I'm new to irods, I installed the icommands on a fresh centos 7 VM,
following https://packages.irods.org recipe:
```
rpm --import https://packages.irods.org/irods-signing-key.asc
wget -qO - https://packages.irods.org/renci-irods.yum.repo > /etc/yum.repos.d/renci-irods.yum.repo
yum -y install irods-icommands
```

Then I iinit'ed my given credentials, and tested it works OK:
```
$ ils /
/:
  C- /FRGRID
$ imkdir test
$ ils
/FRGRID/home/vlegoll:
  C- /FRGRID/home/vlegoll/test
[vince@vl-irods-test ~]$ ils -A
/FRGRID/home/vlegoll:
        ACL - vlegoll#FRGRID:own   
        Inheritance - Disabled
  C- /FRGRID/home/vlegoll/test
```

But when trying to get more tested, I stumbled upon that error:
```
$ iput test.txt
remote addresses: 134.158.239.52 ERROR: putUtil: put error for /FRGRID/home/vlegoll/test.txt, status = -321000 status = -321000 USER_NO_RESC_INPUT_ERR
Level 0: DEBUG: execMicroService3: error when executing microservice
line 172, col 26, rule base core
acSetRescSchemeForCreate {msiSetDefaultResc("demoResc","null"); }
```

Is this meant to be understandable ? What am I missing ?

The iRods service I'm connecting to is a 3.X (I think) whereas the client I installed is (probably) 4.2.X.

Is there nothing to give meaningful error messages in case the backwards compatibility has been broken between those versions ?
iput cryptic error message
issue
created
trel
username_1
Hi Vincent,

Backwards compatibility has been a top goal, but mostly focused on server-to-server compatibility across a Federation of two differently versioned Zones.  If you're connecting to a 3.x Zone, it will be instructive to see whether the 3.x iCommands connect without any trouble.  You can confirm that the server is of a certain version with `imiscsvrinfo`.

The USER_NO_RESC_INPUT_ERR error itself suggests a possible misconfiguration on the server side - can you confirm that there is (not) a storage resource named `demoResc` in the Zone?  If the goal is to get files to land on a differently named resource by default, then the server needs to update the target of the `acSetRescSchemeForCreate` rule in `core.re`.

If you know the name of the storage resource you'd like files to land on, you can also try to put files there directly with:
```
$ iput -R <resc_name> test.txt
```
comment
created
vincent-legoll
username_0
How would I do that ?

But following your suggestion about ```iput -R```, I think something is not fully configured on my side, because I got ```irodsDefResource``` from my irods administrator, that I didn't know how to use. And using it with -R made it work OK.

And now with a bit of guessworks, I put it in "irods_default_resource" in .irods/irods_environment.json, and all is working properly client 4.2.X, servers on 3.3.1 !

Now the question remains about the cryptic error message...

Maybe adding a warning could help a bit:
"No resource specified, using default: 'demoResc'"
comment
closed
trel
username_1
issue
created
vincent-legoll
username_0
@username_1 the doc fix LGTM, thanks
comment