Supvisors

Latest version: v0.18.6

Safety actively analyzes 681844 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

0.15

* Publish / Subscribe pattern implemented for **Supvisors** internal communication.
`PyZmq` is now only used for the optional external publication interface.

* Make **Supvisors** robust to `addProcessGroup` / `removeProcessGroup` / `reloadConfig` Supervisor XML-RPCs.

* Fix process CPU times in statistics so that children processes are all taken into account.

* Fix regression in `supervisorctl application_rules` where the former `distributed` entry was still used
instead of `distribution`.

* Fix uncaught exception when an unknown host name or IP address is used in the `supvisors_list` option.

* Fix `ProcessEvent` publication when no resource is available to start a process.

* Fix `SupvisorsStatus` event in JAVA ZMQ client.

* Manage the `RuntimeError` exception that could be raised by matplotlib when saving a graph.

* Add `all_start` and `all_start_args` to the list of `supervisorctl` commands. These commands respectively invoke
`supervisor.startProcess` and `supvisors.start_args` on all running **Supvisors** instances.

* Add `tail_limit` and `tailf_limit` options to override the default 1024 bytes used by Supervisor to display
the Tail pages of the Web UI.

* Inactive Log Clear / Stdout / Stderr buttons in the Web UI if no stdout / stderr is configured.

* Add resolution to `ProcessStatus` time information and store event time, so that forced state is correctly considered.

* A process is not considered disabled anymore when process rules don't allow any candidate **Supvisors** instance.

* When `psutil` is not installed on a host, the statistics-related options of the Process and Host pages
of the Web UI are not displayed, just as if the option `stats_enabled` was set to `False`.

* Clarify the exceptions that could be raised in **Supvisors** startup.

* Add a FAQ to the documentation.

0.14

