debian-forge/stages
Tomas Hozza 5dc72038ef stages/chrony: extend chrony stage to allow additional directives
The `org.osbuild.chrony` stage currently supports only a single option
'timeservers' which does not allow specifying additional options for the
configured timeservers. The option can not be easily extended to allow
specifying additional options and at the same time keep the backward
compatibility with old manifests.

The need for a lower-level stage option allowing to configure additional
options of the 'server' directive is required by RHEL AMI images, which
use 'maxpoll', 'minpoll' and 'prefered' options.

Extend the `org.osbuild.chrony` stage with two additional options. The
'servers' option accepts a list of dictionaries specifying timeservers
to be configured using the 'server' directive, including a subset of the
directive options. The 'servers' option can not be used at the same time
in the stage options as the 'timeservers' option.

The second added option is 'leapsectz' corresponding with a directive of
the same name. The value of the option is a string. If the provided
string is empty, then all occurrences of the 'leapsectz' directive are
removed from the `chrony.conf`. Otherwise, the 'leapsectz' directive is
added to the `chrony.conf` with the provided value, while all original
occurrences of the option are removed.

Add a new stage test case under `test/data/stages/chrony-servers` to
test the new variant of the stage options. The reason is that the
'timeservers' option conflicts with 'servers' option, which makes it
impossible to test both of them in the same test case.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-06-26 10:28:03 +01:00
..
org.osbuild.anaconda stages: add org.osbuild.anaconda 2021-02-19 14:42:32 +00:00
org.osbuild.bootiso.mono stages: add org.osbuild.bootiso 2021-02-19 14:42:32 +00:00
org.osbuild.buildstamp stages: add org.osbuild.buildstamp 2021-02-19 14:42:32 +00:00
org.osbuild.chrony stages/chrony: extend chrony stage to allow additional directives 2021-06-26 10:28:03 +01:00
org.osbuild.cloud-init stages/cloud-init: add new stage for configuring cloud-init 2021-06-24 16:55:18 +02:00
org.osbuild.copy stages/copy: fix schema for tree urls 2021-06-21 23:39:04 +02:00
org.osbuild.debug-shell stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.discinfo stages: add org.osbuild.discinfo 2021-02-19 14:42:32 +00:00
org.osbuild.dracut stages/dracut: disable hostonly mode and default to reproducible images 2021-06-07 12:15:26 +02:00
org.osbuild.dracut.conf stages/dracut.conf: add new stage for creating dracut config files 2021-06-24 12:43:00 +02:00
org.osbuild.error stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.firewall stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.first-boot stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.fix-bls stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.fstab stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.groups stages/groups: fix group name schema validation 2021-06-09 20:33:27 +02:00
org.osbuild.grub2 stages/grub2: set GRUB_CMDLINE_LINUX default 2021-03-03 20:19:39 +00:00
org.osbuild.grub2.inst stages: add org.osbuild.grub2.inst 2021-06-09 18:37:47 +01:00
org.osbuild.hostname stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.ignition stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.implantisomd5 stages: add org.osbuild.implantisomd5 2021-02-19 14:42:32 +00:00
org.osbuild.kernel-cmdline stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.keymap stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.kickstart stages/kickstart: add support for 'liveimg' 2021-02-19 14:42:32 +00:00
org.osbuild.locale stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.lorax-script stages: add org.osbuild.lorax-script 2021-02-19 14:42:32 +00:00
org.osbuild.mkfs.btrfs stages/mkfs.btrfs: new stage to create a btrfs 2021-06-09 18:37:47 +01:00
org.osbuild.mkfs.ext4 stages/mkfs.ext4: new stage to create an ext4 fs 2021-06-09 18:37:47 +01:00
org.osbuild.mkfs.fat stages: add mkfs.fat stage 2021-06-09 18:37:47 +01:00
org.osbuild.mkfs.xfs stages: add mkfs.xfs stage 2021-06-09 18:37:47 +01:00
org.osbuild.modprobe stages/modprobe: add new stage for configuring modprobe 2021-06-14 08:50:25 +02:00
org.osbuild.noop stages/noop: accept inputs 2021-02-12 15:55:43 +01:00
org.osbuild.oci-archive stages/oci-archive: define ostree annotations 2021-05-26 13:17:01 +02:00
org.osbuild.ostree stages/ostree: fix stage to work with inputs 2021-06-09 18:37:47 +01:00
org.osbuild.ostree.commit stages/ostree.commit: port from assembler 2021-02-12 15:55:43 +01:00
org.osbuild.ostree.init stages/ostree.init: new stage to init a repo 2021-02-12 15:55:43 +01:00
org.osbuild.ostree.preptree stages/preptree: move home dirs to var/home 2021-03-16 21:58:02 +01:00
org.osbuild.ostree.pull stages/ostree.pull: new stage to pull commits 2021-02-12 15:55:43 +01:00
org.osbuild.qemu stages/qemu: honour coroutines env variable 2021-06-13 18:21:16 +02:00
org.osbuild.resolv-conf stages: add org.osbuild.resolv-conf 2021-03-11 12:46:24 +00:00
org.osbuild.rhsm stages: extend org.osbuild.rhsm stage to configure subscription-manager 2021-06-10 10:32:50 +02:00
org.osbuild.rpm inputs/files: rename refs to files 2021-06-09 18:37:47 +01:00
org.osbuild.rpm-ostree stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.selinux stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.sfdisk stages/sfdisk: don't inform the kernel 2021-06-14 14:15:20 +01:00
org.osbuild.sysconfig stages: extend org.osbuild.sysconfig to create network-scripts/ifcfg-* files 2021-06-10 16:10:53 +02:00
org.osbuild.systemd stages: extend org.osbuild.systemd to create .service unit drop-ins 2021-06-10 13:52:00 +02:00
org.osbuild.systemd-logind stages/logind: add new stage for configuring systemd-logind 2021-06-14 08:50:51 +02:00
org.osbuild.tar stages: org.osbuild.tar ported from assembler 2021-02-19 14:42:32 +00:00
org.osbuild.test stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.timezone stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.truncate stages: add truncate stage 2021-06-09 18:37:47 +01:00
org.osbuild.users stages/users: fix user names schema validation 2021-06-09 20:33:27 +02:00
org.osbuild.xorrisofs stages/xorrisofs: ability to set system id 2021-03-14 15:33:07 +01:00
org.osbuild.zipl stages: use api.arguments 2020-08-25 18:51:55 +02:00
org.osbuild.zipl.inst stages: add zip.inst stage 2021-06-09 18:37:47 +01:00