mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 21:11:08 +02:00
2387.0.0
This commit is contained in:
parent
47817d6ad3
commit
05ea457a5f
@ -1,277 +0,0 @@
|
||||
From 27c62d8543b603420e0a951f38d2fe3b8640006c Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Jeddeloh <ajeddelo@redhat.com>
|
||||
Date: Mon, 22 Jul 2019 11:09:53 -0700
|
||||
Subject: [PATCH 1/2] providers: allow FetchConfig to mutate the fetcher
|
||||
|
||||
Allow each provider's FetchConfig function to mutate the provider it
|
||||
uses. This will allow the aws platform to set the region after it has
|
||||
fetched the config.
|
||||
---
|
||||
internal/exec/engine.go | 2 +-
|
||||
internal/providers/azure/azure.go | 2 +-
|
||||
internal/providers/cloudstack/cloudstack.go | 4 ++--
|
||||
internal/providers/cmdline/cmdline.go | 2 +-
|
||||
internal/providers/digitalocean/digitalocean.go | 2 +-
|
||||
internal/providers/ec2/ec2.go | 2 +-
|
||||
internal/providers/file/file.go | 2 +-
|
||||
internal/providers/gce/gce.go | 2 +-
|
||||
internal/providers/noop/noop.go | 2 +-
|
||||
internal/providers/openstack/openstack.go | 4 ++--
|
||||
internal/providers/packet/packet.go | 2 +-
|
||||
internal/providers/providers.go | 2 +-
|
||||
internal/providers/qemu/qemu.go | 2 +-
|
||||
internal/providers/system/system.go | 2 +-
|
||||
internal/providers/virtualbox/virtualbox.go | 2 +-
|
||||
internal/providers/vmware/vmware_amd64.go | 4 ++--
|
||||
internal/providers/vmware/vmware_unsupported.go | 2 +-
|
||||
17 files changed, 20 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/internal/exec/engine.go b/internal/exec/engine.go
|
||||
index 1f7ad96..6a82c2d 100644
|
||||
--- a/internal/exec/engine.go
|
||||
+++ b/internal/exec/engine.go
|
||||
@@ -196,7 +196,7 @@ func (e *Engine) fetchProviderConfig() (types.Config, error) {
|
||||
var r report.Report
|
||||
var err error
|
||||
for _, fetcher := range fetchers {
|
||||
- cfg, r, err = fetcher(*e.Fetcher)
|
||||
+ cfg, r, err = fetcher(e.Fetcher)
|
||||
if err != providers.ErrNoProvider {
|
||||
// successful, or failed on another error
|
||||
break
|
||||
diff --git a/internal/providers/azure/azure.go b/internal/providers/azure/azure.go
|
||||
index b7cfa73..b29e7c6 100644
|
||||
--- a/internal/providers/azure/azure.go
|
||||
+++ b/internal/providers/azure/azure.go
|
||||
@@ -51,7 +51,7 @@ const (
|
||||
CDS_DISC_OK
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
devicePath := filepath.Join(distro.DiskByIDDir(), configDeviceID)
|
||||
|
||||
logger := f.Logger
|
||||
diff --git a/internal/providers/cloudstack/cloudstack.go b/internal/providers/cloudstack/cloudstack.go
|
||||
index 26d2550..b8a2e23 100644
|
||||
--- a/internal/providers/cloudstack/cloudstack.go
|
||||
+++ b/internal/providers/cloudstack/cloudstack.go
|
||||
@@ -45,7 +45,7 @@ const (
|
||||
LeaseRetryInterval = 500 * time.Millisecond
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
var data []byte
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
|
||||
@@ -191,7 +191,7 @@ func fetchConfigFromDevice(logger *log.Logger, ctx context.Context, label string
|
||||
return ioutil.ReadFile(filepath.Join(mnt, configDriveUserdataPath))
|
||||
}
|
||||
|
||||
-func fetchConfigFromMetadataService(f resource.Fetcher) ([]byte, error) {
|
||||
+func fetchConfigFromMetadataService(f *resource.Fetcher) ([]byte, error) {
|
||||
addr, err := getDHCPServerAddress()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
diff --git a/internal/providers/cmdline/cmdline.go b/internal/providers/cmdline/cmdline.go
|
||||
index 1a393fb..505e48f 100644
|
||||
--- a/internal/providers/cmdline/cmdline.go
|
||||
+++ b/internal/providers/cmdline/cmdline.go
|
||||
@@ -36,7 +36,7 @@ const (
|
||||
cmdlineUrlFlag = "ignition.config.url"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
url, err := readCmdline(f.Logger)
|
||||
if err != nil {
|
||||
return types.Config{}, report.Report{}, err
|
||||
diff --git a/internal/providers/digitalocean/digitalocean.go b/internal/providers/digitalocean/digitalocean.go
|
||||
index 9fdd72a..2acfea4 100644
|
||||
--- a/internal/providers/digitalocean/digitalocean.go
|
||||
+++ b/internal/providers/digitalocean/digitalocean.go
|
||||
@@ -34,7 +34,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
data, err := f.FetchToBuffer(userdataUrl, resource.FetchOptions{
|
||||
Headers: resource.ConfigHeaders,
|
||||
})
|
||||
diff --git a/internal/providers/ec2/ec2.go b/internal/providers/ec2/ec2.go
|
||||
index 19d5d8b..535398e 100644
|
||||
--- a/internal/providers/ec2/ec2.go
|
||||
+++ b/internal/providers/ec2/ec2.go
|
||||
@@ -40,7 +40,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
data, err := f.FetchToBuffer(userdataUrl, resource.FetchOptions{
|
||||
Headers: resource.ConfigHeaders,
|
||||
})
|
||||
diff --git a/internal/providers/file/file.go b/internal/providers/file/file.go
|
||||
index b2d2766..245af8d 100644
|
||||
--- a/internal/providers/file/file.go
|
||||
+++ b/internal/providers/file/file.go
|
||||
@@ -29,7 +29,7 @@ const (
|
||||
defaultFilename = "config.ign"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
filename := os.Getenv(cfgFilenameEnvVar)
|
||||
if filename == "" {
|
||||
filename = defaultFilename
|
||||
diff --git a/internal/providers/gce/gce.go b/internal/providers/gce/gce.go
|
||||
index 991745c..c1f2b75 100644
|
||||
--- a/internal/providers/gce/gce.go
|
||||
+++ b/internal/providers/gce/gce.go
|
||||
@@ -36,7 +36,7 @@ var (
|
||||
metadataHeaderVal = "Google"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
headers := resource.ConfigHeaders
|
||||
headers.Set(metadataHeaderKey, metadataHeaderVal)
|
||||
data, err := f.FetchToBuffer(userdataUrl, resource.FetchOptions{
|
||||
diff --git a/internal/providers/noop/noop.go b/internal/providers/noop/noop.go
|
||||
index c972f47..d9b5798 100644
|
||||
--- a/internal/providers/noop/noop.go
|
||||
+++ b/internal/providers/noop/noop.go
|
||||
@@ -23,7 +23,7 @@ import (
|
||||
"github.com/coreos/ignition/internal/resource"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
f.Logger.Debug("noop provider fetching empty config")
|
||||
return types.Config{}, report.Report{}, errors.ErrEmpty
|
||||
}
|
||||
diff --git a/internal/providers/openstack/openstack.go b/internal/providers/openstack/openstack.go
|
||||
index 0d90c64..723c10c 100644
|
||||
--- a/internal/providers/openstack/openstack.go
|
||||
+++ b/internal/providers/openstack/openstack.go
|
||||
@@ -50,7 +50,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
var data []byte
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
|
||||
@@ -129,7 +129,7 @@ func fetchConfigFromDevice(logger *log.Logger, ctx context.Context, path string)
|
||||
return ioutil.ReadFile(filepath.Join(mnt, configDriveUserdataPath))
|
||||
}
|
||||
|
||||
-func fetchConfigFromMetadataService(f resource.Fetcher) ([]byte, error) {
|
||||
+func fetchConfigFromMetadataService(f *resource.Fetcher) ([]byte, error) {
|
||||
res, err := f.FetchToBuffer(metadataServiceUrl, resource.FetchOptions{
|
||||
Headers: resource.ConfigHeaders,
|
||||
})
|
||||
diff --git a/internal/providers/packet/packet.go b/internal/providers/packet/packet.go
|
||||
index 4a010f8..a81ffb9 100644
|
||||
--- a/internal/providers/packet/packet.go
|
||||
+++ b/internal/providers/packet/packet.go
|
||||
@@ -51,7 +51,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
// Packet's metadata service returns "Not Acceptable" when queried
|
||||
// with the default Accept header.
|
||||
headers := resource.ConfigHeaders
|
||||
diff --git a/internal/providers/providers.go b/internal/providers/providers.go
|
||||
index 99933cc..8a9c47c 100644
|
||||
--- a/internal/providers/providers.go
|
||||
+++ b/internal/providers/providers.go
|
||||
@@ -27,6 +27,6 @@ var (
|
||||
ErrNoProvider = errors.New("config provider was not online")
|
||||
)
|
||||
|
||||
-type FuncFetchConfig func(f resource.Fetcher) (types.Config, report.Report, error)
|
||||
+type FuncFetchConfig func(f *resource.Fetcher) (types.Config, report.Report, error)
|
||||
type FuncNewFetcher func(logger *log.Logger) (resource.Fetcher, error)
|
||||
type FuncPostStatus func(stageName string, f resource.Fetcher, e error) error
|
||||
diff --git a/internal/providers/qemu/qemu.go b/internal/providers/qemu/qemu.go
|
||||
index 46df749..676b00c 100644
|
||||
--- a/internal/providers/qemu/qemu.go
|
||||
+++ b/internal/providers/qemu/qemu.go
|
||||
@@ -32,7 +32,7 @@ const (
|
||||
firmwareConfigPath = "/sys/firmware/qemu_fw_cfg/by_name/opt/com.coreos/config/raw"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
_, err := f.Logger.LogCmd(exec.Command("modprobe", "qemu_fw_cfg"), "loading QEMU firmware config module")
|
||||
if err != nil {
|
||||
return types.Config{}, report.Report{}, err
|
||||
diff --git a/internal/providers/system/system.go b/internal/providers/system/system.go
|
||||
index c728caf..49d2f0e 100644
|
||||
--- a/internal/providers/system/system.go
|
||||
+++ b/internal/providers/system/system.go
|
||||
@@ -42,7 +42,7 @@ func FetchDefaultConfig(logger *log.Logger) (types.Config, report.Report, error)
|
||||
return fetchConfig(logger, defaultFilename)
|
||||
}
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
return fetchConfig(f.Logger, userFilename)
|
||||
}
|
||||
|
||||
diff --git a/internal/providers/virtualbox/virtualbox.go b/internal/providers/virtualbox/virtualbox.go
|
||||
index ba1f298..f73d451 100644
|
||||
--- a/internal/providers/virtualbox/virtualbox.go
|
||||
+++ b/internal/providers/virtualbox/virtualbox.go
|
||||
@@ -35,7 +35,7 @@ const (
|
||||
partUUID = "99570a8a-f826-4eb0-ba4e-9dd72d55ea13"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
f.Logger.Debug("Attempting to read config drive")
|
||||
rawConfig, err := ioutil.ReadFile(filepath.Join(distro.DiskByPartUUIDDir(), partUUID))
|
||||
if os.IsNotExist(err) {
|
||||
diff --git a/internal/providers/vmware/vmware_amd64.go b/internal/providers/vmware/vmware_amd64.go
|
||||
index 19e1ec4..7fa0f31 100644
|
||||
--- a/internal/providers/vmware/vmware_amd64.go
|
||||
+++ b/internal/providers/vmware/vmware_amd64.go
|
||||
@@ -29,7 +29,7 @@ import (
|
||||
"github.com/vmware/vmw-ovflib"
|
||||
)
|
||||
|
||||
-func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
if !vmcheck.IsVirtualWorld() {
|
||||
return types.Config{}, report.Report{}, providers.ErrNoProvider
|
||||
}
|
||||
@@ -49,7 +49,7 @@ func FetchConfig(f resource.Fetcher) (types.Config, report.Report, error) {
|
||||
return util.ParseConfig(f.Logger, decodedData)
|
||||
}
|
||||
|
||||
-func fetchRawConfig(f resource.Fetcher) (config, error) {
|
||||
+func fetchRawConfig(f *resource.Fetcher) (config, error) {
|
||||
info := rpcvmx.NewConfig()
|
||||
|
||||
var ovfData string
|
||||
diff --git a/internal/providers/vmware/vmware_unsupported.go b/internal/providers/vmware/vmware_unsupported.go
|
||||
index cbcc322..999eb66 100644
|
||||
--- a/internal/providers/vmware/vmware_unsupported.go
|
||||
+++ b/internal/providers/vmware/vmware_unsupported.go
|
||||
@@ -27,6 +27,6 @@ import (
|
||||
"github.com/coreos/ignition/internal/resource"
|
||||
)
|
||||
|
||||
-func FetchConfig(_ resource.Fetcher) (types.Config, report.Report, error) {
|
||||
+func FetchConfig(_ *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
return types.Config{}, report.Report{}, errors.New("vmware provider is not supported on this architecture")
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 5d504694380191d85345632caa5afd9d39c4ad99 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Jeddeloh <ajeddelo@redhat.com>
|
||||
Date: Mon, 22 Jul 2019 11:09:58 -0700
|
||||
Subject: [PATCH 2/2] providers/aws: get region after getting config.
|
||||
|
||||
We try to set the region as soon as Ignition starts, but sometimes the
|
||||
metadata server isn't accessible yet. Set the region after we've fetched
|
||||
the config since the server must be up by then.
|
||||
---
|
||||
internal/providers/ec2/ec2.go | 17 +++++++++--------
|
||||
1 file changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/internal/providers/ec2/ec2.go b/internal/providers/ec2/ec2.go
|
||||
index 535398e..65c998a 100644
|
||||
--- a/internal/providers/ec2/ec2.go
|
||||
+++ b/internal/providers/ec2/ec2.go
|
||||
@@ -48,6 +48,13 @@ func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
|
||||
return types.Config{}, report.Report{}, err
|
||||
}
|
||||
|
||||
+ // Determine the partition and region this instance is in
|
||||
+ regionHint, err := ec2metadata.New(f.AWSSession).Region()
|
||||
+ if err != nil {
|
||||
+ regionHint = "us-east-1"
|
||||
+ }
|
||||
+ f.S3RegionHint = regionHint
|
||||
+
|
||||
return util.ParseConfig(f.Logger, data)
|
||||
}
|
||||
|
||||
@@ -58,14 +65,8 @@ func NewFetcher(l *log.Logger) (resource.Fetcher, error) {
|
||||
}
|
||||
sess.Config.Credentials = ec2rolecreds.NewCredentials(sess)
|
||||
|
||||
- // Determine the partition and region this ec2 is in
|
||||
- regionHint, err := ec2metadata.New(sess).Region()
|
||||
- if err != nil {
|
||||
- regionHint = "us-east-1"
|
||||
- }
|
||||
return resource.Fetcher{
|
||||
- Logger: l,
|
||||
- AWSSession: sess,
|
||||
- S3RegionHint: regionHint,
|
||||
+ Logger: l,
|
||||
+ AWSSession: sess,
|
||||
}, nil
|
||||
}
|
||||
--
|
||||
2.21.0
|
||||
|
@ -11,7 +11,7 @@ inherit coreos-go cros-workon systemd udev
|
||||
if [[ "${PV}" == 9999 ]]; then
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
CROS_WORKON_COMMIT="774f0d1533745adbcdfaf017d1ac575c92b613f5" # tag v0.33.0
|
||||
CROS_WORKON_COMMIT="88f51f2e669377fa2bbac038064e1dc19849dc3a" # tag v0.34.0
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
@ -41,8 +41,6 @@ RDEPEND="
|
||||
RDEPEND+="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0001-providers-allow-FetchConfig-to-mutate-the-fetcher.patch"
|
||||
"${FILESDIR}/0002-providers-aws-get-region-after-getting-config.patch"
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST linux-4.19.tar.xz 103117552 BLAKE2B 1dbf16cf410867412d17568fe42bc1e90c034183b654d270b650621ff7664a321950943d0639205bc1ee7ef6210be170c1f2c785a042ed8a4ec5e3a486d890e0 SHA512 ab67cc746b375a8b135e8b23e35e1d6787930d19b3c26b2679787d62951cbdbc3bb66f8ededeb9b890e5008b2459397f9018f1a6772fdef67780b06a4cb9f6f4
|
||||
DIST patch-4.19.89.xz 2392432 BLAKE2B feba5d1f26d4552f05f6eecd1dcd95d68d908454aaacf49691cb8e61769d944c9ed7f901e1c1ad7681e2b10f91200be8e9fd2ebb2366d52b0ad986995d8014d6 SHA512 36725681d80eccf4cb7eca95a307f6831345936345c558c93f458c8bdf9ec547308f70dd93b651b210e5de181433d47fa1283edf753f49f1aecc80967da371eb
|
||||
DIST patch-4.19.97.xz 2553356 BLAKE2B 5a1d45c1b5e67890a60a5b6dcb3a8b00f433802a823d07c38d4a03cb3af02efceeb73d9b6db1ffa69cf6489566f173e4ef1c005b4c725153c2edb60f26cd3d2b SHA512 4a8ad6c6a7964b587749f9f13555a068cced3df87aa976bf1f1b2a8c6735dd0dc4ba1877d808ec293f837be1655df844d38a511031124bb0ead7f50717e6ba88
|
||||
|
Loading…
x
Reference in New Issue
Block a user