Skip to content

Releases: simonsobs/ocs

v0.11.0

29 Apr 20:14
bafc2f4
Compare
Choose a tag to compare

Description

Release v0.11.0 drops support for Docker Compose v1 in the Host Manager agent and adds support for Docker Compose v2. It also comes with improvements to the session.status object. Lastly, we have stopped publishing the ocs-utils image, which has not been properly maintained for a while now.

Compose v2 Update

OCS users relying on the Host Manager Agent likely already have Compose v2 installed, but should migrate to Compose v2 and remove v1. Using v1 may result in some errors preventing updates to services.

session.status Update

Details on this update can be found in #371. One added feature is the new "DEGRADED" OpCode value. See the updated documentation for how to use this to monitor the state of an agent.

Additionally, session.status is now placed into the "RUNNING" state automatically just before the agent operation is launched. Agent developers no longer need to call session.set_status('running') explicitly within their agents. Any instances of session.set_status('starting') should be removed from existing Agents, as they will cause an error related to the session status going backwards. session.publish_status has also been removed.

What's Changed

New Features

Bug Fixes

  • Fix bug in how args are parsed from site-config by @jlashner in #378

Version Updates

Misc.

Full Changelog: v0.10.4...v0.11.0

v0.10.4

08 Jan 15:06
078bbcb
Compare
Choose a tag to compare

Description

Release v0.10.4 fixes a data duplication bug that can occur under certain circumstances in any agent that subscribes to a Feed. Within the core OCS agents this means the aggregator and InfluxDB publisher agents. The bug occurs when a network interruption disrupts the connection between the crossbar server and the subscribing agent, depending on the state of the crossbar server. Details are available in #366. Users are encouraged to update their agents.

What's Changed

Full Changelog: v0.10.3...v0.10.4

v0.10.3

13 Nov 19:05
da25bd8
Compare
Choose a tag to compare

Description

Release v0.10.3 focuses on the Host Manager Agent and introduces a configurable agent timeout for crossbar disconnects. Users are encouraged to upgrade.

Host Manager

There are many bug fixes and some new features for the Host Manager introduced by #353. For details see the "Centralized Management" page in the docs. One highlight in particular is the new "manage" options, detailed in "Advanced host config". These changes should also enable running a single Host Manager where two previously were run (one for agents on the host, and one for agents within Docker containers.)

Crossbar Timeout

The "crossbar-timeout" setting allows for agents to wait longer for the crossbar server to come back online before shutting down. They can wait indefinitely if this is set to 0. See "Crossbar Connection Timeout" for more details.

What's Changed

New Features

Bug Fixes

Version Updates

Testing

Full Changelog: v0.10.2...v0.10.3

v0.10.2

30 May 18:38
e7d331f
Compare
Choose a tag to compare

Description

Release v0.10.2 mostly contains bug fixes and quality of life improvements.

Address Root

Bug fix #327 effectively adds the functionality provided by the "address_root". This allows you to set the address root to a string other than 'observatory', however you must then adjust settings in your crossbar server configuration. See the updated System Configuration pages for the SCF and Crossbar Configuration for more details.

Note
Changing the address root on an existing system will have implications for viewing the data in Grafana and loading from .g3 file, as all feed names will change to include the new address root.

What's Changed

New Features

  • Separate blocks for each registered operation by @jlashner in #312
  • ocs-agent-cli renames itself in process list by @mhasself in #325

Bug Fixes

Testing

Documentation

Version Updates

Misc.

Full Changelog: v0.10.1...v0.10.2

v0.10.1

15 Nov 15:30
e8728fe
Compare
Choose a tag to compare

Description

Release v0.10.1 is mostly bug fixes and performance improvements.

Users are especially encouraged to upgrade the registry and influxdb publisher agents, as major performance improvements have been made which become necessary when the OCS network grows to a certain size. These improvements reduce I/O load on the system.

What's Changed

New Features

Bug Fixes

Version Updates

Misc.

New Contributors

Full Changelog: v0.10.0...v0.10.1

v0.10.0

17 Oct 18:02
c50f7e5
Compare
Choose a tag to compare

Description