* Implement [Supervisor Issue 1054](https://github.com/Supervisor/supervisor/issues/1054).
Start / Stop / Restart buttons have been added to groups in the Supervisor page of the Web UI so that it is possible
to start / stop / restart all the processes of the group at once.
The application state and description have been removed from this table as the information was confusing.

* Fix issue where starting strategies would not work as expected when multiple **Supvisors** instances run on the same
node but their `host_name` is identified differently in the option `supvisors_list`.

* Replace on-the-fly the Supervisor `gettags` function so that the XML-RPC `system.methodSignature` works with both
Supervisor and **Supvisors**.

* Use `socket.gethostaddr` to validate the host names provided in the option `supvisors_list`.

* In the Application page of the Web UI, apply a *disabled* status to programs that are disabled on all their possible
**Supvisors** instances (according to rules and configuration).

* Maintain the auto-refresh set on the **Supvisors** `restart` / `shutdown` actions of the Web UI.

* Change the style of the *matplotlib* graphs.

0.13

* Implement [Supervisor Issue 591](https://github.com/Supervisor/supervisor/issues/591).
It is possible to disable/enable programs using the new `disable` and `enable` XML-RPCs.
A new option `disabilities_file` has been added to support the persistence.
The `disabled` status of the processes is made available through the `supvisors.get_local_process_info` XML-RPC and
in the process table of the Web UI.

* Fix issue where **Supvisors** may be blocked in the `DEPLOYMENT` phase due to late process events.

* Add a new `start_any_process` XML-RPC that starts one process whose namespec matches the regular expression.

* Add a `wait` parameter to the `update_numprocs` XML-RPC.

* Add the principle of **Supvisors** modes to the output of the XML-RPCs `get_supvisors_state` and `get_instance_info`.
The modes are linked to the existence of jobs in progress in `Starter` and `Stopper`.

* The **Supvisors** modes are displayed to the Main page of the Web UI and the **Supvisors** instance modes are
displayed to the Process and Host pages of the Web UI. In the navigation menu, the local **Supvisors** instance
points out the **Supvisors** instances where the modes are activated, and the applications involved in its own
`Starter` or `Stopper`.

* When using the item `` in the `identifiers` of the Application or Program rules and with a number of candidate
applications or processes greater than the candidate `identifiers`, the assignment is performed by rolling over
the `identifiers` list.

* Add pid and uptime information to the `supervisord` entry of the process table in the Web UI.

* The application rules of a **Supvisors** rules file can be inserted in any order.

* Protect the Supervisor thread against any exception that could be raised by **Supvisors** when processing a Supervisor
event.

* Provide a Flask server that can be added as a Supervisor program to interact with **Supvisors** using a REST API.

* Update the CSS style of the inactive buttons in the Web UI.

* Fix CSS resources table cell height with recent versions of Firefox.

* Update the Web UI to allow multiple processes per line in the **Supvisors** instance boxes.

* Remove support to deprecated option `distributed` and to the possibility to have the `program` element directly
under the `application element` in a **Supvisors** rules file.

0.12

* Fix crash following a `supervisorctl update` as the group added doesn't include `extra_args` and `command_ref`
attributes in the Supervisor internal structure.

* Fix crash when the state of the **Supvisors** master is received before any **Supvisors** instance has been confirmed.

* Fix crash when receiving process state events from a **Supvisors** instance that has been checked while it was in a
`RESTARTING` state.

* Fix regression in **Supvisors** restarting / shutting down as the *Master* would actually restart / shut down
before notifying the other **Supvisors** instances of its state. The new **Supvisors** state `RESTART` has been
introduced.

* Add `supervisord` entry to the process table of the **Supvisors** instance in the Web UI.
This entry provides process statistics and the possibility to view the Supervisor logs.

* Fix issue in Web UI with the Solaris mode not applied to the process CPU plot.

* Fix CSS for Supvisors instance boxes (table headers un-stickied) in the Main page of the Web UI.

* Fix process children CPU times counted twice in statistics.

* Add regex support to the `pattern` attribute of the `application` and `program` elements of the **Supvisors** rules
file.

* The `distribution` option has been added to replace the `distributed` option in the **Supvisors** rules file.
The `distributed` option is deprecated and will be removed in the next version.

* Update the starting strategies so that the node load is considered in the event where multiple **Supvisors** instances
are running on the same node. The `LESS_LOADED_NODE` and `MOST_LOADED_NODE` starting strategies have been added.

* Update the `RunningFailureHandler` so that `Starter` and `Stopper` actions are all stored before they are actually
triggered.

* Add the `RESTART` and `SHUTDOWN` strategies to the `running_failure_strategy` option.

* Update `Starter` and `Stopper` so that event timeouts are based on ticks rather than time.

* Update `InfanticideStrategy` and `SenicideStrategy` so that the conciliation uses the `Stopper`.
This avoids duplicated conciliation requests when entering the `CONCILIATION` state.

* When receiving a forced state due to a `Starter` or `Stopper` timeout, check if the expected process state has been
reached before actually forcing the state. Events may have crossed.

* The `programs` section has been added in the `application` section of the **Supvisors** rules file.
All `program` definitions should be placed in this section rather than directly in the `application` section.
The intention is for the next **Supvisors** version to be able to declare application options in any order.
Note that having `program` sections directly in the `application` section is still supported but deprecated
and will be removed in the next version.

* Add the `starting_failure_strategy` option in the `program` section of the **Supvisors** rules file.
It supersedes the values eventually set in the `application` section.

* Add the `inactivity_ticks` option to the **Supvisors** section of the Supervisor configuration file to enable more
flexibility in a congested system.

* Add `node_name` and `port` information to the result of the `get_instance_info` XML-RPC and to the instance status
of the **Supvisors** event listener.

* In the Process page of the Web UI, add buttons to shrink / expand all applications.

* Use a different gradient in the Web UI for running processes that have ever crashed.

* Fix CSS process table cell height with recent versions of Firefox.

* Use hexadecimal strings for the `shex` attribute in the Web UI URL.

* Add `action` class to the start/stop/restart/shutdown buttons in the headers of the **Supvisors** web pages.

* Move PyZmq sockets creation to the main thread so that a bind error is made explicit in log traces.

* Remove support to deprecated options, attributes and XML-RPCs (`address_list`, `force_synchro_if`, `rules_file`,
`address_name`, `addresses`, `get_master_address`, `get_address_info` and `get_all_addresses_info`).

0.11

* Fix [Issue 99](https://github.com/julien6387/supvisors/issues/99).
Update the **Supvisors** design so that it can be used to supervise multiple Supervisor instances on multiple nodes.
This update had a major impact on the source code. More particularly:
- The XML-RPCs `get_master_identifier`, `get_instance_info` and `get_all_instances_info` have been added to replace
`get_master_address`, `get_address_info` and `get_all_addresses_info`.
- The `supervisorctl` command `instance_status` has been added to replace `address_status`.
- The XML-RPCs that would return attributes `address_name` and `addresses` are now returning `identifier` and
`identifiers` respectively. This impacts the following XML-RPCs (and related `supervisorctl` commands):
- `get_application_info`
- `get_all_application_info`
- `get_application_rules`
- `get_address_info`
- `get_all_addresses_info`
- `get_all_process_info`
- `get_process_info`
- `get_process_rules`
- `get_conflicts`.
- The `supvisors_list` option has been added to replace `address_list` in the **Supvisors** section of the Supervisor
configuration file. This option accepts a more complex definition: `<identifier>host_name:http_port:internal_port`.
Note that the simple `host_name` is still supported in the event where **Supvisors** doesn't have to deal
with multiple Supervisor instances on the same node.
- The `core_identifiers` option has been added to replace `force_synchro_if` in the **Supvisors** section of the
Supervisor configuration file. It targets the names deduced from the `supvisors_list` option.
- The `identifiers` option has been added to replace the `addresses` option in the **Supvisors** rules file.
This option targets the names deduced from the `supvisors_list` option.
- The `address`-like attributes, XML-RPCs and options are deprecated and will be removed in the next version.

* Fix [Issue 98](https://github.com/julien6387/supvisors/issues/98).
Move the heartbeat emission to the Supvisors thread to avoid being impacted by a Supervisor momentary freeze.
On the heartbeat reception part, consider that the node is `SILENT` based on a number of ticks instead of time.

* Fix issue with `supvisors.stop_process` XML-RPC that wouldn't stop all processes when any of the targeted processes
is already stopped.

* Fix exception when authorization is received from a node that is not in `CHECKING` state.

* Fix regression (missing disconnect) on node isolation when fencing is activated.

* Fix issue in statistics compiler when network interfaces are dynamically created / removed.

* Refactoring of `Starter` and `Stopper`.

* The module `rpcrequests` has been removed because useless.
The function `getRPCInterface` of th module `supervisor.childutils` does the job.

* The `startsecs` and `stopwaitsecs` program options have been added to the results of `get_all_local_process_info` and
`get_local_process_info`.

* The option `rules_file` is updated to `rules_files` and supports multiple files for **Supvisors** rules.
The option `rules_file` is thus deprecated and will be removed in the next version.

* Add a new `restart_sequence` XML-RPC to trigger a full application start sequence.

* Update the `restart_application` and `restart_process` XML-RPC so that processes can restart themselves using them.

* Add `expected_exit` to the output of `supervisorctl sstatus` when the process is `EXITED`.

* Add the new option `stats_enabled` to enable/disable the statistics function.

* Update `start_process`, `stop_process`, `restart_process`, `process_rules` in `supervisorctl` so that calls are made
on each individually process rather than process group when `all` is used as parameter.

* Add exit codes to erroneous **Supvisors** calls in `supervisorctl`.

* When aborting jobs when re-entering the `INITIALIZATION` state, clear the structure holding the jobs in progress.
It has been found to stick **Supvisors** in the `DEPLOYMENT` state in the event where the *Master* node is temporarily
`SILENT`.

* Restrict the use of the XML-RPCs `start_application`, `stop_application`, `restart_application` to *Managed*
applications only.

* Review the logic of the refresh button in the Web UI.

* Add node time to the node boxes in the Main page of the Web UI.

* Sort alphabetically the entries of the application menu of the Web UI.

* Update the mouse pointer look on nodes in the Main and Host pages of the Web UI.

* Remove the useless timecode in the header of the Process and Host pages of the Web UI as it is now provided
at the bottom right of all pages.

* Add class "action" to Web UI buttons that trigger an XML-RPC.

* Switch from Travis-CI to GitHub Actions for continuous integration.

0.10

* Implement [Supervisor Issue 177](https://github.com/Supervisor/supervisor/issues/177).
It is possible to update dynamically the program numprocs using the new `update_numprocs` XML-RPC.

* Add targets **Python 3.7** and **Python 3.8** to Travis-CI.

Page 3 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.