Aksel Lunde Aase

Results 11 issues of Aksel Lunde Aase

This PR adds type annotations to some function definitions in `ReplicaClient`. Typed dictionaries and Literal types are created in the `rucio.common.types` module, so that the same types can be reused...

According to the [Rucio Documentation](https://rucio.cern.ch/documentation/developing_with_rucio/#date-format) the server should treat all naive datetime objects as UTC. Unfortunately, `datetime.now()` was used extensively, which returns the server's local time instead of UTC time....

Core & Internals

This PR adds the subcommands `generate-for-commit` and `compare-with-commit` to `tools/run_pyright.sh`. These actions act similar to `generate` and `compare`, except that they operate on a specific git commit instead of the...

enhancement

This PR introduces tooling for the Pyright Python type checker, usable both as a local tool during development, and also integrated into the CI pipeline. The CI check works in...

Motivation ---------- As implemented in #5750, the `tools/run_pyright.sh` allows generating and comparing Pyright reports. However, the workflow to compare errors from two different commits is quite tedious, as shown: ```sh...

enhancement
Testing

Motivation ---------- Building on #4455, now that Python 2.7-support is over, enabling a static type checker is easier. This additional tooling will help catch new programmer errors and probably reveal...

enhancement
Testing

Motivation ---------- Type annotations help prevent programmer errors and serve as documentation for users of the `rucio.client` package. Implementing annotations for all Rucio clients would therefore improve the experience of...

enhancement
Clients

Motivation ---------- The REST API and Clients components serializes `datetime.datetime` objects to strings for transmission between client and server. Proper treatment of time zones is important to prevent confusion around...

enhancement
Clients
REST & API

Motivation ---------- In the test suite `@pytest.mark.dirty` is used to categorize tests that create persistent structures (files, DB, ...). For instance, `test_rse.py::TestRSECoreApi::test_empty_rse` creates a new RSE, and is therefore marked...

enhancement
Testing

I have a camera attached to a vehicle controlled by TrafficManager. If the vehicle gets stuck, TrafficManager will eventually remove the actor. The camera isn't removed automatically though, and I...