1.30.0
Upgrade Instructions
This feature release requires a database schema upgrade. Please consult the documentation about upgrading your database schema.
The following changes are necessary and are covered by the alembic upgrade head
command:
-
Correcting length of
rse_expression
in rule history tables (Alembic revision83f991c63a93
) -
Conveyor throttler evolution (Alembic revision
13d4f70c66a9
)- Creation of
transfer_limits
table - Drop and re-creation of
rse_transfer_limits
table
- Creation of
-
Dropping/Renaming of several columns in the
distances
table (Alembic revision140fef722e91
)
Important changes
-
Most metric names were changed in this release. If you collect prometheus and/or statsd metrics, the monitoring dashboards and alerting rules will have to be updated.
- Important Note (unrelated to this particular release)
- The prometheus metrics are the main supported way of collecting metrics since
1.28
. - There are no plans to deprecate carbon metrics yet, but there is no active development in this field anymore.
- This update may be a good opportunity to switch to native prometheus metrics. Especially if you use prometheus anyway and rely on the
statsd exporter
to bridge the gap between statsd and prometheus.
- The prometheus metrics are the main supported way of collecting metrics since
- Important Note (unrelated to this particular release)
-
Deactivation of automatic
https-\>davs
translation for transfers- This automatic translation was necessary in the past but should be largely deprecated due to more recent versions of storage software
- If you notice issues related to this, you can turn translation back on by setting the config option
[transfers]rewrite_https_to_davs=True
-
Support RFC format for X509 identities
- There are two formats: an RFC-compliant (e.g.
CN=John Doe,OU=Users,DC=example,DC=com
) and a legacy (e.g./DC=com/DC=example/OU=Users/CN=John Doe
) - In Rucio
1.29
and prior, X509 identities must be stored in the legacy format and the authentication server tries to silently convert them from the RFC to the legacy format, if necessary - In Rucio
1.30
, this conversion has been removed- Communities who would like to keep using the legacy format must ensure that
LegacyDNStringFormat
in mod_ssl is enabled
- Communities who would like to keep using the legacy format must ensure that
- There are two formats: an RFC-compliant (e.g.
-
Almost all fields from the distances table are removed. The only important field preserved from
1.29
to1.30
isranking
(renamed todistance
). Rucio1.30
is compatible both with the old1.29
table format and the1.30
table format. If you desire to run Rucio1.29
and1.30
in parallel, database migrations associated with the "distances" table must be delayed until the full migration of all daemons and servers to1.30
-
The throttler rules format has changed in an incompatible way. The update of the database schema will result in removal of all existing throttling rules. Rules in the new format must be created before running throttler again, otherwise all waiting requests will be transitioned to queued state and be submitted without throttling.
General
Features
- Authentication & Authorisation: Support RFC format for X509 identities #5842
- Core & Internals: Introduce heartbeat handler to all daemons #5443
Enhancements
- Core & Internals: Remove
retrying
dependency #5344 - Core & Internals: Proper versioning for policy packages #5652
- Core & Internals: Enforce tokens by default in Flask #5822
- Core & Internals: switch to lazy-filling of account_usage counters #5914
- Core & Internals: fix type of 'session' function arguments #5947
- Monitoring & Logging: rework prometheus/statsd metric names #5804
- Protocols: Remove
pysftp
protocol #5347 - REST & API: remove traces endpoint from the default list in flask #5958
- Subscriptions: Introduce new exclude_site algorithm for chained subscriptions #5935
- Testing: Fix unit tests for non-ATLAS policies round 2/3 #5839
- Transfers: Re-work/cleanup
distance
table #5454 - Transfers: rework conveyor-throttler #5805
- Transfers: remove https->davs translation on FTS submission #5993
Bugs
- Database: Alembic context issue with move_rse_artributes_to_rse_attributes migration #5823
- Database: incorrect rse_expression length in rule_history* migrations #5846
- globus RSE protocol silently ignores errors #5987
- Protocols: webdav.py Default.stat() module: Match error when finding size of current file #5308
- Protocols: WebDAV protocol XML parser doesn't handle XML namespaces correctly #5700
- Protocols: bad-str-strip-call errors in pylint #6002
Clients
Enhancements
- Clients: Fix Potential for time zone confusion #5781
WebUI
Enhancements
- WebUI: r2d2 list_rules link is broken, gives 404 #5970