This is the changelog file for FABRIC testbed extensions. All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Ensure slice key and bastion key names are not identical (Issue #389)
- Missing docstrings in network_service module (Issue #313)
- Artifact Manager Support (Issue #358)
- FabNet user specified subnets (Issue #361)
- Print a hint when bastion probe fails (Issue #363)
- Missing docstrings in resources module (Issue #315)
- Missing docstrings in slice module (Issue #316)
- Missing docstrings in component module (Issue #317)
- Missing docstrings in fablib module (Issue #319)
- Missing docstrings in fablib.config module (Issue #320)
- Renew Slice leaves the slivers in ActiveTicketed State (Issue #364)
- get_management_os_interface and get_dataplane_os_interfaces doesn't take into account IPv6 addresses. (Issue #362)
- Disable post boot config for renew (Issue #373)
- slice.renew() should pass **kwargs through to slice.submit() (Issue #374)
- node.execute() retry parameter is off-by-one (and/or misnamed) (Issue #375)
- FacilityPort.show() errors out (Issue #346)
- Add support for FPGA model SN1022 (Issue #382)
- Node objects returned from slice.get_node(name) are not the same as the node objects returned from slice.get_nodes() (Issue #380)
- Multiple calls to fablib.get_slice(name) in the same interpreter yield different objects (Issue #379)
- FablibManager.get_slices doesn't return unsubmitted slices created by new_slice() (Issue #294)
- Display Project Name in show_config() (Issue #384)
- Add support for Attestable Switch from CREASE project (PR #386)
- Add kali linux user name and prefix subinterface name with Node name (Issue #356)
- Post Boot config check to run for current slices (PR #353)
- Use cached resource information unless fresh information explicitly requested (Issue #352)
- Error may be inaccurate or wrong when I issue an invalid configuration. (Issue #304)
- Get Device Name and corresponding deprecated function (Issue#341)
- Failures when adding interfaces to a network (Issue#329)
- Add Facility Port to allow adding multiple interfaces (Issue #289)
- validate_config errors out when config directory does not exist (Issue #299)
- create_ssh_config adds extra indentation (Issue #300)
- Remove duplicate Node.delete() method (Issue #321)
- Missing docstrings in interface module (Issue #313)
- Missing docstrings in facility_port module (Issue #312)
- Missing docstrings in node module (Issue #318)
- Sub Interface Support (Issue #350)
- Advanced reservations (Issue #345)
- Port Mirroring with Basic NICs (Issue #343)
- P4 support (Issue #340)
- ERO Support (Issue #338)
- List hosts (Issue #331)
- AL2S Support (Issue #325)
- Deny infeasible slices (Issue #326)
- Add display of switch port name to network service table listing (Issue #152)
- Can't instantiate FablibManager without config file (Issue #286)
- Reduce the time taken for the call node.get_ssh_command() (Issue #280)
- Allow access to other user's slices in a project (Issue #279)
- Allow user to specify Lease End time for Slice creation (Issue #51]
- Ubuntu images need ifaces brought up (Issue #123
- Add/Remove Network Interfaces for Facility Ports (Issue #284)
- Ability to disable auto refresh tokens (Issue #277)
- Use L2STS when connecting two facility ports via L2 (Issue #275)
-
fablib: Using portal sliver keys (Issue #61,
-
Standardize and validate configuration, support for creating ssh keys (Issue #127,
- Fix an error in
Node.list_networks()
(Issue #239, PR #241) - Honor wait_timeout in slice.submit() (#253)
- Reconfigure on slice update/modify (Issue #261)
- Missing docstrings for
Node.add_fabnet()
(PR #240) - Offer a hint when bastion probe fails (Issue #246, PR #247)
- Version in pyproject.toml (Issue #248)
- Separate contribution guidelines (Issue #242, #243, PR #251)
- Module docstrings (PR #256)
- Use defaults for FABRIC CM, orchestrator and bastion hosts (Issue #258)
- Refactor logging setup (Issue #263)
- Display and filter by PTP availability at each site based on ARM information (PR #236).
- Missing docstrings for Node module (PR #237)
- Some optimizations in
list_sites()
,show_site()
,get_random_site()
(PR #230) - Fix
slice.wait()
to update slice ensuring slice is inStableOK
orStableError
state (Issue #231)
- Update default username for
defaul_centos9_stream
image (Issue #227)
- Update list of OS images (PR #202)
- List Facility Ports updated to include additional parameters (Issue #210)
- Fail early when connection with bastion host fails (Issue #151)
- Overhaul API docs (PR #217, issue #215)
- Update/reformat API docstrings (PR #220)
- Add/update integration tests (Issues #184, #186, PR #187)
- Make Network Interface Config Idempotant (Issue #205)
- Methods added to retrieve SSH keys for bastion and sliver (PR #207)
- Support for PortMirror service (PR #214)
- Support for CPU Pinning and Numa tuning (Issue #221)
- Remove unused
AbcFabLIB
class (Issue #117)
- Changed some error that were printing to stdout to log instead.
- Added a get_public_ips call to NetworkService for user to get list of public IPs assigned to their FabNetExt
- The interface.get_ip_addr() fuction now returns address strings for devs that were manually configured.
- Support new GPU models has been added (PR #122).
- Support for maintenance mode (PR #137, issues #120, #125)
- Userdata support.
- Automatically assigning IPs, depending on mode.
- Support for post-boot configuration. Files or directories can be uploaded post-boot, and commands can be submitted to be run post-boot.
- A way to define layer-2 networks.
- A way to query link and facility port information
- Added function to make IP address of node publicly routable with external networking.
make_ip_publicly_routable
- Streamlined polling after a submit to reduce load on the control framework
- Added easy, one-line "add_fabnet" functionality simple L3 networks
- ipython 8.12.0 is added as a direct dependency; this is a short-term workaround until FABRIC's JupyterHub is updated.
- Fablib now uses pyproject.toml for specifying packaging metadata instead of setup.py and friends (issue #74).
- Make configure_nvme() more generic (PR #126).
- Fixed an issue with auto network configuration executing twice
- Fablib will now fail early when required configuration is missing (issue #69).
- A workaround for Debian/Ubuntu nmcli transition.
- FABLIB: Better clean up of SSH connections to bastion proxy.
- FABLIB: Show and list functionallity for all resource object types.
- FABLIB: Now leaves network manager for management iface but does not manage other ifaces
- FABLIB: node.upload_directory now uses correct temporary file names
Older changes are not included in change log.