CHANGELOG

All notable changes to this project will be documented in this file. This project’s version numbers will follow the latest NETLAB+ server version.

19.1.1.0 - (2019-04-05)

Fixed

  • Add setuptools minimum python version. Will now print a warning if user tries to install with python version < 3.4

19.0.0.0 - (2019-02-14)

Added

  • new pod_get property vm_alloc

Removed

  • remove pod_get property pod_csw_base_port

18.7.1.0 - (2018-09-13)

Added

  • Python 3.7 support.

  • new method user_session_keepalive (requires NETLAB+ server version 18.2.0 or greater)

  • new method vm_inventory_import_task

  • new method vm_clone_task

Deprecated

  • method vm.inventory.add, please use vm_inventory_import_task instead

Fixed

  • timedelta serializer

18.2.0.2 - (2018-06-21)

Added

  • additional exceptions PodNotActiveError, PodTypeIncompatibleError, and ReservationTimeInsufficientError

  • serializer to turn NETLAB+’s DHMS fields into Python timedelta objects

18.2.0.1 - (2018-04-26)

Fixed

  • user_community_update causing all undefined params to be set to null.

  • usage of user_account_search in recurring_reservations.py sample script

Added

  • example of using Pod ACLs in pod_acl.py sample script

18.2.0.0 - (2018-02-26)

Added

  • vm_license_list method

  • vm_license_update_task method

Changed

  • int fields with no value are now cast to 0 (zero)

18.1.0.1 - (2018-02-14)

Fixed

  • Serialization and deserialization of pod_dyn_vlan attribute on pod_list method

18.1.0.0 - (2018-02-13)

Added

  • vm_inventory_remove_local method

  • vm_inventory_remove_disk_task method

  • vm_inventory_remove_datacenter_task method

  • reservation_extend method

  • cls_ext_slots_per_res parameter to class_update

  • com_ext_slots_per_res parameter to user_community_update

Fixed

  • Documentation for user_account_search method

17.3.15.0 - (2018-01-19)

Added

  • New sample PRTG sensor netlab_pod_usage.py

  • Add TEMPLATE to netlab.enums.VirtualMachineRole enum.

17.3.11.1 - (2017-11-13)

Added

  • New method pod_update

17.3.11.0 - (2017-10-24)

Fixed

  • Serializer was trying to convert an integer to a datetime for the fields end and start

17.3.9.0 - (2017-10-10)

Changed

  • CHANGELOG from markdown to RST

Added

  • CHANGELOG to sphinx docs

  • Missing parameters (vm_path, vm_vendor_os_name, vm_netlab_os_id, vm_parent_id, vm_parent_snapname) to vm_inventory_add

  • New method pod_pc_update

  • Better explanation of vm_snapshot to documentation

Fixed

  • Documentation formatting for vm_inventory_add, vm_snapshot_get_list and vm_snapshot_get_tree

17.2.3.2 - (2017-09-20)

Fixed

  • Change VirtualMachineDatacenterNotFoundUnique to VirtualMachineDatacenterNotUniqueError in netlab.errors.vm

  • Version comparison when talking to a server in the 17.3.*.RG releases

  • vm_datacenter_find did not work as expected. Rewritten to mimic vm_host_find in behavior

Updated

  • The sample.py to use clone_vh_id in the PC clone specs examples

Added

  • New method vm_host_find to retrieve the vh_id when you only have the vh_name

17.2.3.1 - (2017-08-11)

Fixed

  • Updated docs and example in pod_clone_task

  • Add validation to pod_clone_task

17.2.3.0 - (2017-08-09)

Fixed

  • Typo in AuthenticationError exception message

17.1.8.0 - (2017-06-22)

Added

  • user_account_search_iter which combines the power of user_account_search with the familiarity of user_account_list but uses a generator to efficiently handle paging

Changed

  • user_account_list now returns a list, undoing the proceeding release change

17.1.6.0 - (2017-06-14)

Added

  • Methods for vm snapshots
    • PowerState enum

    • vm_inventory_add method

    • vm_snapshot_add method

    • vm_snapshot_edit method

    • vm_snapshot_get_list method

    • vm_snapshot_get_tree method

    • vm_snapshot_remove method

    • vm_snapshot_revert method

Changed

  • user_account_list to make many small requests using user.account.search

  • user_account_list now returns a generator

