spacemanager: Fix extraction of null values

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6509/
Restore compatibility with 2.6 pools

CHANGE_TIME is not available in 2.6 code and the enum can thus
not be deserialized. This is obviously a flaw in the design of
the FileAttributes class making it difficult to add new
attributes, but for now this patch restored pool compatibility
by not including that attribute by default.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6510/
spacemanager: Remove file count from space reservation list

The file count is way too expensive to retrieve.

Target: trunk
Require-notes: no
Require-book: yes
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6511/
nfs: Prevent NFS door from starting if schema is not up to date

Although we do not want NFS doors to update the Chimera schema
(PnfsManager does that), we should still check whether the schema
is up to date.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6505/
ssh1: Remove service from dCache

Code will be removed later.

Target: trunk
Require-notes: yes
Require-book: yes
spacemanager: Fix unlock of allocated files on delete

The code made the wrong assumption that having a pnfs id bound
to the record implies that it cannot be in ALLOCATED. Since assumption
is wrong.

Target: trunk
Require-notes: no
Require-book: no
spacemanager: Improve CLI errors

In case of lookups for specific entities, the EmptyResultDataAccessExcption
message contains enough information to describe the error. This patch avoids
that a lengthy causal chain of exceptions are printed to the shell for something
that must be considered a common error.

Target: trunk
Require-notes: no
Require-book: no
spacemanager: Fix link group overallocation trigger

There is a database trigger that should prevent overallocation of link groups.
Over allocation can of course not be prevented as pools may go offline at any
time, but we can avoid that space manager increases its allocation beyond what
is available at a given moment in time.

The trigger fails a link group update if the available space is negative and
the amount of reserved space increases. This should allow reservations to be
decreased in size even when space is currently overallocated due to pools
being offline.

The existing check however fails for the use case of flushing files to tape:
The space consumed by flushed files is released back into the reservation. This
causes the reserved space in the link group to increase, but so does the free
space and the available space should thus be the same. The check however only
looks at whether the reserved space increases - not whether available space
decreases.

The fix is to look at the avaible space instead: Once negativ, no decrease in
available space is allowed. The challenge is that free space is updated
asynchronously - so the corresponding increase in free space may not be
reported until minutes later. The existing triggers already contained a
heuristic to decrease free space prior to the asynchronous update, but never to
increase it to avoid counting the same free space twice. The patch changes the
logic such that srmspace triggers both increase and decrease of free space in
the link group, however a before trigger on the link group ensures that only a
decrease is made persistent (thus still preventing counting free space twice).
The benefit is that the trigger can now get an accurate picture of changes in
available space. The change also makes the code more dry.

Target: trunk
Require-notes: no
Require-book: no
spacemanager: Fix NPE when creating infinite reservations

Target: trunk
Require-notes: no
Require-book: no
cells,ftp: Take care to initialize the CDC

Fixes several cases of the CDC not being initialized.

Target: trunk
Require-notes: no
Require-book: no