mark billingDb to be forbidden

It seems billingDb was used at least until 1.9.12 instead of the current
billingLogsDir but never marked as forbidden.

* Mark billingDb to be forbidden and replaced by billingLogsDir.

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
skel: httpd.properties mark plots subdir as obsolete

module: skel

The httpd.static-content.plots.subdir has not been used since 2.3.

Target: trunk
Acked-by: Tigran
Patch: http://rb.dcache.org/r/5557
Require-notes: no
Require-book: no
Request: 2.6
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7815
fixed RPM bash completion for dcache

The bash completion file for the RPM was broken, even if it was not using the
old /opt layout.

* Removed the path to the binary to be completed.

Require-notes: no
Require-book: no

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Merge pull request #43 from calestyo/repair-bash-completion

fixed RPM bash completion for dcache
switched another real domainname to example.org

* Changed the value of missing-files.plugins.semsg.broker.host to a better
  example hostname.

This should go to the release notes, as a previous value pointed to a real
server at CERN.

Require-notes: yes
Require-book: no

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
gplazma-xacml: turn down noise level

module: gplazma-xacml

It is unnecessary to log the lack of xacml mapping at the warn level.  This will clutter the log.

Changed to debug.

Target: master
Acked-by: Paul
Patch: http://rb.dcache.org/r/5560
Require-notes: no
Require-book: no
Request: 2.6
Merge branch 'master' into legacy-billing-options
mark more legacy options to be obsolete

It seems billingDbCommitRows and billingDbCommitIntervalInMilliseconds were used
at least until 1.9.12 and later replaced by similar options.
I use "obsolete" as both options seem to be not critical.

* Mark billingDbCommitRows to be obsolete and replaced by
  billingMaxInsertsBeforeCommit.
* Mark billingDbCommitIntervalInMilliseconds to be obsolete and replaced by
  billingMaxTimeBeforeCommitInSecs.

Require-notes: no
Require-book: no

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
drop gPlazma1 config file and options

gPlazma1 has been removed from master both as native code and as plug-in to
gPlazma2.

* Drop the gPlazma1 configuration file dcachesrm-gplazma.policy.
* Mark the options gplazmaPolicy and gplazma.legacy.config as being obsolete.

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
use a more secure default for webadminAdminGid

Haveing a default value of 1000 for webadminAdminGid seems a tiny bit insecure
to me. 1000 is in no way a special GID and might be already used for any group
even such that gPlazma may map to (actually we at LMU had a test user mapped
to 1000:1000 for a while).
0 (root) seems to be the only appropriate choice and aligns quite well to the
default of admin.ssh2.gid.
I'm not sure whether the choice of 1000 was made deliberately, but it seems
at least Gerd agrees that 0 would be better. So pick it if you like or not :).
The change should be noted in the release notes, as it may "break" the setup
of sites that actually used 1000.

* Changed the default value of webadminAdminGid to "0" (for the gid of root).

    Require-notes: yes
    Require-book: no

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Merge pull request #32 from calestyo/legacy-billing-options

Mark legacy billing options as forbidden or obsolete.

Acked-by: Gerd Behrmann <behrmann@nordu.net>
Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Merge pull request #45 from calestyo/drop-gplazma1-stuff

gplazma: Drop gPlazma1 config file and options

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Acked-by: Gerd Behrmann <behrmann@nordu.net>
Merge pull request #46 from calestyo/more-secure-webdav-auth

httpd: Change webadminAdminGid default to 0

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Acked-by: Gerd Behrmann <behrmann@nordu.net>
skel: fix billing database properties to work with dcache database commands

module: skel, defaults

While conditional initialization of the billing database works when the cell is created (via Spring), the database commands currently do not handle correctly the case where there is no billing database and billingToDb=no.  In particular, database ls lists the billing database regardless, and database update fails because it tries to run the liquibase changelog on a non-existent database.

To fix this, we have added conditional immutable properties in the style of several other default properties files.

Target: master
Patch: http://rb.dcache.org/r/5563
Require-book: no
Require-notes: yes
Request: 2.6
Request: 2.2
Bug: http://rt.dcache.org/Ticket/Display.html?id=7809
Acked-by: Paul

