Repository: rucio/rucio

Issue:
Misleading warning in srm scheme 
Motivation
----------
The srm scheme currently requires space_token as  extended_attribute, however when space_token is not set, rucio complains about  extended_attributes and web_service_path not specfied.

Modification
------------
Happens in these lines: 
https://github.com/rucio/rucio/blob/5fa4bb25b6f5b75913773b65217a5fcde6e94f1c/lib/rucio/core/rse.py#L691-L692

Expected behavior
-----------------
Ideally , space_token would be an optional attribute,  and if not used, no spacetoken should be passed to FTS transfer job submission command.    See also  #574
Documentation overhaul for the workshop
This issue is used to track the changes and todos necessary for the general documentation overhaul for the workshop.

# General tasks
## General information
- [x] Concepts and Terminology (#566, @bari12)
- [x] Architecture (@bari12) - Depending on how much needs to be done, some help might be needed here

## Developer documentation
- [x] Contributer guide (from github) - should be only one line in the TOC (@vingar)
- [x] Installing dev environment (@vingar) - Docker example written by @berghaus can be used here.
- [x] REST API description (@tbeerman) - Some general information, some examples, rest auto generated
- [x] API description auto-generated (@vingar)
- [x] CLI description auto-generated (@vingar @cserf) for rucio, rucio-admin utilities and daemons

## User documentation
- [x] Installing Rucio clients (@cserf) - Mostly already there, only docker part needs to be added
- [x] Rucio Clients howto (#551, @cserf, @TomasJavurek) - Should be a generalized version of the ATLAS RuucioHowTo
- [x] Demo section based on docker and different steps (#696 @tbeerman, @cserf) - Basically installing a server, daemons etc in docker and then doing some things in this env

## Operator documentation
- [x] General information (@mlassnig) - Different ways of deploying rucio. Dependencies (DB, Transfertool, Messaging, Monitoring)
- [ ] Docker deployment
- [x] How to configure Rucio: rses, accounts, etc (#736,  @cserf)
- [x] How to version the DB with alembic, upgrade and downgrade instructions (@mlassnig)
- [ ] (Puppet deployment)
- [ ] (Kubernetes deployment)

# Bits & Pieces
- [x] Concepts needs to be expanded with information how a replica actually works on storage, with a dataset as example; how deterministic/non deterministic works; how scopes come into play etc. (@bari12)
- [x] How to connect and configure a stroage element to Rucio (@cserf)
- [ ] We also need something about dumps and ACLs in the op documentation
- [ ] How consistency and recovery can be done
- [x] List of return codes of bin/rucio (@mlassnig)


Discussion:

Resolving patch:
diff --git a/lib/rucio/core/rse.py b/lib/rucio/core/rse.py
--- a/lib/rucio/core/rse.py
+++ b/lib/rucio/core/rse.py
@@ -688,7 +688,7 @@ def add_protocol(rse, parameter, session=None):
             pass  # String is not JSON
 
     if parameter['scheme'] == 'srm':
-        if ('space_token' not in parameter['extended_attributes']) or ('web_service_path' not in parameter['extended_attributes']):
+        if ('extended_attributes' not in parameter) or ('web_service_path' not in parameter['extended_attributes']):
             raise exception.InvalidObject('Missing values! For SRM, extended_attributes and web_service_path must be specified')
 
     try:
diff --git a/lib/rucio/vcsversion.py b/lib/rucio/vcsversion.py
--- a/lib/rucio/vcsversion.py
+++ b/lib/rucio/vcsversion.py
@@ -4,8 +4,8 @@
 '''
 VERSION_INFO = {
     'final': True,
-    'version': '1.14.8',
-    'branch_nick': 'patch-0-1_14_8_preparation',
-    'revision_id': 'a4ef2f5cc53991862d6e2efc0970ec45ff70c7d4',
-    'revno': 5846
+    'version': '1.14.9',
+    'branch_nick': 'patch-0-Rucio_1_14_9_preparation',
+    'revision_id': '0d16b4bd29d1dc7acd0d4947e8a0c32920be9216',
+    'revno': 5902
 }


Test patch: