Compare commits

...

3 Commits

Author SHA1 Message Date
eabdullin ac8f0fcc14 import CS ignition-2.17.0-2.el9 2024-03-28 10:36:41 +00:00
eabdullin a73c184e3c import CS ignition-2.16.2-1.el9 2023-09-21 18:51:45 +00:00
CentOS Sources b81232dbde import ignition-2.15.0-1.el9 2023-03-29 08:45:39 +00:00
4 changed files with 289 additions and 147 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
SOURCES/ignition-2.14.0.tar.gz
SOURCES/ignition-2.17.0.tar.gz
SOURCES/ignition-edge-35853de.tar.gz

View File

@ -1 +1,2 @@
0341fb877cadf55f6fe74adf066e7ed72ec57ce0 SOURCES/ignition-2.14.0.tar.gz
eef0ada17df6ee3ede30dd6cf1b65d051333150f SOURCES/ignition-2.17.0.tar.gz
5478ba1847a798e4bff1b237281086a212a2af57 SOURCES/ignition-edge-35853de.tar.gz

View File

@ -0,0 +1,97 @@
From 3babc7a5b767fb60ca877213d9201568205e983f Mon Sep 17 00:00:00 2001
From: Jonathan Lebon <jonathan@jlebon.com>
Date: Thu, 8 Feb 2024 11:02:27 -0500
Subject: [PATCH] azure: retry HTTP requests on codes 404, 410, and 429
For some reason, the Azure IMDS server expects clients to retry their
HTTP requests even on codes that usually would be considered final.
The documented one is 410[[1]], but let's just match the set from
cloud-init, which also includes 404 and 429[[2]].
Closes: #1806
[1]: https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux#errors-and-debugging
[2]: https://github.com/canonical/cloud-init/commit/c1a2047cf291
travier: Edited to cleanly backport on top of 2.17.0
---
internal/providers/azure/azure.go | 11 ++++++++++-
internal/resource/http.go | 17 ++++++++++++++++-
internal/resource/url.go | 4 ++++
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/internal/providers/azure/azure.go b/internal/providers/azure/azure.go
index d3115f2b..caddcff5 100644
--- a/internal/providers/azure/azure.go
+++ b/internal/providers/azure/azure.go
@@ -112,7 +112,16 @@ func fetchFromIMDS(f *resource.Fetcher) ([]byte, error) {
headers := make(http.Header)
headers.Set("Metadata", "true")
- data, err := f.FetchToBuffer(imdsUserdataURL, resource.FetchOptions{Headers: headers})
+ // Azure IMDS expects some codes <500 to still be retried...
+ // Here, we match the cloud-init set.
+ // https://github.com/canonical/cloud-init/commit/c1a2047cf291
+ // https://github.com/coreos/ignition/issues/1806
+ retryCodes := []int{
+ 404, // not found
+ 410, // gone
+ 429, // rate-limited
+ }
+ data, err := f.FetchToBuffer(imdsUserdataURL, resource.FetchOptions{Headers: headers, RetryCodes: retryCodes})
if err != nil {
return nil, fmt.Errorf("fetching to buffer: %w", err)
}
diff --git a/internal/resource/http.go b/internal/resource/http.go
index 0d8edace..872ce253 100644
--- a/internal/resource/http.go
+++ b/internal/resource/http.go
@@ -263,6 +263,21 @@ func (f *Fetcher) newHttpClient() error {
return nil
}
+func shouldRetryHttp(statusCode int, opts FetchOptions) bool {
+ // we always retry 500+
+ if statusCode >= 500 {
+ return true
+ }
+
+ for _, retryCode := range opts.RetryCodes {
+ if statusCode == retryCode {
+ return true
+ }
+ }
+
+ return false
+}
+
// httpReaderWithHeader performs an HTTP request on the provided URL with the
// provided request header & method and returns the response body Reader, HTTP
// status code, a cancel function for the result's context, and error (if any).
@@ -298,7 +313,7 @@ func (c HttpClient) httpReaderWithHeader(opts FetchOptions, url string) (io.Read
if err == nil {
c.logger.Info("%s result: %s", opts.HTTPVerb, http.StatusText(resp.StatusCode))
- if resp.StatusCode < 500 {
+ if !shouldRetryHttp(resp.StatusCode, opts) {
return resp.Body, resp.StatusCode, cancelFn, nil
}
resp.Body.Close()
diff --git a/internal/resource/url.go b/internal/resource/url.go
index 58e0b9fc..3d16cc59 100644
--- a/internal/resource/url.go
+++ b/internal/resource/url.go
@@ -125,6 +125,10 @@ type FetchOptions struct {
// HTTPVerb is an HTTP request method to indicate the desired action to
// be performed for a given resource.
HTTPVerb string
+
+ // List of HTTP codes to retry that usually would be considered as complete.
+ // Status codes >= 500 are always retried.
+ RetryCodes []int
}
// FetchToBuffer will fetch the given url into a temporary file, and then read
--
2.43.0

View File

@ -7,10 +7,13 @@
%bcond_with check
%endif
%global ignedgecommit 35853ded31252937d3390970a89885478651c12e
%global ignedgeshortcommit %(c=%{ignedgecommit}; echo ${c:0:7})
# https://github.com/coreos/ignition
%global goipath github.com/coreos/ignition
%global gomodulesmode GO111MODULE=on
Version: 2.14.0
Version: 2.17.0
%gometa
@ -19,13 +22,16 @@ Version: 2.14.0
%global dracutlibdir %{_prefix}/lib/dracut
Name: ignition
Release: 1%{?dist}
Summary: First boot installer and configuration tool
Release: 2%{?dist}
Summary: First boot installer and configuration tool (RHEL CoreOS only)
# Upstream license specification: Apache-2.0
License: ASL 2.0
URL: %{gourl}
Source0: %{gosource}
Source1: https://github.com/fedora-iot/ignition-edge/archive/%{ignedgecommit}/ignition-edge-%{ignedgeshortcommit}.tar.gz
Patch0: 0001-azure-retry-HTTP-requests-on-codes-404-410-and-429.patch
BuildRequires: libblkid-devel
BuildRequires: systemd-rpm-macros
@ -42,155 +48,130 @@ Requires: dracut-network
Obsoletes: ignition-dracut < 0.31.0-3
# Generated by `go-mods-to-bundled-provides.py | sort`
Provides: bundled(golang(cloud.google.com/go)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/compute/metadata)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/iam)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/internal)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/internal/optional)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/internal/trace)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/internal/version)) = 0.58.0
Provides: bundled(golang(cloud.google.com/go/storage)) = 0.58.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/arn)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awserr)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awsutil)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client/metadata)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/corehandlers)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/endpointcreds)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/processcreds)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/stscreds)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/csm)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/defaults)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/ec2metadata)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/endpoints)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/request)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/session)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/signer/v4)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/context)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/ini)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/s3err)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkio)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkmath)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkrand)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkuri)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/shareddefaults)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/strings)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sync/singleflight)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/eventstream)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/json/jsonutil)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query/queryutil)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/rest)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/restxml)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/internal/arn)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3iface)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3manager)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sts)) = 1.30.28
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sts/stsiface)) = 1.30.28
Provides: bundled(golang(github.com/beevik/etree)) = 1.1.1-0.20200718192613.git4a2f8b9d084c
Provides: bundled(golang(github.com/coreos/go-semver/semver)) = 0.3.0
Provides: bundled(golang(github.com/coreos/go-systemd/v22/dbus)) = 22.0.0
Provides: bundled(golang(github.com/coreos/go-systemd/v22/journal)) = 22.0.0
Provides: bundled(golang(github.com/coreos/go-systemd/v22/unit)) = 22.0.0
Provides: bundled(golang(github.com/coreos/vcontext/json)) = 0.0.0-20211021162308.gitf1dbbca7bef4
Provides: bundled(golang(github.com/coreos/vcontext/path)) = 0.0.0-20211021162308.gitf1dbbca7bef4
Provides: bundled(golang(github.com/coreos/vcontext/report)) = 0.0.0-20211021162308.gitf1dbbca7bef4
Provides: bundled(golang(github.com/coreos/vcontext/tree)) = 0.0.0-20211021162308.gitf1dbbca7bef4
Provides: bundled(golang(github.com/coreos/vcontext/validate)) = 0.0.0-20211021162308.gitf1dbbca7bef4
Provides: bundled(golang(github.com/google/renameio)) = 0.1.0
Provides: bundled(golang(github.com/google/uuid)) = 1.1.1
Provides: bundled(golang(cloud.google.com/go/compute/metadata)) = 0.2.3
Provides: bundled(golang(cloud.google.com/go/storage)) = 1.35.1
Provides: bundled(golang(cloud.google.com/go/storage/internal)) = 1.35.1
Provides: bundled(golang(cloud.google.com/go/storage/internal/apiv2)) = 1.35.1
Provides: bundled(golang(cloud.google.com/go/storage/internal/apiv2/storagepb)) = 1.35.1
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/arn)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/auth/bearer)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awserr)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/awsutil)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/client/metadata)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/corehandlers)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/endpointcreds)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/processcreds)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/ssocreds)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/credentials/stscreds)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/csm)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/defaults)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/ec2metadata)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/endpoints)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/request)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/session)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/aws/signer/v4)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/context)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/ini)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/s3shared)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/s3shared/arn)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/s3shared/s3err)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkio)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkmath)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkrand)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sdkuri)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/shareddefaults)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/strings)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/internal/sync/singleflight)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/checksum)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/eventstream)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/json/jsonutil)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/jsonrpc)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/query/queryutil)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/rest)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/restjson)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/restxml)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3iface)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/s3/s3manager)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sso)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/ssooidc)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sso/ssoiface)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sts)) = 1.48.0
Provides: bundled(golang(github.com/aws/aws-sdk-go/service/sts/stsiface)) = 1.48.0
Provides: bundled(golang(github.com/beevik/etree)) = 1.2.0
Provides: bundled(golang(github.com/containers/libhvee/pkg/kvp)) = 0.5.0
Provides: bundled(golang(github.com/coreos/go-semver/semver)) = 0.3.1
Provides: bundled(golang(github.com/coreos/go-systemd/v22/dbus)) = 22.5.0
Provides: bundled(golang(github.com/coreos/go-systemd/v22/journal)) = 22.5.0
Provides: bundled(golang(github.com/coreos/go-systemd/v22/unit)) = 22.5.0
Provides: bundled(golang(github.com/coreos/vcontext/json)) = 0.0.0-20230201181013.gitd72178a18687
Provides: bundled(golang(github.com/coreos/vcontext/path)) = 0.0.0-20230201181013.gitd72178a18687
Provides: bundled(golang(github.com/coreos/vcontext/report)) = 0.0.0-20230201181013.gitd72178a18687
Provides: bundled(golang(github.com/coreos/vcontext/tree)) = 0.0.0-20230201181013.gitd72178a18687
Provides: bundled(golang(github.com/coreos/vcontext/validate)) = 0.0.0-20230201181013.gitd72178a18687
Provides: bundled(golang(github.com/google/renameio/v2)) = 2.0.0
Provides: bundled(golang(github.com/google/uuid)) = 1.4.0
Provides: bundled(golang(github.com/mdlayher/vsock)) = 1.2.1
Provides: bundled(golang(github.com/mitchellh/copystructure)) = 1.2.0
Provides: bundled(golang(github.com/pin/tftp)) = 2.1.0
Provides: bundled(golang(github.com/pin/tftp/netascii)) = 2.1.0
Provides: bundled(golang(github.com/spf13/pflag)) = 1.0.6-0.20210604193023.gitd5e0c0615ace
Provides: bundled(golang(github.com/stretchr/testify/assert)) = 1.7.0
Provides: bundled(golang(github.com/stretchr/testify/assert)) = 1.8.4
Provides: bundled(golang(github.com/vincent-petithory/dataurl)) = 1.0.0
Provides: bundled(golang(github.com/vmware/vmw-guestinfo/bdoor)) = 0.0.0-20220317130741.git510905f0efa3
Provides: bundled(golang(github.com/vmware/vmw-guestinfo/message)) = 0.0.0-20220317130741.git510905f0efa3
Provides: bundled(golang(github.com/vmware/vmw-guestinfo/rpcout)) = 0.0.0-20220317130741.git510905f0efa3
Provides: bundled(golang(github.com/vmware/vmw-guestinfo/rpcvmx)) = 0.0.0-20220317130741.git510905f0efa3
Provides: bundled(golang(github.com/vmware/vmw-guestinfo/vmcheck)) = 0.0.0-20220317130741.git510905f0efa3
Provides: bundled(golang(golang.org/x/net/context)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/context/ctxhttp)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/http2)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/http2/hpack)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/http/httpguts)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/http/httpproxy)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/idna)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/internal/timeseries)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/net/trace)) = 0.0.0-20200602114024.git627f9648deb9
Provides: bundled(golang(golang.org/x/oauth2)) = 0.0.0-20200107190931.gitbf48bf16ab8d
Provides: bundled(golang(golang.org/x/oauth2/google)) = 0.0.0-20200107190931.gitbf48bf16ab8d
Provides: bundled(golang(golang.org/x/oauth2/internal)) = 0.0.0-20200107190931.gitbf48bf16ab8d
Provides: bundled(golang(golang.org/x/oauth2/jws)) = 0.0.0-20200107190931.gitbf48bf16ab8d
Provides: bundled(golang(golang.org/x/oauth2/jwt)) = 0.0.0-20200107190931.gitbf48bf16ab8d
Provides: bundled(golang(golang.org/x/sys/internal/unsafeheader)) = 0.0.0-20200610111108.git226ff32320da
Provides: bundled(golang(golang.org/x/sys/unix)) = 0.0.0-20200610111108.git226ff32320da
Provides: bundled(golang(golang.org/x/tools/cmd/goimports)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/analysis)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/analysis/passes/inspect)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/ast/astutil)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/ast/inspector)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/buildutil)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/gcexportdata)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/internal/cgo)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/internal/gcimporter)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/internal/packagesdriver)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/loader)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/packages)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/types/objectpath)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/go/types/typeutil)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/analysisinternal)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/event)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/event/core)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/event/keys)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/event/label)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/fastwalk)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/gocommand)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/gopathwalk)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/imports)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(golang.org/x/tools/internal/packagesinternal)) = 0.0.0-20200610160956.git3e83d1e96d0e
Provides: bundled(golang(google.golang.org/api/googleapi)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/googleapi/transport)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/internal)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/internal/gensupport)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/internal/third_party/uritemplates)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/iterator)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/option)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/option/internaloption)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/storage/v1)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/transport/cert)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/transport/http)) = 0.26.0
Provides: bundled(golang(google.golang.org/api/transport/http/internal/propagation)) = 0.26.0
Provides: bundled(golang(google.golang.org/genproto/googleapis/api/annotations)) = 0.0.0-20200610104632.gita5b850bcf112
Provides: bundled(golang(google.golang.org/genproto/googleapis/iam/v1)) = 0.0.0-20200610104632.gita5b850bcf112
Provides: bundled(golang(google.golang.org/genproto/googleapis/rpc/code)) = 0.0.0-20200610104632.gita5b850bcf112
Provides: bundled(golang(google.golang.org/genproto/googleapis/rpc/status)) = 0.0.0-20200610104632.gita5b850bcf112
Provides: bundled(golang(google.golang.org/genproto/googleapis/type/expr)) = 0.0.0-20200610104632.gita5b850bcf112
Provides: bundled(golang(go.opencensus.io)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/internal)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/internal/tagencoding)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/metric/metricdata)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/metric/metricproducer)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/plugin/ochttp)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/plugin/ochttp/propagation/b3)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/resource)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/stats)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/stats/internal)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/stats/view)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/tag)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/trace)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/trace/internal)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/trace/propagation)) = 0.22.5
Provides: bundled(golang(go.opencensus.io/trace/tracestate)) = 0.22.5
Provides: bundled(golang(golang.org/x/net/bpf)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/context)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/http2)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/http2/hpack)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/http/httpguts)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/http/httpproxy)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/idna)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/internal/timeseries)) = 0.18.0
Provides: bundled(golang(golang.org/x/net/trace)) = 0.18.0
Provides: bundled(golang(golang.org/x/oauth2)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/authhandler)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/google)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/google/internal/externalaccount)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/google/internal/externalaccountauthorizeduser)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/google/internal/stsexchange)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/internal)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/jws)) = 0.14.0
Provides: bundled(golang(golang.org/x/oauth2/jwt)) = 0.14.0
Provides: bundled(golang(golang.org/x/sys/cpu)) = 0.14.0
Provides: bundled(golang(golang.org/x/sys/unix)) = 0.14.0
Provides: bundled(golang(google.golang.org/api/googleapi)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/googleapi/transport)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/iamcredentials/v1)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/internal)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/internal/cert)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/internal/gensupport)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/internal/impersonate)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/internal/third_party/uritemplates)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/iterator)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/option)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/option/internaloption)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/storage/v1)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/transport)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/transport/grpc)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/transport/http)) = 0.151.0
Provides: bundled(golang(google.golang.org/api/transport/http/internal/propagation)) = 0.151.0
Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1
%description
This software is currently only supported on RHEL CoreOS.
Ignition is a utility used to manipulate systems during the initramfs.
This includes partitioning disks, formatting partitions, writing files
(regular files, systemd units, etc.), and configuring users. On first
@ -239,19 +220,37 @@ It is only used for building release binaries to be signed by Fedora release
engineering and uploaded to the Ignition GitHub releases page.
%endif
############## ignition-edge subpackage ##############
%if 0%{?rhel} && !0%{?eln}
%package edge
Summary: Enablement glue for Ignition on IoT/Edge systems
License: ASL 2.0
%description edge
This package contains dracut modules, services and binaries needed to enable
Ignition on IoT/Edge systems.
%endif
%prep
%if 0%{?fedora}
%goprep -k
%autopatch -p1
%else
%forgeautosetup -p1
tar xvf %{SOURCE1}
%endif
%build
export LDFLAGS="-X github.com/coreos/ignition/v2/internal/version.Raw=%{version} -X github.com/coreos/ignition/v2/internal/distro.selinuxRelabel=true "
%if 0%{?rhel} || 0%{?centos}
%if 0%{?rhel} && 0%{?rhel} <= 8
# Disable writing ssh keys fragments on RHEL/CentOS <= 8
LDFLAGS+=' -X github.com/coreos/ignition/v2/internal/distro.writeAuthorizedKeysFragment=false '
%endif
%if 0%{?rhel}
# Need uncompressed debug symbols for debuginfo extraction
LDFLAGS+=' -X github.com/coreos/ignition/v2/internal/distro.writeAuthorizedKeysFragment=false -compressdwarf=false '
LDFLAGS+=' -compressdwarf=false '
%endif
export GOFLAGS="-mod=vendor"
@ -304,6 +303,10 @@ install -p -m 0644 ./ignition-validate-x86_64-unknown-linux-gnu-static %{buildro
# the command line. Install directly into the dracut module dir.
install -p -m 0755 ./ignition %{buildroot}/%{dracutlibdir}/modules.d/30ignition
%if 0%{?rhel} && !0%{?eln}
%make_install -C ignition-edge-%{ignedgecommit}
%endif
%if %{with check}
%check
# Exclude the blackbox tests
@ -313,8 +316,8 @@ install -p -m 0755 ./ignition %{buildroot}/%{dracutlibdir}/modules.d/30ignition
%files
%license %{golicenses}
%doc %{godocs}
%{dracutlibdir}/modules.d/*
%{_unitdir}/*.service
%{dracutlibdir}/modules.d/30ignition/*
%{_unitdir}/ignition-delete-config.service
%{_libexecdir}/ignition-apply
%{_libexecdir}/ignition-rmcfg
@ -335,7 +338,47 @@ install -p -m 0755 ./ignition %{buildroot}/%{dracutlibdir}/modules.d/30ignition
%{_datadir}/ignition/ignition-validate-x86_64-unknown-linux-gnu-static
%endif
%if 0%{?rhel} && !0%{?eln}
%files edge
%license %{golicenses}
%doc %{godocs}
%{dracutlibdir}/modules.d/35ignition-edge/*
%{dracutlibdir}/modules.d/10coreos-sysctl/*
%{dracutlibdir}/modules.d/99emergency-shell-setup/*
%{dracutlibdir}/modules.d/99journal-conf/*
%{_unitdir}/coreos-check-ssh-keys.service
%{_unitdir}/coreos-ignition-write-issues.service
%{_unitdir}/ignition-firstboot-complete.service
%{_libexecdir}/coreos-ignition-write-issues
%{_libexecdir}/coreos-check-ssh-keys
%endif
%changelog
* Fri Feb 09 2024 Timothée Ravier <tim@siosm.fr> - 2.17.0-2
- Backport fix for unexpected Azure IMDS status codes
* Mon Dec 18 2023 Yasmin Valim <ydesouza@redhat.com> - 2.17.0-1
- New release
* Thu Jul 13 2023 Benjamin Gilbert <bgilbert@redhat.com> - 2.16.2-1
- New release
* Tue May 30 2023 Antonio Murdaca <antoniomurdaca@gmail.com> - 2.15.0-2
- Fix Edge's Anaconda installer (#2203233)
* Wed Feb 22 2023 Benjamin Gilbert <bgilbert@redhat.com> - 2.15.0-1
- New release
- Clarify -edge subpackage summary and description
* Tue Nov 22 2022 Antonio Murdaca <antoniomurdaca@gmail.com> - 2.14.0-4
- Rebuild to include ignition-edge subpackage (#2144789)
* Mon Oct 10 2022 Benjamin Gilbert <bgilbert@redhat.com> - 2.14.0-3
- Rebuild for unblocking ignition-validate subpackage (#2121002)
* Tue Aug 9 2022 Christian Glombek <cglombek@redhat.com> - 2.14.0-2
- Enable writing ssh keys fragments on RHEL/CentOS >= 9
* Thu May 26 2022 Benjamin Gilbert <bgilbert@redhat.com> - 2.14.0-1
- New release
- Add ignition-apply symlink