Releases: arighi/virtme-ng
virtme-ng v1.22 is out
Very calm release, only bug fixes this time, but I wanted to cut a new version anyway to make sure that no other people are hitting the permission errors with sudo.
Most noticeable changes:
- fix potential sudo errors (in openSUSE, Fedora, CachyOS)
- propagate /proc/sys/fs/nr_open from host to guest
- more robust parsing of upstream kernel versions
- small command help improvements
== virtme-ng ChangeLog ==
Andrea Righi (11):
Merge pull request #73 from WOnder93/fix-traceback-config
Merge pull request #74 from WOnder93/fix-setup
virtme: propagate /proc/sys/fs/nr_open from host to the guest
virtme-ng: hide additional sudo settings
Merge pull request #77 from arighi/propagate-nr-open
virtme-ng: more robust parsing of upstream versions
virtme-ng: improve help of --run command
virtme-ng: print a hint to exit from the virtme-ng session
Merge pull request #82 from arighi/improve-help
Merge pull request #83 from paulmenzel/fix-typo-in-warning-in-setup.py
virtme-ng v1.22
Ondrej Mosnáček (2):
virtme: fix traceback with --kdir when .config doesn't exist
setup.py: fix logic around the virtme_ng_init submodule
Paul Menzel (1):
setup.py: Fix typo in *submodule* in warning
== virtme-ng-init ChangeLog ==
Andrea Righi (4):
virtme-ng-init: handle command line option nr_open
virtme-ng-init: apply limits after mounting kernel filesystems
virtme-ng-init: hide additional sudo settings
virtme-ng-init: print a hint to exit from virtme-ng
virtme-ng v1.21 is out
This new version of virtme-ng includes some new enhancements focused at improving its integration in CI/CD environments, alongside with the usual set of miscellaneous fixes.
Most noticeable changes in this release:
- When running in script mode do not hang in case of kernel panic, but return the special error code 255 (this allows to automate catching kernel panics)
- Redirect kernel log to stderr on the host when running in interactive mode: this allows to easily save the kernel log to a file (or pipe it to another tool), simply by runing a
vng -vr 2>/tmp/kernel.log
vng --dump
can now generate a memory dump compatible with drgn- It is now possible to use virtiofsd with a btrfs root filesystem on the host (e.g., default openSUSE setup)
- It is not possible to to use the microvm architecture with kernels that don't have built-in virtio-pci / virtio-mmio (e.g., stock openSUSE Tumbleweed kernel)
== virtme-ng ChangeLog ==
Andrea Righi (21):
virtme-ng: redirect kernel log to stderr in interactive mode
Merge pull request #66 from arighi/kernel-log-stderr
virtme-ng: generate drgn compatible memory dumps
Merge pull request #67 from arighi/drgn-support
doc: replace the screenshot with a video in README.md
Merge pull request #68 from arighi/video-demo
virtme-init: always override sudoers
virtme-ng: deprecate --skip-config
Merge pull request #69 from arighi/fix-sudo
virtme-ng: fix sending kernel log to stderr in script mode
virtme-ng: return 255 on panic in script mode instead of hanging
Merge pull request #70 from arighi/detect-kernel-panic
doc: add "Additional resources" section to README.md
Merge pull request #71 from arighi/readme-additional-resources
virtme: properly detect rootfs when /lib is symlinked to /usr/lib
virtme: use --no-announce-submounts with virtiofsd
setup.py: always add site-packages to PYTHONPATH
virtme: always add modules required by microvm to the initramfs
Merge pull request #72 from arighi/tumbleweed-fixes
setup.py: automatically initialize virtme-ng-init submodule
virtme-ng v1.21
== virtme-ng-init ChangeLog ==
Andrea Righi (2):
virtme-ng-init: allow virtme-ng to specify a console device
virtme-ng-init: always override sudoers
virtme-ng v1.20 is out
I am really excited to notice that more and more people are starting to use virtme-ng for their CI. The integration with docker has probably helped a lot to make this tool almost like a natural choice for CI workflows (e.g., github actions), especially for kernel-related projects / subsystems.
Most noticeable changes in this new release:
- The return code of a command executed in the vng guest is now transparently channeled to the host: this, together with stdin/stdout/stderr redirection, gives the complete illusion to run the command in the guest as if it was executed on the host and it can help to easily integrate vng with other CI tools/scripts (suggested by @itaihandler).
- NUMA support (suggested by @tehcaster): it is now possible to create multiple NUMA nodes, and assign CPUs to them, inside a vng guest, using the
--numa
option. - A new
--quiet
option to override--verbose
(suggested by @jimc). - A new
--disable-kvm
option to explicitly disable hardware virtualization (KVM) (by @kuba-moo) . - lockdep is now disabled by default during the kernel build (by @kuba-moo).
- Usual fixes and cleanups.
Detailed changelog below.
Cheers,
-Andrea
== virtme-ng ChangeLog ==
Andrea Righi (14):
Merge pull request #53 from tklauser/readme-fixes
Merge pull request #55 from nkapron/development
virtme-ng: introduce NUMA support
Merge pull request #57 from arighi/numa-support
virtme-ng: introduce -q/--quiet
Merge pull request #59 from arighi/vng-quiet-option
vng: improve documentation of the new option --numa
virtme-ng: channel the return code of a command to the host
Merge pull request #62 from kuba-moo/main
Merge pull request #61 from arighi/vng-channel-retcode
Merge pull request #64 from kuba-moo/main
Merge pull request #65 from winnscode/winn-dev-2.2
virtme-ng: print an explicit error when a valid pts is not found
virtme-ng v1.20
Jakub Kicinski (3):
virtme-configkernel: disable lockdep by default
virtme: pass whether KVM is usable into arch code
virtme: let user disable KVM accel easily
Neill Kapron (1):
virtme_ng: update virtme_ng_init submodule to fix network init
Tobias Klauser (1):
doc: update README.md formatting
Winston Wen (2):
virtme: use $MODDIR/modules.dep to check the module folder
virtme-prep-kdir-mods: delete existing $MODDIR/modules.dep at beginning
virtme-ng v1.19 is out!
A new release of virtme-ng is out, just before the Christmas holidays.
The most noticeable change is definitely the support for running virtme-ng inside Docker containers. This opens the possibility for many other projects to use virtme-ng to potentially pick any arbitrary kernel to run their tests inside their Docker instances (think, for example, of GitHub workflows).
The other interesting change (this one only for Ubuntu users) is the --root-release
argument (used together with --root
) that allows bootstrapping a rootfs from scratch, selecting a specific Ubuntu release. The rootfs will be created from the latest Ubuntu cloud image of the target release.
This, together with the Docker support, allows you to quickly deploy an arbitrary Ubuntu release with any arbitrary kernel inside a Docker instance, no matter which distro/kernel the Docker instance is running. This is very powerful in a testing scenario (again, GitHub workflows).
In addition to the above new features, we have the usual set of fixes here and there, thanks to @marcosps and @pinchartl.
Detailed changelog below.
Happy holidays! - Andrea
= virtme-ng ChangeLog =
Andrea Righi (20):
Merge pull request #42 from marcosps/requests-fix
Merge pull request #43 from marcosps/requests-fix
virtme-ng-init: resync the submodule for the secure_path fix
Merge pull request #46 from pinchartl/fixes
Merge pull request #47 from marcosps/group-fix
virtme-ng-init: resync with upstream
virtme: restore terminal settings on exit
virtme: coding style fixes
virtme: use isatty() to check if stdin is a valid terminal
virtme-ng: introduce argument --root-release
virtme-init: fix typo in when evaluating virtme_user
virtme: use kernel modules from the rootfs when --root is used
virtme: show virtiofsd warnings only in verbose mode
virtme: do not enable native features if kvm cannot be used
virtme-init: docker host support
virtme-ng-init: docker host support
doc: add a note about running virtme-ng inside docker
github: add a test run workflow
Merge pull request #52 from arighi/docker-support
virtme-ng v1.19
Laurent Pinchart (1):
virtme: Fix infinite loop when finding kernel modules
Marcos Paulo de Souza (3):
setup.py: Add requests to install_requires
virtme-init: Add default secure_path
virtme-init: Drop usage of group when chwon'ing
= virtme-ng-init Changelog =
Andrea Righi (3):
virtme-ng-init: add default secure_path to /etc/sudoers
virtme-ng-init: drop usage of group when chwon'ing
virtme-ng-init: docker host support
virtme-ng v1.18 is out!
This new version includes a lot of contributions from the community.
This project has gained significant visibility recently, thanks to the participation at the latest Linux Plumbers Conference in Richmond, Virginia, and also thanks to the really nice article on lwn.net (https://lwn.net/Articles/951313).
I am really grateful for all of that and I am very happy to keep maintaining this cool project.
The most noticeable change is probably the support for pre-compiled vanilla kernels (using the Ubuntu mainline builds), that can help to save a bunch of build time and energy in some cases, i.e., when bisecting an issue across major upstream kernel versions.
Now virtme-ng also uses virtme-ng
as the default hostname (thanks to Zev Weiss), so it's easier to spot when we are inside a virtme-ng interactive session.
Moreover, we have resumed the possibility to run virtme-ng commands directly from the source directory, as it was in the legacy virtme (thanks to Paul McKinney for the suggestion).
And last but not least, we have a bunch of changes, refactoring, cleanups in virtme-ng-init (thanks to Uli Schlachter), a few small fixes in the legacy virtme-init (thanks to Tycho Andersen) and the usual set of small bug fixes here and there.
Below is the detailed list of changes.
Cheers,
-Andrea
= virtme-ng ChangeLog =
Andrea Righi (11):
virtme-ng: fix --user behavior
virtme-ng: allow to run main commands directly from source
virtme-ng: restore old --run behavior
doc: update README.md
virtme-init: resync with upstream virtme-ng-init
virtme-ng: use pre-compiled mainline kernels
doc: update README.md
virtme-ng: fail to run pre-compiled deb if dpkg is not installed
virtme-ng-init: resync with upstream project
doc: add more info about potential required packages
virtme-ng v1.18
Tycho Andersen (2):
virtme-init: mount devtmpfs before using bash redirects
virtme-init: touch /etc/sudoers if it doesn't exist
Zev Weiss (4):
virtme-ng: Don't fail on missing argcomplete
virtme-init: Add guest hostname to /etc/hosts
virtme-ng: Set a default for --name
Add tiny Makefile for building virtme-ng-init
= virtme-ng-init Changelog =
Andrea Righi (5):
virtme-ng: honor virtme_user when running user script
virtme-ng-init: always set XDG_RUNTIME_DIR
virtme-ng-init: set proper ownership of the default console device
virtme-ng-init: set the proper ownership on the virtio-ports devices
virtme-ng-init: fix build error with older versions of rustc
Uli Schlachter (34):
Use ? on Option where possible
Add a simple test for extract_user_script()
Simplify extract_user_script()
Remove use of HashMap
Remove Option return from run_misc_services()
Simplify an env var check
Simplify(?) some environment lookup
Simplify lookup of $virtme_user
Simplify(?) some command construction
Remove useless Some-wrapping
Remove unnecessary 'static
Replace e.g. libc::S_IRWXU with Mode::S_IRWXU
Fix clippy warnings around logging
Fix clippy warnings about patterns
Fix clippy warning about unnecessary return
Fix clippy warnings about reading lines
Fix clippy warning about "loop never loops"
Fix clippy warning about "push() after creation"
Fix clippy warning about unnecessary matching
Simplify opening of TTYs
Use uname() from nix instead of libc
Remove useless to_string()
Simplify /etc/shadow generation
Use utils::create_file() to write some file contents
Remove an unnecessary Vec
Refactor logic in find_udevd()
Allow run_cmd() with non-utf8-strings
Avoid allocations for static strings for run_shell()
Use nix' flags instead of libc's in one more place
Avoid temporary allocation for PathBuf
Add a log!() macro
(Needlessly) optimise logging
Use write_all() instead of write()
Remove unnecessary trim_end_matches('\n')
Zev Weiss (3):
utils: Don't log mount failures due to ENOENT
Don't try to run systemd-tmpfiles on non-systemd systems
Add guest hostname to /etc/hosts
virtme-ng v1.17 is out
Nothing major in this new version, this mostly to test the release feature here on github. 😄
The new changes are:
- the possibility to use the '--' syntax to run commands in graphic mode (such as
vng -g -- glxgears
) - a small fix to install the bash completion scripts to the proper standard location (
/usr/share/bash-completion/completions
)