RELEASE NOTES:  Fixes a bug in the dcache database commands where update could not run if the billing database does not exist.  dcache database ls now correctly lists or does not list the billing database, depending on the billingToDb property, and dcache database update will ignore billing if billingToDb=no.
common: backoff fix error in precondition check

module: common

The ExponentialBackoffAlgorithmFactory checks to make sure that max >= min.  However, the precondition is actually checking two values which may not have the same time unit.

This patch fixes the precondition check to use the delays converted to milliseconds.

Target: master
Acked-by: Tigran
Patch: http://rb.dcache.org/r/5568
Require-notes: no
Require-book: no
Request: 2.6
nfsv4: use worker thread strategy in pools

Worker thread strategy gives a better performance
when the pool under high load

Acked-by: Gerd Behrmann
Target: 2.6, trunk
Require-book: no
Require-notes: no
Patch: http://rb.dcache.org/r/5562/
nfs: add more admin command to monitor door and movers

Acked-by: Gerd Behrmann
Target: trunk, 2.6
Require-book: yes
Require-notes: yes
Patch: http://rb.dcache.org/r/5561/
skel: gplazma batch failing because it still checks gplazmaPolicy

module: skel

https://github.com/dCache/dcache/commit/9b251e30dab1ecc6daa11551fd018df5a92d0731

broke gplazma in master because it obsoleted gplazmaPolicy but failed to remove the property check and property from the gplazma.batch file.

This patch repairs the batch so gplazma can run.

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

Testing:

Before:

(666) file:/usr/share/dcache/services/gplazma.batch: line 41: (666) env:startLogin.exe: line 3: (1) variable not define : gplazmaPolicy
16 May 2013 08:30:28 (System) [] Failure at startup: (666) file:/usr/share/dcache/services/gplazma.batch: line 41: (666) env:startLogin.exe: line 3: (1) variable not define : gplazmaPolicy

After:

gPlazma is happy.
dcache: fix billing liquibase add plpgsql changeset

module: dcache

Prior to version 8.4, postgres did not automatically contain support for plpgsql, and the language had to be explicitly added to the database.

The liquibase changeset was written to use an sqlCheck which was intended to execute the sql statement and ignore the warning that the language was already present.  For 8.4+ this worked fine, but on an actual 8.3 installation, the sql would not execute because sqlCheck required a return value and was getting none (what is shown in the interpreter after the statement is executed evidently is not a return value).  Hence the changeset fails entirely there.  Another disadvantage of this was the fact that the successful completion (where the warning is skipped) looked like an error and was confusing (see the ticket reported below).

Our approach here is to modify the original changeset by substituting for it two new ones with new ids which will behave correctly.  The absence of the old changeset from the changelog does not cause problems -- the entry for just continues to occupy a dead row in the databasechangelog table.

Target: master
Patch: http://rb.dcache.org/r/5572
Require-notes: no
Require-book: no
Request: 2.6
Request: 2.2
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7809
Acked-by: Tigran

Testing:

Ran the new changeset successfully over a previous installation without errors or warnings.
webadmin: make srmSpaceManagerEnabled aware; enable real backoff on collectors

module: webadmin

In order to populate the webadmin pages, data collector daemons are run which contact various services such as the PoolManager or the SpaceManager.  While it would be uncommon to run dCache with most of these services, it is not uncommon for the SpaceManager not to be there.  In this case, we would like to avoid running this collector; and in general, we would also like to backoff from pinging services which may be temporarily offline.

Some time ago, a backoff algorithm factory was added to use precisely for this reason.  However, the original constant recurrent message send/wait was for the moment maintained.

This patch does the following:

   - it passes through knowledge of the srmSpaceManagerEnabled property.  It is assumed here that the local dcache.conf file will reflect the actual setting, whereever the SpaceManager may be configured to run;

   - it slightly restructures several of the collectors so that backoff will occur at the correct place in the looping logic;
   - it creates and adds an exponential backoff algorithm to be used by the collectors most susceptible to not finding their single endpoints (PoolMonitor, RestoreHandler, SpaceToken).

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

Redeployed.

1.  With default, the SpaceToken collector does not run (srmSpaceManagerEnabled=no)
2.  Setting srmSpaceManagerEnabled=yes, but with no actual space manager running, observed the correct backoff behavior
3.  Adding space manager and starting the domain allowed the collector to connect on its subsequent iteration.