1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 15:47:14 +01:00
Files
Christian Glombek b9028eea48 *: Migrate to ignition config spec v3.1
The installer now generates spec v3.1 ignition config,
instead of v2.2 (and v2.4 for openstack) as before.

The v3.1 ignition config specification can be found at [1].
A detailed overview of the differences between specs v2 and v3 can be found at [2].

Notable differences are:
- the `Filesystem` identifier on ignition file configs no longer exists
- `Overwrite` now defaults to `false` (was `true` in spec v2), which is why
it is now set explicitly to keep the same behaviour.
- duplicate file configs are now prohibited, i.e. all contents and
all appendices must be defined in a single config.
- duplicate systemd unit configs are now prohibited, i.e. the content
and all dropins  must be defined in a single config.

This commit:
- Bumps ignition to v2.3.0 with support for config spec v3.1.
- Bumps terraform-provider-ignition to v2.1.0.
Also adds downloading of the provider binary to `images/installer/Dockerfile.upi.ci`
which is necessary because the ignition v2/spec3 version from the
`community-terraform-providers/terraform-ignition-provider` fork is not
present in the provider registry that is maintained by Hashicorp and can
therefore not be pulled in automatically by terraform.
is not present in the
- Bumps machine-config-operator to b3b074ee9156
(latest commit at the time of this writing).
- Adds "github.com/clarketm/json" dependency for marshaling Ignition configs.
This is a dropin replacement for "encoding/json" that supports zero values of
structs with omittempty annotations when marshaling.
In effect, this will exclude empty pointer struct fields from the
marshaled data instead of inserting nil values into them, which do not
pass openAPI validation on fields that are supposed to contain e.g. strings.
The same library is used by machine-config-operator and ignition itself.
- Updates the vendor dir to make commit idempotent.

[1] https://github.com/coreos/ignition/blob/master/doc/configuration-v3_1.md
[2] https://github.com/coreos/ignition/blob/master/doc/migrating-configs.md#from-version-230-to-300

Co-authored-by: Vadim Rutkovsky <vrutkovs@redhat.com>
2020-07-29 00:39:27 +02:00
..

json

Mirrors golang/go Golang version

Drop-in replacement for Golang encoding/json with additional features.

Installation

$ go get -u github.com/clarketm/json

Usage

Same usage as Golang encoding/json.

Features

If omitempty is applied to a struct and all the children of the struct are empty, then on marshalling it will be omitted from the encoded json.

License

Refer to the Golang license. See LICENSE for more information.