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.

20.4.1.0 - (2020-9-14)

Changed

  • ex_id is now a required parameter in the reservation_make method

Fixed

  • ``pod_clone_task` will now run when pc_type is ABSENT

Added

  • Python 3.8 support

Removed

  • Python 3.4 support. It has reached End of Life. If you’re still using Python 3.4, you should consider upgrading to the current version. Newer versions of Python have many new features, performance improvements, and bug fixes, which should all serve to enhance your Python programming experience

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.