Releases: tcler/bkr-client-improved
Releases · tcler/bkr-client-improved
v0.9.20-20240704 release
What's Changed
Full Changelog: v0.9.12-20230922...v0.9.20-20240704
v0.9.12-20230922 release
Full Changelog: v0.9.10-20230816...v0.9.12-20230922
v0.9.10-20230816 released
Summary of Major Changes:
- improve and perfect the restraint plugins scripts
- lstest: add --metaf option to convert legacy test case to new style that use 'metadata' instead 'Makefile'
- improve bkr-runtest
- bug fixes
Full Changelog: v0.9.9-20230728...v0.9.10-20230816
v0.9.9-20230728 released
New features:
- runtest: switch to fetch-url mode
- lstest: support metadata file
- default-ks.conf: add restraint plugin to support task requires install from same/different repo
- bug fix, and many code optimize
v0.9.8-20220806
Change:
- split vmcreate and related scripts into separate repo(kiss-vm)
- add bkr-update.sh
- adapt latest rhel-8/rhel-9/fedora-36
- bug fixes and code optimize
TODO:
- use Wapp instead Wub
- support restraint standalone mode
Full Changelog: v0.9.6-20211130...v0.9.8-20220806
v0.9.6-20211130
last release that support RHEL-7 and RHEL-6
sub-project vmcreate v1.0 release
- vmcreate is a tool that used to quickly start/create an VM instance of specified distro,
instead reserve from beaker;
sudo curl -s -o /usr/local/bin/vm -L https://raw.githubusercontent.com/tcler/bkr-client-improved/master/utils/vmcreate
sudo chmod +x /usr/local/bin/vm
vm Fedora-31
# or
vm RHEL-8.1.0 -p "vim git wget" -b "kernel-5.4.0-0.rc4.1.elrdy"
# or
vm centos-8 -l http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ -p "vim gcc make"
# or
vm centos-7 -i https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz -p "$pkgs"
# or
vm debian-10 -i https://cdimage.debian.org/cdimage/openstack/10.1.5-20191015/debian-10.1.5-20191015-openstack-amd64.qcow2 --force -p "curl tcl tclx tdom"
- vmcreate could also be used to create your own VM image release
sudo curl -s -o /usr/local/bin/vm -L https://raw.githubusercontent.com/tcler/bkr-client-improved/master/utils/vmcreate
sudo chmod +x /usr/local/bin/vm
vm RHEL-8.1.0 -genimage -p "vim git gcc"
# will generate qcow2.xz file in ~/myimages/RHEL-8.1.0/
- Usage info:
$ vm -h
Usage:
vm [subcmd] <-d distroname> [OPTIONs] ...
Options:
-h, --help #Display this help.
-I #create VM by import existing disk image, auto search url according distro name
`-> just could be used in Intranet
-i <url/path> #create VM by import existing disk image, value can be url or local path
-L #create VM by using location, auto search url according distro name
`-> just could be used in Intranet
-l <url> #create VM by using location
--ks <file> #kickstart file, will auto generate according distro name if omitting
-n|--vmname <name>
#VM name, will auto generate according distro name if omitting
-f|--force #over write existing VM with same name
-p|-pkginstall <pkgs>
#pkgs in default system repo, install by yum or apt-get
-b|-brewinstall <args>
#pkgs in brew system or specified by url, install by internal brewinstall.sh
`-> just could be used in Intranet
-g|-genimage #generate VM image, after install shutdown VM and generate new qcow2.xz file
--rm #like --rm option of docker/podman, remove VM after quit from console
--nocloud|--nocloud-init
#don't create cloud-init iso for the image that is not cloud image
--osv <variant>
#OS_VARIANT, optional. virt-install will attempt to auto detect this value
# you can get [-osv variant] info by using:
$ osinfo-query os #RHEL-7 and later
$ virt-install --os-variant list #RHEL-6
--nointeract #exit from virsh console after install finish
--saveimage [path]
#save image in path if install with import mode
--cpus <N> #number of virtual cpus, default 4
--msize <size> #memory size, default 2048
--dsize <size> #disk size, default 16
--net <$name> #join libvirt net $name
--netmacvtap [source NIC]
#attach a macvtap interface
--macvtapmode <vepa|bridge>
#macvtap mode
-r|--ready #virt config is ready, don't have to run enable_libvirt function
--xdisk #add 2 extra disk for test
--nvdimm #add 2 nvdimm device(2048+2M) //need qemu >= v2.6.0(RHEL/CentOS 8.0 or later)
--nosshkey #don't inject sshkey
Example Intranet:
vm # will enter a TUI show you all available distros that could auto generate source url
vm RHEL-6.10 -L
vm RHEL-7.7
vm RHEL-8.1.0 -f -p "vim wget git"
vm RHEL-8.1.0 -L -brewinstall 23822847 # brew scratch build id
vm RHEL-8.1.0 -L -brewinstall kernel-4.18.0-147.8.el8 # brew build name
vm RHEL-8.1.0 -L -brewinstall "lstk -debug" # latest brew build release debug kernel
vm RHEL-8.2.0-20191024.n.0 -g -b "upk -debug" # latest brew build upstream debug kernel
Example Internet:
vm centos-5 -l http://vault.centos.org/5.11/os/x86_64/
vm centos-6 -l http://mirror.centos.org/centos/6.10/os/x86_64/
vm centos-7 -l http://mirror.centos.org/centos/7/os/x86_64/
vm centos-8 -l http://mirror.centos.org/centos/8/BaseOS/x86_64/os/
vm centos-8 -l http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ -brewinstall ftp://url/path/x.rpm
vm centos-7 -i https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz -pkginstall "vim git wget"
vm debian-10 -i https://cdimage.debian.org/cdimage/openstack/10.1.5-20191015/debian-10.1.5-20191015-openstack-amd64.qcow2
Example from local image:
vm rhel-8-up -i ~/myimages/RHEL-8.1.0-20191015.0/rhel-8-upstream.qcow2.xz --nocloud-init
vm debian-10 -i /mnt/vm-images/debian-10.1.5-20191015-openstack-amd64.qcow2
Example [subcmd]:
vm list #list all VMs //you can use ls,li,lis* instead list
vm login [/c] [VM] #login VM //you can use l,lo,log* instead login
vm delete [VM list] #delete VMs //you can use d,de,del*,r,rm instead delete
vm ifaddr [VM] #show ip address //you can use i,if,if* instead ifaddr
vm vncport [VM] #show vnc host:port //you can use v,vnc instead vncport
vm edit [VM] #edit vm xml file //you can use ed,ed* instead edit
vm exec "$VM" -- "cmd" #login VM and exec cmd //you can use e,ex,ex* instead exec
vm net #list all virtual network
vm net netname=testnet brname=virbrN subnet=100 #create virtual network 'testnet'
vm netinfo testnet #show detail info of virtual network 'testnet'
vm netdel testnet #delete virtual network 'testnet'
v0.9-20170728: bkr-autorun-diff.sh: update support diff runs in different db files
This is a stable release