Age | Commit message (Collapse) | Author |
|
- Removed `empty_config` option. The config should be now always empty because Cloud-init adds required parts dynamically at the first boot.
- Added ability to include any additional packages to the image, from list or deb files.
- Moved common resources for multiple tasks from tasks folder to `files` and `templates` on the root folder.
- Make `trim` actually works. Before this, it actually was a no-op, because RAW image mounted without the `discard` option cannot be trimmed. This significantly reduced the size of images with any additional packages inside, for example with Cloud-init.
- Fixed APT repository paths, according to the new structure of `dev.packages.vyos.net`.
- Added proper build repository for VyOS 1.3. It used the wrong `current` repo when should be `equuleus` now.
- Removed unused `boot/grub/device.map.j2` template.
- Deleted a secondary console option from the `grub.cfg.j2` template. According to testing an active console is only the latest listed, so it seems that there is no sense to keep there two items.
|
|
Since some of the build target platforms do not support hybrid partition table and require only MBR (AWS AMI), was added option that allows selecting a partition table type:
```
-e parrtable_type=type
```
where `type` can be one of: `mbr`, `gpt`, `hybrid`.
Default value is `hybrid`.
|
|
|
|
|
|
- Fixed GRUB installation on UEFI hosts. On UEFI machines GRUB will try to install EFI version by default, so we need to set `--target` on i386-pc version too;
- Fixed /dev/mapper devices unmounting, removing, and loopback detach. `kpartx -d` does not detach devices from `/dev/mapper` at least in a testing environment (Debian Buster inside Docker). That why we need to run `dmsetup remove` directly for this. The same with a loopback device. If not do this, resources will be busy and all builds except the first one may fail;
- Deleted hybrid MBR creating task. It has a wrong syntax and does not work, and it looks like it is needless anyway.
|
|
|
|
Also:
- actualized some variables
- added more objects to cleanup to not keep garbage after playbook run
- added variable to select default boot console in GRUB
|
|
* Added missed package dependencies (for Debian 10 based builders)
* Added additional options, which can be passed to the playbook:
* iso_local - path to local ISO file
* disk_size - target disk image size
* cloud_init - enable or disable Cloud-init integration to an image
* cloud_init_ds - set custom list of data sources for Cloud-init
* Added a version number and Cloud-init mark to a QCOW2 image name
* Cloud-init installation procedure tuned to use packages from a proper one VyOS repository, according to VyOS and Debian version
* Added workaround for /etc/network/interfaces to allow Cloud-init initialize network in a native way
* Replaced default config file to Jinja2 template
* Fixed GRUB installation on UEFI builders - added target i386-pc
* Replaced GRUB configuration:
* enable both KVM and Serial console for all images (Serial by default)
* added password recovery option for all images
* added 5 seconds of a timeout to allow select proper menu entry
* fixed booting for 1.3 VyOS
* Added loop device detach after image build - allows to build images multiple times without exhausting loop device limit
* Added fstrim applying for image - theoretically, this may save some space
* Enabled compression for QCOW2 image - this reduces image size significantly
* Added RAW image deletion after conversion to more accurate cleanup
|
|
|