chimera: tigger action with FsInode_PSET#setStat()

requires corresponding nfs changes

Ticket: #8201
Acked-by: Albert Rossi
Acked-by: Gerd Behrmann
Target: master, 2.6, 2.7
Require-book: no
Require-notes: no
pool: Fixing rep ls output, RT 8203

Output of rep ls <pnfsID that exists> <pnfsID that does not exist> <another pnfsID that exists> would show:
<pnfsID that exists> <C-------X--L(0)[0]> 2255071 si={test:disk}
CacheException(rc=10007;msg=Entry not in repository : <pnfsID that does not exist would show>)
<another pnfsID that exists> <C-------X--L(0)[0]> 2255071 si={test:disk}

Now it show this:

[wla000617wpa.desy.de] (pool_write) admin > rep ls 0000B27FEE232A7840A7ADCBEBEE57886730 00000DC04577984D4FCD9610F44B19CF3BD7 00000DC04577984D4FCD9610F44B19CF3B23 00000DC04577984D4FCD9610F44B19CF3B45
0000B27FEE232A7840A7ADCBEBEE57886730 <C-------X--L(0)[0]> 2255071 si={test:disk}
00000DC04577984D4FCD9610F44B19CF3BD7 <C-------X--L(0)[0]> 10002434 si={test:disk}
CacheException(rc=10007;msg=Entry not in repository : 00000DC04577984D4FCD9610F44B19CF3B23)
CacheException(rc=10007;msg=Entry not in repository : 00000DC04577984D4FCD9610F44B19CF3B45)

Ticket: 8203
Acked-by: Gerd
Target: trunk
Require-book: no
Require-notes: yes
nfs4: fix orphan proxy movers

Check client state before starting a proxy mover.
This prevents orphan movers when client recovery failed
or stateid provided by client is not valid.

Acked-by: Gerd Behrmann
Target: master, 2.7
Require-book: no
Require-notes: no
Drop chimera-cli script

Has been replaced by chimera shell.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6449/
spacemanager: Add missing update of deleted flag

Also refactored File class to use a boolean for this flag.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Dmitry Litvintsev <litvinse@fnal.gov>
Patch: http://rb.dcache.org/r/6451/
spacemanager: Don't accept output retention policy

Since we don't implement output in dCache, there is no
point in allowing such reservations to be created.

Target: trunk
Require-notes: no
Require-book: no
Acjed-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6453/
spacemanager: Fix help output of reserve space

@Argument help is currently not rendered as part of the help
output. This patch moves the mentioning of the optional suffix
to the main description.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6454/
spacemanager: Minor UI improvements

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6455/
pool: Follow up cd0c482af5338249c064f0cbe889bdc2c1790c0f - Make rep ls output more efficient

This is a follow up patch to https://github.com/dCache/dcache/commit/cd0c482af5338249c064f0cbe889bdc2c1790c0f
The initial commit message did not say that commit cd0c482af5338249c064f0cbe889bdc2c1790c0f actually prevents
rep ls from getting interrupted by a FileNotFoundException.

This patch just improves the data structure and resourcces needs.

Changed some internal data structure to reduce resource needs.

Ticket: 8203
Acked-by: Gerd (verbally)
Target: master, 2.6, 2.7
Require-book: no
Require-notes: no
Patch: http://rb.dcache.org/r/<id>/
backoff-controller: update unit-tests, refactor code

The current unit-tests rely on the code requesting a delay of x
milliseconds resulting in an actual delay of, at most, (x+100)ms.

Operating systems make no such guarantee and we have had a few cases
where dCache builds have failed because of this.

This patch refactors backoff-controller and the unit-tests to remove this
assumption.  The backoff-controller was simplified.  The superfluous builder
was removed.  The unit-tests updated to remove dependency on exponential-
backoff algorithm, add assertions of the overall response and cover more
possible behaviours.

Target: master
Requires-notes: no
Requires-book: no
Patch: http://rb.dcache.org/r/6463/
chimera: refactor PGET into abstract node

Given the fact that we would like to optimize the size of the file handles on the ".(get)" operations by not including the arguments, it now makes no sense to have the FsInode_PGET represent any concrete operation. Instead, we would like a hierarchy of get operations which have the basic read mechanism in common.

This patch represents the first of a two part refactoring.  It does the following:

1.  Changes FsInode_PGET to an abstract node.
2.  Implements the degenerate case (cursor) as a separate subclass FsInode_PCUR.
3.  Changes FsInode_CRC (checksum) to be a subclass of PGET.
4.  Adjusts the FsInodeType to reflect these changes.
5.  Modifies the JdcbFs class accordingly.

Testing: Works on both nfs 3 and nfs v4.1.

Target: master
Request: 2.7
Patch: http://rb.dcache.org/r/6407
Require-book: no
Require-notes: no
Acked-by: Tigran

Changes are invisible to user.
chimera: refactor PGET, part 2: eliminate caching of file locality node

Use of the Guava cache to maintain state on the FsInode used to convey locality information is unnecessary if the operation subclasses the abstract PGET operation.

The slight disadvantage is that a call to the PoolManager will be made each time stat() is called by the client; the advantage is that the server is not maintaining state on client operations, which does not really fit the NFS protocol and was something of a hack.

This patch completes the refactoring begun in 6407.  It changes the FsInode_PLOC to subclass PGET, removes the caching mechanism from the DCacheAware fs interface, and adds one method the FileSystem API (getFileLocality).

Testing: Tested successfully on nfs3 and nfs v4.1.

Target: master
Request: 2.7
Patch: http://rb.dcache.org/r/6409
Require-book: no
Require-notes: no
Depends-on: http://rb.dcache.org/r/6407
Acked-by: Tigran

Changes are invisible to the user.
chimera: make lstag argument optional

The ls command takes an optional path as an argument.  This patch
adds the same functionality to lstag.

Target: master
Requires-book: no
Requires-notes: no
Acked-by: Gerd Behrmann
Patch: http://rb.dcache.org/r/6443/
chimera: add an rm command to shell

Adds a command to delete a file (or sym-link) in dCache.

Target: master
Requires-notes: yes
Requires-book: yes
Patch: http://rb.dcache.org/r/6447/
Acked-by: Gerd Behrmann
glue: do not assume PoolManager runs in dCacheDomain

The GLUE information model accepts a single 'version' value, yet
dCache is a distributed system and could have many different versions
running concurrently. To solve this problem, the info-provider uses
the dCache version of the PoolManager as "the" dCache version.

Currently, the info-provider assumes that PoolManager is running in
dCacheDomain; although many sites have this configuration, it isn't
a safe assumption.

This patch removes this assumption: the PoolManager version is used
irrespective on which domain it is running in.

Target: master
Request: 2.7
Request: 2.6
Request: 2.2
Ticket: http://rt.dcache.org/Ticket/Display.html?id=8150
Patch: http://rb.dcache.org/r/6350/
Acked-by: Karsten Schwank
spacemanager: Fix trigger name in HSQLDB triggers

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6464/
Revert "srm: fix Copy scheduling"

This reverts commit c547ddd5660884703044775d180ae22da01ba69a.
Revert "srm: refactor SchedulerFactory"

This reverts commit 1193536caf59037b34ca07b37a60203d458acd90.
deb: Append timestamp to snapshot builds

Target: trunk
Require-notes: no
Require-book: no
spacemanager: Remove empty expired or released reservations

There is no point in keeping an empty reservation that has expired or has
been released.

Target: trunk
Require-notes: yes
Require-book: yes