Skip to content

eNMS 3.15

Choose a tag to compare

@afourmy afourmy released this 11 Aug 14:11
  • New env variable: CUSTOM_CODE_PATH. Lets you define a path to a folder that contains custom code that
    you can use in your custom services.

  • Advanced search: per relationship system

  • eNMS version is now displayed in the UI. The version number is read from the package.json file.

  • Refactoring of the results window:

    • the order of the Services within the Workflow are now sequential with the order in which they were run.
    • collapsable sections for devices / jobs
    • new "workflow" section
    • "advanced" section removed
  • Refactoring of the logs: real-time logs is now working
    even with multiprocessing enabled.
    LOG FOLDER CHANGE: there is no more logs/app_logs and logs/job_logs. job_logs no longer exist,
    and the content of app_logs in now in /logs.

  • Workflow restartability improvement:

    • default to the latest payload
    • you can now choose exactly what jobs you want to see included in that payload
    • you can select not just one but multiple start points for the workflow
    • the restartability is now in the "Run Window"
  • custom credentials made blue: substitution fields

  • Bug in tables: jump to bottom after page 1 when table is refreshed: fixed.

  • Panel repaint bug when pulling it down: fixed.

  • Relationship are now displayed in the edit window: you can edit which service/workflow a device/task is a target of, etc...

  • Spinning GIF to indicate that its 'working...'

  • Add new services in a workflow: services are spread in a stairsteps in the workflow builder.

  • Workflow Builder: edit the service when it's double clicked

  • Copy to clipboard for device configuration

  • Fix bug subworkflow edit panel

  • Export Jobs needs to automatically delete devices and pools

  • Service should fail if a python query produces a device target that does not match inventory/database

  • timeout and other parameters getting updated for all services using cached Netmiko connections.

  • Ability to close a cached connection and re-originate the connection in a service.

  • Logs work with Multiprocessing enabled

  • Start time of each Service within a Workflow displayed,

  • User can now track the progress of a workflow even if the workflow was started with a REST call

  • New GET Result Endpoint for the REST API to get the result of a job run asynchronously:
    if async run_job was invoked, you can use the runtime returned in the REST response
    to collect the results after completion
    via a GET request to /result/name/runtime

  • New Run Management window:

  • you can filter per run status ("Running", ...)
  • The progress of a run (number of devices completed, failed) now works with multiprocessing.
  • Slashes are now forbidden from services and worklfow names (conflict with Unix path)

  • Services and workflows cannot be stuck anymore: the exceptions are caught are a higher level
    and they should always terminate and return the stacktrace.

  • The command sent to a device is not displayed in the results

  • Credentials are now hidden when using gotty.

  • Job Parametrization.

  • Service type now displayed in the workflow builder.

  • NEW "Custom configuration". You have a new env variable "PATH_CUSTOM_CONFIG" where you can set
    the path to a valid JSON valid.
    You can find an example of such a file in the tests/customization folder.
    In this file, you can set any property you want (for example if you're running in LAB or PRODUCTION).

  • New parameter: Skip (boolean)
    If that property is ticked, the job is ticked when run in a workflow.

  • New parameter: Skip query (string)
    Same as skip, except that it takes a python query.
    You can use a variable from the payload to decided whether or not to skip a job (via the get_result function, or the get_var function)
    or a variable from the "custom configuration" available as a dictionary called "config".

  • Added number of successful / failed devices on workflow edges.

  • Run status automatically switched from "Running" to "Aborted" upon reloading the app.

  • napalm getter service: default dict match mode becomes inclusion.

  • Renaming 'History' => 'Job Run Status'

  • Replaced pyyaml with ruamel

  • Both true and True are now accepted when saving a dictionary field.

  • Running an ansible playbook in the /playbooks folder doesn't work because of ansible/ansible#12862.
    In order to work around that, I am now using the optional "cwd" argument of subprocess.check_output in the ansible service to tell eNMS to run the ansible-playbook command from the /playbooks folder.

  • Set stdout_callback = json in ansible config to get a json output by default.

  • Change in the LDAP authentication: LDAP users that are not admin should now longer be allowed to log in (403 error).

  • The "dictionary match" mechanism should support lists now.

  • New "Logs" window to see the different logs of a service/workflow for each runtime.

  • show the user that initiated the job, along with the runtime when selecting a run