Skip to content

eNMS 4

Compare
Choose a tag to compare
@afourmy afourmy released this 20 Oct 09:13
· 2803 commits to public since this release
  • Refactor of the run mechanism. When running a service, a single run is created and saved to the
    database.
  • Remove "operation" (any / all) property from pool
  • Change the way pool objects are computed: via SQL query instead of pure python:
    better performances expected for large pools.
  • Add regex support for SQLite
  • Add new "Invert" option for table filtering
  • Move terminal application for web SSH feature inside the application: the terminal application
    was previously moved outside the application because websockets requires sticky sessions which is
    incompatible with having multiple gunicorn workers. Moving to a deployment where eNMS is started
    multiple times with 1 gunicorn worker via the backend stream configuration, it is now possible for
    the terminal to be inside the main application.
  • Fix submenu bug when the menu is minimized (gentelella bug)
  • Replace prerequisite edge with priority mechanism
  • Allow making non-shared service shared and vice-versa (if the shared service doesn't have more than one workflow).
  • Separate progress for main devices & iteration devices in workflow builder
  • Fix bug where subworkflow device counters not displayed in results when device iteration is used
    Bug report mail: "No status for services in subworkflow with device iteration"
  • HTTP requests logging: all requests are now logged by eNMS and not by werkzeug like before.
    => fine grained controlled for what is logged for each request. The log now contains the username.
  • Add duplicate button in service table
  • Refactor the geographical and Logical View to behave like the workflow builder:
  • List of all pools that contain at least one device or link, stored in user browser local storage
  • Remove default pool mechanism. Remove "visualization_default" property in pool model.
    By design, the default pool becomes the first pool in alphabetical order
  • Add backward / forward control like the workflow builder
  • Add global "factory" and "delete" functions in the workflow builder to create and delete new objects
    from a workflow.
  • When refreshing a pool, rbac is now ignored so that the pool "refresh" action result does not depend on the
    user triggering it.
  • If a workflow is defined to run on a set of devices, and the user lacks access to one or more devices,
    execute for all accessible devices and fail for the inaccessible devices instead of failing the entire workflow.
  • Store and commit web SSH session content in backend instead of relying on send beacon mechanism and
    onbeforeunload callback so that the saving of a session does not depend on user behavior
  • Add new "Empty" option in table filters and pool definition to filter based on whether the property
    value is empty or not.
  • Add table display with property value constraint when clicking on the charts in the dashboard.
  • Add scrapli netconf service
  • Move LDAP and TACACS+ server init to environment file instead of custom file. Impact on authentication
    ldap / tacacs functions.
  • Add Token-based authentication via REST API. New GET endpoint "/rest/token" to generate a token.
  • Separate controller (handling HTTP POST requests) from main application (gluing everything together)
    Impact:
  • In plugins,
  • the "custom" file that contains pre_init, post_init, and the authentication custom code no longer inherits
    from the controller
  • Add new "ip_address" field in settings.json > app section
  • Add paging for REST API search endpoint: new integer parameter "start" to request results from "start"
  • Add server time at the bottom of the menu (e.g for scheduling tasks / ease of use)
  • Add button in service table to export services in bulk (export all displayed services as .tgz)
  • Ability to paste device list (comma or space separated) into a multiple instance field (e.g service device and pool targets)
  • Re-add current Run counter to 'Service' and 'Workflow' on the dashboard banner + Active tasks
  • Ability to download result as json file + new copy result path to clipboard button in result json editor panel
  • Ability to download logs as text file
  • When importing existing workflows via service import, remove all existing services and edges from the workflow
  • Upload service from laptop instead of checking for file on the VM
  • Add Parameterized Form mechanism to update run properties and payload.
  • Add new "full results" button to results tree
  • Fix bug in WB where multiple services stay selected
  • Add confirmation prompt in workflow builder before deletion
  • Change default postprocessing mode to "Run on success only"
  • Add log in case postprocessing is skipped
  • Add SSH key support in generic file transfer service
  • Always set "look_for_keys" to False in generic file transfer service - no longer an option
  • Add validation_section mechanism: set path to section of the result to validate (default: results["result"])
  • Add new "connection_name" mechanism to open multiple parallel connections to the same device in the
    same workflow
  • Add new "get_credential" global variable in workflow builder. Used to get a password or a passphrase
    for a netmiko validaiton command or rest call service. For obfuscation purposes.
    mail: Obfuscate Credentials passed into Netmiko Command Line
  • Fix data extraction service and operation keyword in set_var
  • Don't set status of currently running services to "Aborted" when using a flask CLI command
  • Add TextFSM support for the netmiko validation service (+ regression workflow)
  • Add stop mechanism for services in the Result table
  • Add server name parameter in Run table to specify which server a service was run from.
    Server to be configured from env variable SERVER_NAME and SERVER_ADDR.
  • Lock editing / run of Workflow to group of owners