Force the integration tests to run in serial until the function
extractFileFromImage in pkg/asset/agent/image/oc.go has been
fixed.
Signed-off-by: Richard Su <rwsu@redhat.com>
At the time of making this commit, the package `github.com/ghodss/yaml`
is no longer actively maintained.
`sigs.k8s.io/yaml` is a permanent fork of `ghodss/yaml` and is actively
maintained by Kubernetes SIG.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
Using MODE=dev ./hack/build.shwith this PR will allow the use
of Delve (and rr). It disables:
compiler optimizations
inlining
DWARF stripping
MODE=release remains unchanged.
In Ci, go-lint.sh runs with -mod=vendor and fails to install golint. For local
test, GOFLAGS is not set.
Thus, GOFLAGS is temporarily unset with installing golint.
Signed-off-by: ERAMOTO Masaya <eramoto.masaya@jp.fujitsu.com>
go-lint.sh outputs the following errors:
```
$ hack/go-lint.sh $(go list -f '{{ .ImportPath }}' ./...)
./hack/go-lint.sh: 5: golint: not found
```
AFAIK, golint does not exist in docker.io/golang-1.15 or later.
So, the script installs golint.
Signed-off-by: ERAMOTO Masaya <eramoto.masaya@jp.fujitsu.com>
This avoids the wrong binaries from the previous build being included in
the installer binary when (cross-)compiling locally for multiple targets
in sequence.
go generate always needs to be run natively, even when cross-compiling.
Handling that in build.sh simplifies cross-compiling both manually and
in installer-artifacts.
Add verification that the vendoring of the terraform sub-modules is
in-sync with what is needed for building the sub-modules.
https://issues.redhat.com/browse/CORS-1909
Update the go version used for verifying vendoring from 1.16 to 1.17.
The CI job uses its own image and does not use the image specified
in the script. Therefore, the go version in the script must match
the go version in the CI job, particularly when there are breaking
changes between go versions (as there are between 1.16 and 1.17
when it comes to modules).
To reduce the time to build the installer binary, let's change the terraform
Makefile so that it only builds the binaries when there are changes to the
respective go.mod. For example, the aws terraform provider will only be
re-built when there is a change to the go.mod file in the aws sub-module.
Remove the script for downloading the terraform binary. Since terraform
does not officially support some of the architectures that the installer
targets, the terraform binary needs to be built locally rather than
downloaded.
To reduce the size of the installer binary, zip each terraform provider
after building it. Terraform can use the zip directly without requiring
the installer to unzip the provider first.
Unpack the providers needed for completing a stage from the embedded
data in the installer's binary. This replaces the previous method of
creating symlinks to the installer binary, where the installer binary
masqueraded as each of the terraform providers.
This will download remote terraform providers individually. The remote terraform
providers are the providers that can be used as-is from a public registry.
This will also grab the terraform binary to embed in the installer from the
same terraform image used to download the terraform providers.
Use the latest version available for all of the remote providers.
This will build local terraform providers individually. The local terraform
providers are the providers that either (1) are not published in a public
regisrty or (2) require patches.
azureprivatedns: private to the installer repo
azurestack: requires patches
ibm: arm build is not published
ignition: arm buid is not published
ironic: not published
ovirt: not published
vsphere: requires patches
vsphereprivate: private to the installer repo
Building these has been added hack/build.sh. In the future a better way of
handling the vendoring in the individual directories will be necessary.
co-authored: staebler
The hack/verify-codegen.sh script was using an image that included
go 1.16. However, the updated k8s.io/json module calls the
`(reflect.StructField) IsExported` function, which is new in go 1.17.
Consequently, the script needs to be updated to use an image that
include go 1.17 rather than 1.16.
Currently, the installer relies on a generated go file for determining
the AWS region in which the RHCOS image is published. The `go generate`
directive was inadvertently removed in https://github.com/openshift/installer/pull/4582.
Rather than resurrecting the directive, this commit removes the generated
code in favor of gathering the regions directly from the rhcos stream
data when needed.
https://issues.redhat.com/browse/CORS-1838
if the go codegen commands failed, the the hack/verify-codegen.sh script
continued and the CI check passed. see #5406 for an example. the script
was not set to fail on a non-zero return code. this pr adds the bash e
option to the set builtin to catch errors and exit on failure.
Signed-off-by: Christy Norman <christy@linux.vnet.ibm.com>
It's more logically owned by the CoreOS team and this will
allow us to have a separate `OWNERS` file.
The `OWNERS` file is copied from the current one in openshift/os.