CHANGELOG
All notable changes to this project will be documented in this file. This project’s version numbers will follow the latest NETLAB+ VE server version.
23.0.0 (2025-7-3)
Changed
Stuctured logging used internally.
Change how vm names are constructed while cloning pods.
22.6.0 (2024-10-23)
Fixed
Improve usage of –system flag in the cli.
Fix system.usage.disk documentation.
22.5.0 (2024-9-16)
Added
Added tests for python 3.12.
PYTHON
ssl_ciphers optionAdd
netlab debug
Add alias for ‘ssl’ config: ‘noverify’ to ‘self_signed’. ‘self_signed’ will be deprecated.
Removed
Remove dependency on
typing_extentions
.Remove dependency on
importlib_metadata
.
Fixed
Improve handling of csv keys.
22.4.0 (2023-02-15)
Added
Add
lab_exercise_list
.
Fixed
Fix double documentation entries.
Removed
Remove python 3.7 support.
21.5.0 (2023-01-09)
Fixed
Version specifier upperbound is set to
python<4
.
21.4.0 (2022-07-05)
Added
New
'self_signed'
ssl option that disables hostname checks.
Fixed
Version specifier now includes all Python 3.10
21.3.0 (2022-01-05)
Added
An
ssl.SSLContext
may now be passed for complete control over the connection.Remove the ability to disable ssl.
Remove python 3.6 support.
21.2.0 (2021-10-14)
Added
ssl_ciphers
option toNETLAB+ config
Python 3.10
support
Fixed
a bug in the CLI error handling
missing
pc_clone_specs
attributesSSL errors when using Python 3.10
21.1.2.4 (2021-06-17)
Changed
typing and docs of
vm_snapshot_get_tree
typing and docs of
vm_snapshot_get_list
typing and docs of
reservation_timeslot_adjuster
how the SDK finds the config file – should not affect most users
Added
Removed
Fixed
docs and types on
reservation_make
21.1.2.2 (2021-06-10)
Changed
documentation structure. Includes a new Getting Started guide
pod_get
: addVMAlloc
docs
Added
netlab.async_client.NetlabClient
Python 3.9
supportmypy support
new methods:
class_roster_get
,class_roster_team_update
,reservation_plan
,vm_host_perf_realtime_list
,system_perf_query
team
parameter toreservation_make
Removed
netlab.client.Client
has been deprecated. Please usenetlab.sync_client.SyncClient
ornetlab.async_client.NetlabClient
.Python 3.5 support. It has reached
End of Life
. If you’re still using Python 3.5, 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.
20.4.1.0 - (2020-09-14)
Changed
ex_id
is now a required parameter in thereservation_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
propertyvm_alloc
Removed
remove
pod_get
propertypod_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 usevm_inventory_import_task
instead
Fixed
timedelta
serializer
18.2.0.2 - (2018-06-21)
Added
additional exceptions
PodNotActiveError
,PodTypeIncompatibleError
, andReservationTimeInsufficientError
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
inrecurring_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
methodvm_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 onpod_list
method
18.1.0.0 - (2018-02-13)
Added
vm_inventory_remove_local
methodvm_inventory_remove_disk_task
methodvm_inventory_remove_datacenter_task
methodreservation_extend
methodcls_ext_slots_per_res
parameter toclass_update
com_ext_slots_per_res
parameter touser_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
tonetlab.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
andstart
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
) tovm_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
andvm_snapshot_get_tree
17.2.3.2 - (2017-09-20)
Fixed
Change
VirtualMachineDatacenterNotFoundUnique
toVirtualMachineDatacenterNotUniqueError
innetlab.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 mimicvm_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 ofuser_account_search
with the familiarity ofuser_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
enumvm_inventory_add
methodvm_snapshot_add
methodvm_snapshot_edit
methodvm_snapshot_get_list
methodvm_snapshot_get_tree
methodvm_snapshot_remove
methodvm_snapshot_revert
method
Changed
user_account_list
to make many small requests using user.account.searchuser_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
andsystem_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 laterReturn 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 methoduser_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
andotify_progress parameters
topod_remove_task
Changed
pod.remove.task
refactored to use HDR resultS3 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 toreservation_timeslot_adjuster
. It is no longer used byreservervation_make
andend_time
must reside on a time slot boundary (hour or half hour).Renamed the
tround_low
parameter ofreservation_timeslot_adjuster
to beround_low
.Made
'ALL'
the default scope forreservation_query
.
17.1.2.2 - (2017-02-13)
Fixed
PC Clone specs handling of
source_snapshot
to use existing VM if not specifiedDisplay 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
andvar
CLI config subcommand
--all
option to remove all settings from config.jsonIndividual exceptions for each NETLAB+ error
Add exceptions to documenation
Changed
vm_datacenter_list
now uses the native API method vm.datacenter.listCHANGELOG
moved to its own file
17.1.1.1 - (2017-02-06)
Fixed
Documentation for properties in
class_get
,class_list
, andreservation_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.jsonnetlab 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.