Changelog#

v0.1.0b0 (2026-07-17)#

Feat#

  • add shell software plugin to run custom setup scripts during kiso up

  • add a ssh sub command so users can connect to nodes using kiso ssh [user@]<node-alias> or kiso ssh [user@]<node-label>

Fix#

  • prevent SSH agent key leaks and clean up VBoxHeadless logs on down

  • run shell scripts as kiso user and use sudo in docs examples

  • use Manager queue and forkserver context for reliable multiprocessing

  • ensure executor shutdown and close logging queue to prevent hangs

  • retry get_network when FABRIC API returns None

  • resolve multiple bugs across edge, ip, task, pegasus, and utils

  • utils: check isinstance(address, IPv4Address) not address.ip in get_ips address is a plain string from floating-ips; only ip (the parsed object) is an IPv4Address/IPv6Address, so address.ip raised AttributeError.

Refactor#

  • redesign kiso ssh interface to use positional command and -s for ssh options

  • store HTCondorDaemon objects directly in machine-to-daemons map

  • group built-in plugins under kiso.experiments, kiso.software, and kiso.deployment

  • remove use of source_fabric_credentials_from_rc_file and pass rc_file directly to the FablibManager

v0.1.0a10 (2026-03-15)#

Fix#

  • chameleon-edge: chameleon edge moved to using ipv4 shared address space from private ip range

  • JSON Schema oneOf won’t work with [{type: integer}, {type: number}] as number encompasses integer

  • ollama now requires installing the zstd package

  • remove the args argument from Pegasus experiment type config as it use is confusing

  • configure condor to enable on IPv4 to IPv6

  • invoke Vagrant and Chameleon related cleanup actions only if those providers are installed

Refactor#

  • move public ip assignment to htcondor installer

  • move remaining chameleon-edge related functions to edge.py

  • add a warning to install rsync package for the FABRIC provider on macOS machines when kiso check is run

  • add a warning to install rsync package for the FABRIC provider on macOS machines when kiso up is run

  • add variables to shell runner similar to the pegasus runner

  • add missing and improve existing code comments

v0.1.0a9 (2026-01-28)#

Fix#

  • set timeout to -1 for scripts installing software, deployments, etc

  • for chameleon edge just deleting the lease doesn’t work. add code to remove the containers beforehand

  • treat all sites or fabric as the same

  • resolve_labels function failed when only two labels were passed

  • add retries and delay to apt command in commons main.yml file

  • add retries and delay to apt command in commons main.yml file

  • replace *dst with dst in _mkdir_remotely method

  • close the ProxyCommand in the copy experiment dir action with a single-quote after the endif as it is opened unconditionally

  • create HTCondor config, password, and token dir before creating files in them

Refactor#

  • replace - in HTCondor config with _

v0.1.0a8 (2026-01-07)#

Feat#

  • multiple changes

Fix#

  • use copy instead of manually running rsync as it fails with an IPv6 address

  • install acl as a common requirement

Perf#

  • use rsync to copy the experiment dir to nodes and undo splitting for nodes into ipv4 and ipv4 address nodes

  • use copy for nodes with ipv6 vms and rsync for ipv4 vms to copy the experiment dir to the node

v0.1.0a7 (2025-12-08)#

Feat#

  • add support for FABRIC testbed

Fix#

  • in kiso down, for vagrant, first remove the private_key from ssh agent, then call destroy, and then remove .vagrant dir and Vagrantfile

  • move providers.destroy at the end, otherwise Vagrant remove the ssh key and it can’t be removed from the ssh-agent

  • for console.rule show the rule using the color based on the result of the action

Refactor#

  • remove paramiko dependency in kiso and as it is no longer needed

  • decorator improvements

v0.1.0a6 (2025-11-13)#

Feat#

  • modify the shell runner’s output displayed for scripts to show the standard output and error

  • generate a /etc/hosts file that maps the machine labels to it IP preferred by Kiso

  • cleanup vagrant when running the kiso down command

Fix#

  • add a space between -i and src in the rsync command

  • only check experiments of kind pegasus and not of all kinds

  • show all jsonschema errors during schema check instead of just the best match

  • ssh opts to the rsync commands based on what ansible vars are set

Refactor#

  • add a label/role fabric. to group FABRIC provisioned nodes by the FABRIC site

  • move saving of state before determining IP address

  • rename pegasus/shell.py to runner.py

  • remove unused site object

v0.1.0a5 (2025-11-05)#

Perf#

  • use rsync command instead of ansible’s copy module to speed up copying of the experiment dir

v0.1.0a4 (2025-11-05)#

Fix#

  • use index and hostname as key in status dict to correctly render tables

v0.1.0a3 (2025-11-03)#

Feat#

  • add a new experiment type, shell, which can simply runs scripts

  • add support for extending software, deployment and add ability to run checks on experiments

Refactor#

  • change url of htcondor website

v0.1.0a2 (2025-11-03)#

Feat#

  • add support for extending software, deployment and add ability to run checks on experiments

v0.1.0a1 (2025-09-12)#

v0.1.0a0 (2025-09-10)#

Feat#

  • change experiment configuration schema

  • initial commit