17.1.4.1 - (2017-06-07)

Fixed

  • setup.py wasn’t packaging netlab.enums module

17.1.4.0 - (2017-06-05)

Fixed

  • Unit type to ‘Percent’ in PRTG sample script for CPU so that gauages work properly

  • sys_maint_ends property is now a date instead of datetime

  • Pod clone specs in sample.py uses dictionary syntax now, so the specs apply to all VMs in the pod

Added

  • Methods for managing timezones NETLAB+ is aware of, system_time_timezone_get and system_time_timezone_list

  • user_account_search method and new exceptions

Changed

  • HDR Severity and Status are now Enums

  • CSV types and other limted sets of values are now Enums

  • pod_clone_task now returns HDR Result for server versions 17.1.4 and later

  • Return results for pod_remove_task are now backwards compatible with versions below 17.1.3

Removed

  • user_account_filter, its functionality has been replaced with the server side method user_account_search

17.1.3.1 - (2017-04-27)

Fixed

  • sample.py script for removing pods. Switched to use HDR result

  • serialization of date types before sending to NETLAB+

  • situations where user_community_find can return None

Added

  • User settings for user_account_add, user_account_get, user_account_update

  • Sample code for creating PRTG custom sensors for CPU, Disk and Memory usage

  • Server version checking. The system usage methods require a minimum server version

17.1.3.0 - (2017-04-13)

Added

  • New methods system.usage.cpu, system.usage.disk, system.usage.memory

  • New properties cpu_n and uptime_sec to system.status.get

Removed

  • notify_complete and otify_progress parameters to pod_remove_task

Changed

  • pod.remove.task refactored to use HDR result

  • S3 bucket to ‘netlab-py’

  • properties param to use default/all style for the following methods: class_list, class_get, class_roster_list, pod_get, pod_types_get, pod_types_list, user_community_get, user_community_list

Fixed

  • Make sure config file path exists before writing to it.

17.1.2.4 - (2017-02-23)

Fixed

  • Setup.py not installing all netlab modules properly

17.1.2.3 - (2017-02-23)

Fixed

  • PC Clone specs handling of clone_snapshot to use existing VM if not specified

  • Use project JSON serializer in CLI api subcommand. Handles dates and other types specific to NETLAB.

Added

  • User import sample script. Reads from a CSV file.

Changed

  • res_timeslot_adjuster has been changed to a static method and renamed to reservation_timeslot_adjuster. It is no longer used by reservervation_make and end_time must reside on a time slot boundary (hour or half hour).

  • Renamed the tround_low parameter of reservation_timeslot_adjuster to be round_low.

  • Made 'ALL' the default scope for reservation_query.

17.1.2.2 - (2017-02-13)

Fixed

  • PC Clone specs handling of source_snapshot to use existing VM if not specified

  • Display error if the number of PC Clone specs doesn’t match the number of VMs to clone

17.1.2.1 - (2017-02-13)

Changed

  • CLI uses proper exit codes after errors

Fixed

  • Pc Clone specs handling of clone_name

17.1.2.0 - (2017-02-10)

Added

  • Docs are built and published to S3 at same time package is built and published

  • CLI api subcommand --output to change how output is displayed. Options: table, csv, tsv, json and var

  • CLI config subcommand --all option to remove all settings from config.json

  • Individual exceptions for each NETLAB+ error

  • Add exceptions to documenation

Changed

  • vm_datacenter_list now uses the native API method vm.datacenter.list

  • CHANGELOG moved to its own file

17.1.1.1 - (2017-02-06)

Fixed

  • Documentation for properties in class_get, class_list, and reservation_get

Removed

  • No longer includes the long_description metadata parameter in setup.py

17.1.1.0 - (2017-02-06)

Added

  • MIT License

  • Pod ACL methods

  • Spinx autogenerates docs from docstrings of API methods

  • netlab config CLI subcommand for managing config.json

  • netlab api CLI subcommand for interacting with the NETLAB+ API

Fixed

  • netlab version CLI subcommand properly returns versions now

Changed

  • All properties that should be integers are coerced to the int type, i.e. acc_id, `com_id, etc. Previously they could sometimes be returned as strings.

Removed

  • To ensure consistency with method return values, what_if is no longer a parameter.

17.1.0.0 - (2017-01-23)

Added

  • All methods and documentation for initial public release.