DiamondLightSource / DiamondLightSource/mx-bluesky

Move Hyperion to BlueAPI

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

Description

We are increasingly working on Bluesky for beamlines using BlueAPI. Hyperion currently doesn't really use BlueAPI, and this us causing some code duplication and general messiness.

For example,
- We will have two almost identical helmcharts with the same config, but one is for the Hyperion service and one is for mx-bluesky-blueapi
- Device instantiation works differently: https://github.com/DiamondLightSource/mx-bluesky/issues/1116

We should start to call our plans via the BlueAPI server instead of a separate Hyperion one.

Note that relying on BlueAPI fully for Hyperion will make releases more difficult due to its dependence on dodal (see https://github.com/DiamondLightSource/mx-bluesky/issues/922#issuecomment-2813252324). We should probably only begin this issue once https://github.com/DiamondLightSource/dodal/issues/1189 is completed

## Acceptance Criteria
- Hyperion calls its plans via BlueAPI's server

### Subtasks

* DiamondLightSource/blueapi#506 - done as far as we are concerned but core still have this open for their own reasons
* #1364 - Update deployment documentation and scripts to deploy hyperion experiment plans as a blueapi server
* #1365 - Separate out hyperion baton handler into its own service
* DiamondLightSource/bluesky-stomp#14 - External callbacks to communicate via stomp instead of 0mq
* #1366 - `hyperion_restart()` to relaunch the blueapi and/or supervisor process
* ~#1367 - remove obsolete Hyperion experiment plans~
* #840
* DiamondLightSource/dodal#1189
* DiamondLightSource/blueapi#1236
* DiamondLightSource/blueapi#732
* #1376 - Authentication for hyperion-blueapi - probably need client ID, get from UAS request?
* #1377
* #1400
* #1532
* #1674

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.