- Restart the actor when it has been errored for 300 seconds instead of 30
- Set default DLI request timeout to 3 seconds.
- Restart the actor if it fails to set up the NPS.
- Upgrade to
lvmopstools>=0.5.6
to fix a bug that could cause the actor to hang when trying to restart it.
- Use
uv
for package management. Updated workflows and Dockerfile.
- Use
LVMActor
class. - Added
_check_internal
and_troubleshoot_internal
methods for automated troubleshooting. - Speed up checks when verification fails.
- Added
all-off
command.
- It's now possible to call
status
with an outlet and a summary of the status for only that outlet will be issued.
- Issue an NPS refresh before issuing any status.
- Added section on how to use the library.
- Added
NPSClient.all_off()
to turn off all outlets at once.
- #36 Complete rewrite, mostly to simplify the code and to take advantage of some additional features in the DLI REST API and to support calling DLI user scripts.
- The main difference in this version is that the code has been significantly simplified by requiring that one instance of the
lvmnps
actor can only control one NPS. This means that all theswitch
flags and parameters have been deprecated. - The code has been simplified. It still follows the approach of a core, abstract
NPSClient
class with multiple implementations for different switches, but some options that were not used have been removed. - It's now possible to switch multiple outlets at the same time. This takes advantage of the DLI and NetIO implementations to turn on several outlets as quickly as possible without risking an in-rush overcurrent.
- The DLI client now allows to command user functions (scripts).
- The main difference in this version is that the code has been significantly simplified by requiring that one instance of the
- #34 Add support for
netio
devices.
- Bump
CLU
to 2.1.0. - Various Docker image and build modifications for deployment in Kubernetes.
- Lock connections to DLI during a request.
- Major update with some breaking changes. Some of the main features are:
- General clean-up, typing, linting, etc.
- A few changes to how outlets are resolved depending on whether the name or the port are provided.
- Some clean-up of the
DLI
andDLIPowerSwitch
classes (new names). Nothing very major except that now ifouo=False
in the configuration file, the port information is read directly from the API. This means that the outlet name is notXXX.portN
anymore but whatever name is defined in the switch internal configuration. The default configuration for the LVM DLI switches does not specify the outlets anymore and instead reads them directly from the device. - Converted the switches list in
NPSActor.parser_args
to a dictionary. - For the
status
,on
andoff
commands, changed the options and arguments. Now forstatus
one can provide no arguments (all outlets are printed, as before), the switch name, the switch and port numbers, or the outlet to print. - Removed the
reachable
command group since it was confusing. Instead, addedoutlets
andswitches
commands that output the same asreachable outlets
andreachable switches
. - Refactored the test fixtures a bit and increased test coverage to 85%-ish.
- Changed documentation theme and cleaned up documentation a bit.
- Added IEB02 to NPS configuration.
- Removed
iboot
power switch code. - Improvements to testing and docs.
This was a Minor update of version 0.2.1 , based on the code review from @albireox:
- Update for documentation
- Changed parts under ~/sphinx for sphinx documentation
- actor-schema documentation added
- removed README.rst
This was a Minor update of version 0.2.1 , based on the code review from @albireox:
-
Update for usage of json.schema
-
Added code for using json.schema
-
Changed the json.schema
-
Update for commands
-
Changed the code for commands(on, off, status) since the schema changed.
-
Added 'reachable' command for checking out the reachable power switches.
-
Changed the configuration file(.yml) under ~/etc
-
Update for configuration
-
Using one configuration file, ~/lvmnps.yml
-
Update for unit test
-
Changing code for pytest
This was a Major update, based on the code review from @albireox:
- Update for Code reliability
- Added docstring for functions and classes
- Changed functionality of codes for configuration
- Changed name of the dli power switch library
- Changed the way connecting to the powerswitch using 'get' and 'put' method from 'httpx'
-
Initial version of the library and actor. Supports communication with the Network power switch, lvmnps command to on, off and cycle the nps and return the status of power.
-
Basic documentation (https://lvmnps.readthedocs.io/en/latest/).
Update pyproject.toml
Removed test with pytest-rabbitmq