Version History¶
v2.9.0¶
Changes:
Use new
lsst.ts.idl.enums.ScriptQueue.SalIndex
enum. This requires ts_idl 3.5, which is required. As a result, therun_script_queue.py
andcommand_script_queue.py
bin scripts now require the index to be 1 or 2. However, it is still possible to construct aScriptQueue
CSC 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 10
topytest
command.
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.terminate
is now asynchronous, and it now waits for the process to be created, if necessary (with a time limit).QueueModel.terminate_all
is now asynchronous, and it kills any zombie processes it finds (though these should be rare).QueueModel.wait_terminate_all
is gone; callQueueModel.terminate_all
instead.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_queue
to support building conda package: * Addcheck_bin_script_initial_state
utility to test scriptqueue bin script. * Refactortest_bin_script_state
to usecheck_bin_script_initial_state
. * Skiptest_bin_script_state
ifts_standardscripts
orts_externalscripts
fail to import. * Addtest_bin_script_state_with_test_scripts
to runcheck_bin_script_initial_state
with 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.IsolatedAsyncioTestCase
instead 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
: setversion
class attribute, which is used to set thecscVersion
field of thesoftwareVersions
event.Modernize
doc/conf.py
for 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
--state
command-line argument inrun_script_queue.py
. This requires ts_salobj 6.1.Add
initial_state
constructor argument toScriptQueue
.Use
lsst.ts.salobj.set_random_lsst_dds_partition_prefix
instead oflsst.ts.salobj.set_random_lsst_dds_domain
. This requires ts_salobj 6.Update
Jenkinsfile
to use Docker imagelsstts/develop-env:develop
instead oflsstts/salobj:develop
. This allows tests to use the ts_standardscripts and ts_externalscripts packages.Update to use
pre-commit
to maintainflake8
andblack
compliance.
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_history
when creatinglsst.ts.salobj.Remote
s. 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.py
asynctest
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.py
asynctest
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.py
asynctest
v2.6.4¶
Changes:
Make the
move
,requeue
andshowScript
commands 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.py
asynctest
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.py
asynctest
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.py
asynctest
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_dir
from standard and external scripts. Since packages are optional, skip tests if packages cannot be imported.
v2.6.0¶
Changes:
Replaced
bin/request_script.py
withbin/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.py
asynctest
v2.5.2¶
Changes:
Fixed warnings in
tests/test_queue_model.py
caused 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.py
asynctest
v2.5.1¶
Changes:
Add
tests/test_black.py
to verify that files are formatted with black. This requires ts_salobj 5.11 or later.Make
ui.RequestModel
compatible 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.yml
to removesudo: false
to 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.py
asynctest
v2.5.0¶
Major changes:
Output the
nextVisit
andnextVisitCanceled
events.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.py
asynctest
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.py
asynctest
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.py
asynctest
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