Skip to content

Releases: sdss/lvmgort

GORT 1.7.2

02 Mar 15:16
Compare
Choose a tag to compare

✨ Improved

  • Improved and simplified handling of user override configuration file.

🏷️ Changed

  • Start evening twilight flats two minutes after sunset by default.

πŸ”§ Fixed

  • Fix checking of AG camera pings in AcquisitionFailedRecipe.
  • Try-except errors during camera disconnected handling.
  • Use None as default when a RemoteCommand does not complete successfully.
  • Explicitly require lvmopstools>=0.5.9.
  • Fix logic when handling the EMIT_EVENT attrinute of GortError.

GORT 1.7.1

27 Feb 17:25
Compare
Choose a tag to compare

✨ Improved

  • Check if AG cameras are connected after an acquisition error and power cycle them if necessary.
  • Add a note to the DB when disabling a tile.

🏷️ Changed

  • Evening twilight flats now start three minutes after sunset.
  • Door alert now triggers unsafe conditions.

GORT 1.7.0

03 Feb 15:07
Compare
Choose a tag to compare

✨ Improved

  • Try-except the final closure of the dome after a calibration.
  • Ensure that the observing loop and calibrations are stopped if the dome is closed outside of the Overwatcher.
  • Add flag --close-dome to lvm.overwatcher disable to close the dome after disabling the Overwatcher. Requires using --now.

🏷️ Changed/removed

  • Prevent automatic dome closure by the Overwatcher if it is disabled and the alert is not critical (wind, humidity, etc.)
  • Removed the reset_lockout argument for the shutdown recipe since it's not required to allow the dome to move.
  • Do not close the dome during daytime if the Overwatcher is disabled.
  • Remove dome lockout after unsafe conditions. It may be reimplemented differently in the future.

πŸ”§ Fixed

  • Fixed a regression that would mark a retrying calibration as done.

GORT 1.6.0

26 Jan 18:16
Compare
Choose a tag to compare

✨ Improved

  • #47 Add DomeHelper lock when the dome fails to move.
  • Added try-excepts and timeouts to the different tasks in the Overwatcher shutdown routine to ensure that the dome closure is always attempted.
  • Move DomeHelper.startup() to Overwatcher.startup() and clean up observer code.
  • Retry emitting Overwatcher heartbeats.
  • Add additional checks to prevent concurrent attempts to open/close the dome.
  • Improve handling of errors during the focusing sequence in the Overwatcher.
  • Clarify the behaviour of min_time_between_repeat_notifications in the NotifierMixIn class.

πŸ”§ Fixed

  • Fixed a race condition that could prevent the shutdown of the dome when twilight was reached. Instead of commanding a shutdown inside the Overwatcher observing loop (which cancels the same task that is commanding it), the loop will now complete normally and the main Overwatcher task will command the shutdown.

GORT 1.5.1

15 Jan 13:18
Compare
Choose a tag to compare

πŸ”§ Fixed

  • Fixed an issue setting the initial calibrations schedule SJD.
  • Prevent a failed notification to raise an error by default.

GORT 1.5.0

14 Jan 23:28
Compare
Choose a tag to compare

πŸš€ New

  • Monitor and handle e-stops in the Overwatcher.

✨ Improved

  • Require two consecutive ping failures before restarting an actor.
  • Use overcurrent mode to close the dome if the normal mode fails.
  • Removed the shutdown() method in the DomeHelper and moved the logic to Overwatcher.shutdown().

πŸ”§ Fixed

  • Added a timeout to the lvmbeat set overwatcher command to prevent it from hanging indefinitely.
  • Fixed an issue that would crash the alerts task when checking the internet connection if the request timed out.
  • Ensure that CalibrationsOverwatcher.reset() is called.

GORT 1.4.0

01 Jan 16:45
Compare
Choose a tag to compare

πŸš€ New

  • #45 Added a health module that emits a heartbeat to lvmbeat and monitors actor health by ping, restarting them if found unresponsive. The pre-observing task now also perform that check.

✨ Improved

  • #44 RORR RID-019: disables the Overwatcher if rain is detected and requires a human to re-enable it when conditions are safe.
  • #46 RORR RID-017: treat lost connectivity to the internet or LCO as an unsafe condition and close.
  • Create the night log during the pre-observing task.
  • The gort overwatcher command now accepts a --verbose flat that allow to set the verbosity level of the messages output to the console while the Overwatcher is running (the file log level is always DEBUG). The default level is now WARNING.

🏷️ Changed

  • Removed the pubsub module and use lvmopstools instead.
  • Rename and expose RemoteCommand._run_command() to RemoteCommand.run().

πŸ”§ Fixed

  • Do not run the post-exposure checks when cancelling the loop.
  • Fix call to /notifications/create for new API version.

GORT 1.3.0

30 Nov 06:17
Compare
Choose a tag to compare

πŸš€ New

  • #39 Implement transparency monitoring.
  • Add observer schedule-focus-sweep command to Overwatcher actor to schedule a focus sweep before the next tile.

✨ Improved

  • #40 Slight internal restructuring of the core classes Gort, GortClient, device and remote actor classes. The main goal was to avoid any other part of the library knowing about GortClient, which does not include anything not related to its AMQP client function any more.
  • Use Retrier from lvmopstools to handle remote command retries.
  • Prevent repeat notifications with the same message.
  • Add retries to NPS commands.

πŸ”§ Fixed

  • Prevent trying to observe while a calibration is ongoing even if it's night.
  • Add max_start_time to bias_sequence to prevent if from running after twilight.

GORT 1.2.1

20 Nov 17:24
Compare
Choose a tag to compare

✨ Improved

  • #41 Only emit an error event when the exception is actually raised.
  • Report if the observer is focusing or troubleshooting.
  • Stop MoTAN devices before a new move and improve error reporting.
  • Allow fibre selector to rehome if a move fails.

πŸ”§ Fixed

  • Fix a bug that would cause the calibration module to always add a night log comment indicating that the calibration had failed.
  • Prevent the K-mirror from being homed and parked at the same time.

GORT 1.2.0

18 Nov 06:09
Compare
Choose a tag to compare

πŸš€ New

  • Overwatcher now reports error events via notifications. If the error happens while a tile is being observed, a comment in the night log is added.

✨ Improved

  • Roll over the GORT log when the SJD changes.
  • Improve the logic handling how the Overwatcher observer decides when to open or close the dome near evening or morning twilight.
  • Run a clean-up first in pre-observing in case the spectrographs are not in a good state.
  • Run some pre-observing checks before calling each GortObserver.observe_tile() in the ObserverOverwatcher. Currently only checks if the spectrographs have an error state and resets them.
  • Handle SPECTROGRAPH_NOT_IDLE errors in the troubleshooter.
  • Disable the Overwatcher and cancel observations if the dome fails to move.
  • Add retries for safe enclosure operations.

πŸ”§ Fixed

  • Fixed a bug that would prevent a new SJD to trigger an update of the ephemeris and calibrations.
  • Fix a bug that would leave the Overwatcher in cancelling mode if start_observing failed.