ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

Remote access: run read-only client on STFC cloud #5503

Closed Tom-Willemsen closed 4 years ago

Tom-Willemsen commented 4 years ago

As a user working remotely, I would like to be able to monitor my experiment at ISIS.

To do this, I would like to be able to run a read-only client on the STFC cloud.

Acceptance Criteria

Remote access requirements satisfied:

Notes

FreddieAkeroyd commented 4 years ago

Currently nicos script output is restricted to only be visible to localhost - this would need changing

FreddieAkeroyd commented 4 years ago

For easier deployment to STFC cloud #5509 would be needed, but is not strictly necessary

FreddieAkeroyd commented 4 years ago

See #5423

Tom-Willemsen commented 4 years ago

Current issues with linux build:

TLDR summary:

Detailed list:

To build/test this:

The automated build is best done as part of https://github.com/ISISComputingGroup/IBEX/issues/5509, which we should do if we want to go forwards with this solution.

Tom-Willemsen commented 4 years ago

The rendering issues in the blocks view were caused by a misuse of the SWT API - in a couple of places we were (indirectly) calling new Composite(parent, SWT.CENTER);. SWT.CENTER is not a valid flag for creating a composite, but unfortunately it shares a value with SWT.EMBEDDED (which tells SWT that this widget is non-native and will be drawn by another renderer). Windows doesn't support other renderers so this bit was being ignored - hence this not being an issue before.

FreddieAkeroyd commented 4 years ago

Great work @Tom-Willemsen. There is a genie python linux build taking shape in #5520, have you found any font issues or are all required fonts available on linux?

FreddieAkeroyd commented 4 years ago

Concerning "Device screens: some OPIs fail to open" - I think OPIs are OK regarding windows paths in linking container, but there were some windows style paths in opi_info.xml which i have pushed fix to branch. May be worth at some point:

Tom-Willemsen commented 4 years ago

I've now run out of time on my timebox for this. The remaining known issues are listed above (unticked).

In particular I think the next thing to look at would be tidying some of the "common" opis (e.g. choppers, eurotherms, galils). Once we know which instruments might use this solution in cycle, we can also tidy instrument-specific OPIs as needed.

PR is at https://github.com/ISISComputingGroup/ibex_gui/pull/1141

Note that at the moment there is not an automated build for this - this would be covered by https://github.com/ISISComputingGroup/IBEX/issues/5509 . The instructions for a manual build are at the bottom of my comment above.

FreddieAkeroyd commented 4 years ago

Works pretty well, had one crash on startup with

Gtk-Message: 11:21:51.085: GtkDialog mapped without a transient parent. This is discouraged.

but only once. You get regular nicos zmq connection errors printed in console which I think will go when #3022 is done

FreddieAkeroyd commented 4 years ago

For info, now added Linux build gui and python pipelines, includes jre and publishes results to \\olympic\babylon5\Scratch\IBEX