Version History¶
v2.9.0¶
Changes:
Use new
lsst.ts.idl.enums.ScriptQueue.SalIndexenum. This requires ts_idl 3.5, which is required. As a result, therun_script_queue.pyandcommand_script_queue.pybin scripts now require the index to be 1 or 2. However, it is still possible to construct aScriptQueueCSC instance with any other valid SAL index, and this is done by some unit tests.Modernize unit tests to use bare asserts.
Make timeouts in unit tests more uniform.
Test black formatting with pytest-black, instead of a dedicated unit test.
Remove
if __name__ == "__main__":from bin scripts in tests/data; it was never needed.
Requirements:
ts_idl 3.5
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for ScriptQueue and Script generated with ts_sal >5
v2.8.6¶
Changes:
In
tests/test_queue_model, stop adding stream handlers to the test class logger. This was causing duplicated messages to appear in the unit tests as more stream handlers were added at every test. If debugging unit tests, add the option--log-cli-level 10topytestcommand.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for ScriptQueue and Script generated with ts_sal >5
v2.8.5¶
Changes:
ScriptInfo.terminateis now asynchronous, and it now waits for the process to be created, if necessary (with a time limit).QueueModel.terminate_allis now asynchronous, and it kills any zombie processes it finds (though these should be rare).QueueModel.wait_terminate_allis gone; callQueueModel.terminate_allinstead.These changes fix DM-31234: unit tests leave some processes running.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for Test, Script, and LOVE generated by ts_sal 5
SALPY_Test generated by ts_sal 5 or later
v2.8.4¶
Changes:
Update
test_script_queueto support building conda package: * Addcheck_bin_script_initial_stateutility to test scriptqueue bin script. * Refactortest_bin_script_stateto usecheck_bin_script_initial_state. * Skiptest_bin_script_stateifts_standardscriptsorts_externalscriptsfail to import. * Addtest_bin_script_state_with_test_scriptsto runcheck_bin_script_initial_statewith the test scripts provided in the package.Add setup.py to allow building conda package.
Update conda recipe.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for Test, Script, and LOVE generated by ts_sal 5
SALPY_Test generated by ts_sal 5 or later
v2.8.3¶
Changes:
Use
unittest.IsolatedAsyncioTestCaseinstead of the abandoned asynctest package.Format the code with black 20.8b1.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for Test, Script, and LOVE generated by ts_sal 5
SALPY_Test generated by ts_sal 5 or later
v2.8.2¶
Changes:
ScriptQueue: setversionclass attribute, which is used to set thecscVersionfield of thesoftwareVersionsevent.Modernize
doc/conf.pyfor documenteer 0.6.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for Test, Script, and LOVE generated by ts_sal 5
SALPY_Test generated by ts_sal 5 or later
v2.8.1¶
Changes:
Removed a small bit of ts_salobj 5 compatibility code.
Add a conda Jenkins build.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for Test, Script, and LOVE generated by ts_sal 5
SALPY_Test generated by ts_sal 5 or later
v2.8.0¶
Changes:
Update for ts_salobj 6.1, which is required.
Add support for the
--statecommand-line argument inrun_script_queue.py. This requires ts_salobj 6.1.Add
initial_stateconstructor argument toScriptQueue.Use
lsst.ts.salobj.set_random_lsst_dds_partition_prefixinstead oflsst.ts.salobj.set_random_lsst_dds_domain. This requires ts_salobj 6.Update
Jenkinsfileto use Docker imagelsstts/develop-env:developinstead oflsstts/salobj:develop. This allows tests to use the ts_standardscripts and ts_externalscripts packages.Update to use
pre-committo maintainflake8andblackcompliance.
Requirements:
ts_idl 2
ts_salobj 6.1
ts_xml 6.1 (older versions might work but have not been tested)
IDL files for Test, Script, and LOVE generated by ts_sal 5
SALPY_Test generated by ts_sal 5 or later
v2.7.2¶
Changes:
Stop setting
tel_max_historywhen creatinglsst.ts.salobj.Remotes. I recommend not running this version with ts_salobj 5; it may work, but is risky.
Requirements:
ts_salobj 6
ts_idl 2
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.7.1¶
Changes:
Enhance the ScriptQueue commander by adding a heartbeat monitor for the currently running script.
Requirements:
ts_salobj 5.17 / 6
ts_idl 1 / 2
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.7.0¶
Changes:
Overhaul the documentation.
Add all finished scripts to the history, even if they failed.
Requirements:
ts_salobj 5.17
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.6.4¶
Changes:
Make the
move,requeueandshowScriptcommands fail without logging an exception if a specified script does not exist.
Requirements:
ts_salobj 5.17
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.6.3¶
Changes:
Enhance the ScriptQueue commander to add options for the “add” command and to accept a default log level for scripts as a command-line argument.
Requirements:
ts_salobj 5.17
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.6.2¶
Changes:
Fix the stopScripts command in
ScriptQueueCommander.Update the pre-commit hook to block the commit if any code is not formatted with black.
Update SConstruct so it does not need configuration and remove cfg file from ups.
Requirements:
ts_salobj 5.17
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.6.1¶
Salobj 6 changed the name of the SalInfo.makeAckCmd method to SalInfo.make_ackcmd.
Add a check to make sure SalInfo has a make_ackcmd attribute and use makeAckCmd if not.
Changes:
Add backward compatibility between salobj 5 and 6.
Add Jenkinsfile for CI job.
In test_utils.py separate testing
get_scripts_dirfrom standard and external scripts. Since packages are optional, skip tests if packages cannot be imported.
v2.6.0¶
Changes:
Replaced
bin/request_script.pywithbin/command_script_queue.py, which is based onlsst.ts.salobj.CscCommander. This change requires ts_sal v5.17.0 or later.
Requirements:
ts_salobj 5.17
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.5.2¶
Changes:
Fixed warnings in
tests/test_queue_model.pycaused by not allowing all queued scripts to finish.
Requirements:
ts_salobj 5.11
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.5.1¶
Changes:
Add
tests/test_black.pyto verify that files are formatted with black. This requires ts_salobj 5.11 or later.Make
ui.RequestModelcompatible with ts_salobj 5.12.Make time limits in unit tests simpler and more generous. This makes the tests simpler and should help tests pass on machines with limited resources.
Fix flake8 warnings about f strings with no {}.
Update
.travis.ymlto removesudo: falseto github travis checks pass once again.
Requirements:
ts_salobj 5.11
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.5.0¶
Major changes:
Output the
nextVisitandnextVisitCanceledevents.Code formatted by
black, with a pre-commit hook to enforce this. See the README file for configuration instructions.
Requirements:
ts_salobj 5.4
ts_idl 1
ts_xml 4.7
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.4.0¶
Update for ts_salobj v5. Allow specifying log level and checkpoints when adding a script. Modernize asyncio usage for python 3.7.
Requirements:
ts_salobj v5
ts_idl v0.4
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.3.0¶
Update to run unit tests with asynctest
Requirements:
ts_salobj v4.3
ts_idl
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.pyasynctest
v2.2.2¶
Fix the showSchema command.
Requirements:
ts_salobj v4.3
ts_idl
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.py
v2.2.1¶
Improve timeouts in tests for robustness. This was necessitated by DM-20259 changes to ts_salobj.
Requirements:
ts_salobj v4.3
ts_idl
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.py
v2.2.0¶
Move BaseScript and TestScript to ts_salobj to break a circular dependency.
Requirements:
ts_salobj v4.3
ts_idl
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.py
v2.1.0¶
Add run_one_script.py bin script to easily run a single script, e.g. for development.
Also modify the script queue to get the default locations
for standard and external scripts using get_scripts_dir
functions in ts_standardscripts and ts_externalscripts.
Requirements:
ts_salobj v4.3
ts_idl
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.py
v2.0.0¶
Use OpenSplice dds instead of SALPY libraries and use a schema to validate configuration and specify default values.
See https://community.lsst.org/t/changes-to-sal-script-schemas-and-dds/3709 for more information about what has changed.
Requirements:
ts_salobj v4.3
ts_idl
IDL files for Script and ScriptQueue, e.g. built with
make_idl_files.py