DiamondLightSource / DiamondLightSource/mx-bluesky

`hyperion-blueapi` requires write permissions to /data in order to create the storage directories

Open
#1,780 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4
Forks
5
Avg merge
1d 30m
Merged PRs (30d)
2

Description

Currently `hyperion-blueapi` contains code in the parameter model validator `validate_directories()` that writes to the data directory whenever the model is validated, in order to ensure that the `storage_directory` exists.

Ideally we would not need to do this so that we can run with reduced privileges, however this will require the callbacks to do this, before we start collection.

Do we also still want to support inline creation for use cases where other non-UDC beamlines don't have to register fiddly callbacks?

## Acceptance Criteria
- `hyperion-blueapi` doesn't create the directories itself

Contributor guide

Open the contributing guide

Research direction

Start at the parameter model validator validate_directories() and trace how storage_directory is handled during validation. Check the callback path that runs before collection, then update the behavior so hyperion-blueapi does not create directories itself and verify the acceptance criterion without relying on unspecified inline creation behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.