There are several large changes in release v0.10.0. These may require user action, as described below.

ocs-web

ocs-web has been removed from this repository. It has been replaced by an improved Vue.js version kept in simonsobs/ocs-web.

Current users of ocs-web should upgrade to the new Vue.js based version. Setup instructions, including how to run with the provided Docker image, are located in the ocs-web repo's README file.

OCS Plugins

v0.10.0 adds the OCS Plugin system. This has moved all core OCS Agents to be within the ocs package. (They were previously in a separate agents/ directory.) This allows core Agent installation via pip from PyPI.

During this change all core ocs Agent Docker images have been merged into a single image. All core Agents can now be run from the simonsobs/ocs image. Configuration of the image can now largely be done by setting environment variables. For example, to run a fake data Agent a docker-compose service would look like:

fake-data1:
    image: simonsobs/ocs:v0.10.0
    hostname: ocs-docker
    environment:
      - INSTANCE_ID=fake-data1
    volumes:
      - ${OCS_CONFIG_DIR}:/config:ro

Please see each Agent's respective reference page for updated configuration file information.

Separate Agent images will not be built moving forward, so in order to update you must switch to using the new simonsobs/ocs:v0.10.0 image.

Task Abort

Task aborting has been a long planned feature of ocs. It is now implemented. Agent developers can now add the ability to abort tasks. You can read about how to do so in the newly re-written Agent Writing Guide. More specifically see "Aborting a Task".

OCS now tries to run the Process stop command in the same threading context as the Process itself (the same is true for Task aborts.) Existing Agents with their process start/stop commands in differing contexts can still be run, but OCS will print a warning. Agent developers are encouraged to put their start/stops in the same context. See the Agent guide above for details.

What's Changed

New Features

Documentation Updates

Bug Fixes

Misc.

Full Changelog: v0.9.3...v0.10.0

v0.9.3

14 Jun 13:54
076105e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.2...v0.9.3

v0.9.2

02 May 18:06
0709db2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.1...v0.9.2

v0.9.1

02 Feb 20:40
503f6b4
Compare
Choose a tag to compare

Description

v0.9.1 is a relatively small release. The only new feature is the availability of the new testing module to help out with testing Agents.

Change Log

New Features

  • Move useful integration testing utils to main library (#252 )

Bug Fixes

  • Remove testpypi from twine upload step (#249)

Misc.

  • Remove spt3g/so3g dependency from the Registry (#250)
  • tests: test_params for the params decorator system (#242)

v0.9.0

29 Nov 16:45
15e2c3a
Compare
Choose a tag to compare

Description

v0.9.0 introduces some new tools and features, such as the ocs-client-cli tool and param decorator. Test coverage is also greatly expanded. One change in the API that requires attention is the renaming of MatchedClient to OCSClient. Users should update their scripts where MatchedClient is used, as it will be removed in a later release. Full change log below.

Change Log

New Features

  • Introduce new Client CLI tool (#218)
  • Create new decorator for tasks/processes that accept parameters (#223)
  • Expand test coverage with new unit and integration tests (#230 and #231)
  • Rename MatchedClient to OCSClient (#236)

Documentation Updates

  • Some bug fixes and a bunch of OpSession documentation work (#220)
  • Establish Agent documentation guidelines (#221)
  • Add sphinx extension that auto-links to source code (#225)
  • Create rtd config file, split requirements, and pin versions (#235)
  • Update Client Documentation (#236)

Bug Fixes

  • Check if args are passed to MatchedClient (#206)
  • Deal gracefully with crossbar not being found (#208)
  • Shutdown AggregatorAgent on PermissionError (#213)
  • Protect test imports (#217)
  • Some bug fixes and a bunch of OpSession documentation work (#220)
  • Only perform check on param if value is given (#228)
  • Update feed message data check to handle bools (#229)
  • Core updates, prelude for major ocsbow (#241)

Misc.

  • Reorganize Dockerfile to leverage build cache (#212)
  • Add tests for ocs_agent.py (#227)
  • Core updates, prelude for major ocsbow (#241)
  • Build and Deploy to PyPI (#243)
  • Prepare for v0.9.0 release (#244)