1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
|
Changes in 0.4.2:
* Add support for downloading images with a given, known checksum
using the command `image-garden download-with-sha256sum URL SHA256`.
* Add well-known sha256 checksums to all Oracle cloud images.
* In the CI/CD configuration systems derived from RHEL 10 are now marked as
needing at least a haswell CPU (aka x86_64-v3). Users of older hardware
devices will not be able to boot such systems without setting
`QEMU_CPU_X86_64=Haswell` (or newer). See the output of `qemu-system-x86_64
-cpu help` for a complete list of options. For details as described by the
Rocky project, see https://docs.rockylinux.org/10/guides/minimum_hardware_requirements/
* All cross-arch tests are marked as non-fatal as they time out on our aging
and slow infrastructure.
* Alpine Linux is updated to release 3.23.2, and is verified with a sha256 checksum.
Changes in 0.4:
* Add `image-garden rebase SYSTEM.ARCH` command.
This command can be used to reset the base image in the virtual machine disk
image to the use image-garden cache directory of the current system. It is
especially useful in Continuous Integration (CI) environments where cache
from one system type may be used in another system type, where everything is
compatible except for the effective location of `$GARDEN_DL_DIR`.
Only images with a backing file, with a matching base image in
`$GARDEN_DL_DIR`, can be rebased.
* Improve `image-garden allocate` used port detection.
Port allocation is now using randomized probing in the range 5000-9999. This
should reduce possibility of clashes caused by rapid parallel allocation, as
well as properly detect occupied port numbers.
* Automatically use `nice` on desktop sessions.
When `$XDG_SESSION_TYPE` is either `wayland` or `x11` (but not `tty`) then
use `nice` to lower the priority of started virtual machines. This should
make long-running tests less noticeable for interactive desktop work.
Nice is also used for initial image construction.
* Introduce build-time rule generation system.
This way the package build-depends on Python and retains the make interface
that requires no complex downstream packaging updates. Ubuntu, Debian, Fedora,
CentOS, Oracle, AlmaLinux, RockyLinux, AlmaLinux, ArchLinux, openSUSE and
AmazonLinux cloud images are now defined in the `data/ubuntu.ini`,
`data/debian.ini`, `data/fedora.ini`, `data/centos.ini`, `data/oracle.ini`,
`data/almalinux.ini`, `data/rocky.ini`, `data/alpine.ini`,
`data/archlinux.ini`, `data/opensuse.ini` and `data/amazonlinux.ini` files,
and the long and repetitive make rules are removed.
* Fedora 38 download URL has been updated to
`https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/...` which
restores access to an image that is not actively maintained in the mirror
network.
* AlmaLinux 10 is now supported.
* RockyLinux 10 is now supported.
* OracleLinux 7 is now supported.
* OracleLinux 10 is now supported.
* AlpineLinux 3 is updated from release 3.21.2 to release 3.22.
* AmazonLinux 2 is now supported.
* Fedora 43 is now supported.
* openSUSE Leap 16.0 is now supported.
* It is recommended to escape `+` as `-plus-` for working with `spread`.
* Ubuntu 14.04 is finally supported.
* Ubuntu 24.10 is no longer supported, having been removed from Ubuntu servers.
* Ubuntu 26.04 is now supported.
* All images are downloaded using http protocol, to make it possible to use
http proxies to avoid excessive traffic. This does come at the cost of
lowered overall security.
* Nearly all images are now verified against a checksum file that is downloaded
over https. The exceptions are: oracle, alpine and gentoo. Those will be supported
in the future.
* The download routine is now more resilient against interruptions being mistreated
as finished downloads. This should reduce the number of failed tests that are caused
by silently corrupted or partial downloads.
* Use -cpu neoverse-n1 for amazonlinux-cloud-{2,2023}.aarch64 systems. Thanks
to Alex Bennée for the suggestion.
* The default configuration for aarch64 virtual machines now allows
more than eight virtual CPUs, where qemu version allows this. This is done by
using the maxiumum version of GIC instead of the default version.
* Gentoo is now supported by image-garden, but not by spread. Upstream spread
uses relatively old selection of crypto algorithms. At present the Go ssh
client built into spread is unable to connect to a started instance.
* Initial support for riscv64 system emulation.
A number of Ubuntu systems are supported (since Ubuntu 24.04).
Fedora 42 is also supported.
* Initial support for s390x system emulation.
A number of systems are supported: Ubuntu (since Ubuntu 18.04) as well as Fedora (since 42)
* Initial support for ppc64 system emulation.
A small number of systems are supported: Ubuntu (since Ubuntu 14.04).
Currently all systems emulate a virtual Power 9 processor in a P-Series machine.
* Cloud-init rules are now allowed to reboot the system. Cloud-init
execution will continue normally until finished.
Changes in 0.3.4:
* This version had no public changes except for in the snap package.
Changes in 0.3.3:
* Make all systems compatible with `QEMU_ENV_QUIRKS` feature.
The placement of `exec` has moved after the quirks are applied, allowing
quirks to freely export environment variables.
Changes in 0.3.2:
* Allow root to authenticate with a password on Ubuntu 16.04 systems.
Changes in 0.3.1:
* Replace dependency on `genisoimage` with `xorriso`.
* Properly detect changes to `.image-garden.mk` when `.image-garden/` directory
is used to isolate temporary files to a hidden sub-directory.
* Allow authenticating as `root` with password `root` to all images with
the exception of Ubuntu Core systems.
Changes in 0.3:
* Remove support for Fedora 42 Beta.
* Add support for Fedora 42.
* Add support for Ubuntu 25.10.
* Add new command `image-garden news` shows the last changelog
entry. An optional argument may be used to see more than one entry.
For example `image-garden news 2` shows last two entries.
Changes in 0.2.2:
* Stage dependencies needed by `wget` in the snap package.
Changes in 0.2.1:
* Fedora 42 (beta) is now supported.
* Image Garden is now available as a snap package.
Changes in 0.2:
* Amazon Linux 2023 is now supported.
* `QEMU_ENV_QUIRKS` mechanism allows persistently customising environment
variables before invoking QEMU. This allows selecting different network or
storage details.
* Ubuntu Core 16, 18, 20, 22 and 24 are now supported.
Ubuntu Core 16, 18 and 20 do not support aarch64 architecture with generic
images.
* Debian Sid is now explicitly supported as a distinct entity.
* The `image-garden allocate` command allows allocating machine that persists
changes from one invocation to another by setting the environment variable
`QEMU_SNAPSHOT_OPTION=""` (the value is empty). This may allow debugging
boot failures, especially when coupled with persistent journal inside the
virtual machine or with systemd debug shell or systemd emergency shell.
* Presence of the `.image-garden` directory now causes `image-garden` to create
all image and log files there. This mode can be used to significantly reduce
clutter in the root directory of the project.
* `image-garden --version` is now equivalent to `image-garden version`.
Changes in 0.1.1:
* Presence of `.image-garden.mk` file is now correctly reflected in dependencies
of the `*.user-data` files, so that editing the local makefile automatically
causes all the disk images to become outdated.
* Using `image-garden make -B` should no longer re-download everything, as
`wget` is now called with `--no-clobber` and is smart enough to notice that
re-downloading complete images is not required.
* Image garden now comes with a manual page. See `man image-garden` to learn about
all the documented features.
* Oracle Cloud release 8 is now supported.
* SSH service is configured with "UsePAM yes" by default.
Changes in 0.1:
* Initial release.
|