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>orkiso 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_fileand pass rc_file directly to theFablibManager
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
argsargument from Pegasus experiment type config as it use is confusingconfigure 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