Update the GCP provider reference so that N4A instances can be validated.
Note: govmomi was set to v0.51.0 because the MAPI updates were causing an automatic
update to v0.52.0 resulting in build issues that have no current solution.
* Replace terraform modules with github.com/hashicorp/terraform-exec.
* Remove all terraform providers.
* Remove all unneeded replaces.
* Tidy up the replace stanzas so that it is more clear why each replace is needed.
* Remove and re-create all indirect requires to clean up ones that are
no longer needed.
-replace=k8s.io/client-go=k8s.io/client-go@v0.22.0 \
-replace=k8s.io/kube-openapi=k8s.io/kube-openapi@v0.0.0-20210305001622-591a79e4bda7
Bumps the OpenShift & k8s APIs. There seems to be a breaking change
in kube-openshift which breaks our kubevirt.io dependencies. I'm pinning
this to the earlier kube-openapi until these dependencies can be
updated.
Bump github.com/openshift/api to pick up AWS resource tags
in the infrastructure.config.openshift.io CRD.
* upgrade kubernetes modules to v0.21.0-rc.0
* pin sigs.k8s.io/controller-runtime to v0.9.0-alpha.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>