Age | Commit message (Collapse) | Author | Files | Lines |
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
|
|
The "include" key maps to debootstrap's `--include` parameter, allowing
additional packages to be installed.
The `install_keyring` key is a Boolean that determines if the gpg
keyring specified by the `keyring` key is installed in the disk image
for use when installing packages from non-official Debian repositories,
e.g. local mirrors created using aptly, etc.
|
|
The apt_plugin always runs `apt-get update` before installing packages,
so the `apt-get update` in deboostrap_plugin is redundant. It also
blocks provisioning the TLS certs required to validate connections to
package repos that use https instead of http connections.
|
|
Add the ability to optionally configure:
- The inventory group name
- The Ansible tags to be executed
- An Ansible configuration file
- An `extra_vars` dictionary to be passed to the playbook
This enables existing image-creation builds with complex Ansible
playbooks to be converted to use vmdb2.
|
|
The `--variable` command line parameter can be used to supply values
for Jinja2 variables in vmdb2 build specification YAML files using the
format `name=value`. This is useful for builds which need to be
parameterized, e.g they use remote services in different AWS regions
and/or accounts.
|
|
Detect if the root filesystem is inside a know logical volume group by
examining the output of the `lvs` command. If the rootfs is in a known
LV group, determine the name of the mapped device for the group. If the
`lvs` command shows the device as `/dev/dm-X` instead of
`/dev/mapper/loopXpY`, use the `dmsetup ls` command to determine the
name of the loop device.
|
|
This fixes build failures where no packages are installed by vmdb2 (and
so there is no local package metadata for apt-get to read) before the
grub plugin is executed. This can be the case when an `unpack-rootfs`
build step comes after all of steps that install packages.
|
|
This enables things like setting the `bios_grub` flag on a partition.
It seemed simpler to create a plugin to set these flags than to
overload the pupose of the mkpart_plugin.
|
|
Adds the ability to copy directory trees into the build chroot
|
|
The `zerofree` utility zeroes out unused disk space on `ext[2-4]`
filesystems and is much faster than using `dd`. This enables better
compression of the output disk image when being packaged as a OVA or a
Vagrant Box, etc.
|
|
The special size value "fill" will instruct the lvcreate_plugin to
create a partition that uses all of the available space in the specified
logical volume
|
|
Docker containers running in Docker Desktop for Mac appear to have a
version of `kpartx` that doesn't properly clean up mapped partitions
upon execution of `kpartx -dsv`.
To work around this behaviour, the kpartx_plugin now unmaps mapped
partitions as required using `dmsetup remove <part>`, and frees the
loopback device using `losetup -d <device>`
This change requires the list of partition mounpoints to be an ordered
list in order to be able to unmap mapped partitions in the correct
order, so `Tags.get_tags()` has been updated to return the ordered list
`self._tagnames` instead of `self._tags.keys()` which (for Python
versions before 3.7) returns an unorderd list.
|
|
This makes the vmdb2 compatible with Ubuntu's modified grub-install
by interrogating grub-install --help to check which of the options
to pass: --no-extra-removable or --force-extra-removable.
Closes: https://gitlab.com/larswirzenius/vmdb2/-/issues/36
Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@huawei.com>
|
|
These items are fixed with this change:
- "systemd.show_status=true" is always added, even if it was turned off
later on.
- If the option quiet is selected, then "systemd.show_status=false" is added
twice instead of only once.
With this patch "systemd.show_status" is only set once with either the value
"true" or "false".
Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
I'm too tired to debug this mess today.
Sponsored-by: author
|
|
|
|
When running dpkg --print-architecure, the output contains a newline.
This understandably confuses debootstrap, so strip it away.
Sponsored-by: author
|
|
The -qq option to lvcreate tells it to be quiet and to assume the
answer to any question it may have is "no".
Sponsored-by: author
|
|
The os.path.realpath resolves symlinks, and for some reason I do not
currently understand this breaks using vmdb2 with --image pointing at
an LVM2 logical volume.
Sponsored-by: author
|
|
It never passes for me, so disabling it for now.
Sponsored-by: author
|
|
|
|
Sponsored-by: author
|
|
The documentation says to set 'recommends' to true or false, with false
telling apt not to install recommends. However, the logic in the code does
the opposite of that. This also means that by default, all apt-get install
calls from vmdb2 run with --no-install-recommends.
As a user, it doesn't make much sense to set 'recommends' to true to tell
apt not to install recommends. So I think fixing the logic in the code
makes more sense than updating the documentation.
|
|
Cross-architecture debootstrap without qemu-debootstrap requires Debian >= Buster
|
|
|
|
|
|
Signed-off-by: Matthias Klein <matthias.klein@linux.com>
|
|
|
|
|