Merge pull request #2481 from flatcar/tormath1/ignition

sys-apps/ignition: bump to 2.15.0
This commit is contained in:
Mathieu Tortuyaux 2023-03-01 07:21:50 +01:00 committed by GitHub
commit 759cbca91f
21 changed files with 1852 additions and 11135 deletions

View File

@ -0,0 +1 @@
- ignition ([2.15.0](https://coreos.github.io/ignition/release-notes/#ignition-2150-2023-02-21))

View File

@ -1,27 +1,45 @@
From 6b8f73219e65925c4c1674d05b371584b6d29d2a Mon Sep 17 00:00:00 2001
From 4e107fd4f2bad2b3926dadef7b1143a4b2b43e3f Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Mon, 26 Sep 2022 12:09:03 +0200
Subject: [PATCH 02/16] mod: add flatcar/ignition@0.36.2
Date: Fri, 24 Feb 2023 09:13:33 +0100
Subject: [PATCH 02/18] mod: add flatcar/ignition@0.36.2
it's required for Ignition conversion.
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
---
go.mod | 1 +
1 file changed, 1 insertion(+)
go.mod | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/go.mod b/go.mod
index 7c813620..1a85cbc7 100644
index 85b3e34e..b109532e 100644
--- a/go.mod
+++ b/go.mod
@@ -10,6 +10,7 @@ require (
github.com/coreos/go-semver v0.3.0
github.com/coreos/go-systemd/v22 v22.0.0
github.com/coreos/vcontext v0.0.0-20211021162308-f1dbbca7bef4
github.com/coreos/go-semver v0.3.1
github.com/coreos/go-systemd/v22 v22.5.0
github.com/coreos/vcontext v0.0.0-20230201181013-d72178a18687
+ github.com/flatcar/ignition v0.36.2
github.com/google/renameio v0.1.0
github.com/google/uuid v1.1.1
github.com/google/renameio/v2 v2.0.0
github.com/google/uuid v1.3.0
github.com/pin/tftp v2.1.0+incompatible
@@ -27,7 +28,9 @@ require (
cloud.google.com/go v0.107.0 // indirect
cloud.google.com/go/compute v1.18.0 // indirect
cloud.google.com/go/iam v0.8.0 // indirect
+ github.com/ajeddeloh/go-json v0.0.0-20160803184958-73d058cf8437 // indirect
github.com/coreos/go-json v0.0.0-20230131223807-18775e0fb4fb // indirect
+ github.com/coreos/go-systemd v0.0.0-20181031085051-9002847aa142 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/godbus/dbus/v5 v5.0.4 // indirect
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
@@ -38,6 +41,7 @@ require (
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.opencensus.io v0.24.0 // indirect
+ go4.org v0.0.0-20160314031811-03efcb870d84 // indirect
golang.org/x/text v0.7.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.7 // indirect
--
2.35.1

View File

@ -1,84 +1,68 @@
From a83660f437ffe0fe277f863d26ce39d41e3144c9 Mon Sep 17 00:00:00 2001
From b8c235d5945df6f726c86386437cd787a30046c4 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Mon, 26 Sep 2022 12:09:29 +0200
Subject: [PATCH 03/16] sum: go mod tidy
Date: Fri, 24 Feb 2023 09:14:03 +0100
Subject: [PATCH 03/18] sum: go mod tidy
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
---
go.sum | 31 +++++++++++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
go.sum | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/go.sum b/go.sum
index 097b98c7..1d541aaf 100644
index 087ef0ad..bb95e1fe 100644
--- a/go.sum
+++ b/go.sum
@@ -38,6 +38,9 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
@@ -11,6 +11,9 @@ cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+
cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI=
cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/ajeddeloh/go-json v0.0.0-20160803184958-73d058cf8437 h1:gZCtZ+Hh/e3CGEX8q/yAcp8wWu5ZS6NMk6VGzpQhI3s=
+github.com/ajeddeloh/go-json v0.0.0-20160803184958-73d058cf8437/go.mod h1:otnto4/Icqn88WCcM4bhIJNSgsh9VLBuspyyCfvof9c=
+github.com/aws/aws-sdk-go v1.8.39/go.mod h1:ZRmQr0FajVIyZ4ZzBYKG5P3ZqPz9IHG41ZoMu1ADI3k=
github.com/aws/aws-sdk-go v1.30.28 h1:SaPM7dlmp7h3Lj1nJ4jdzOkTdom08+g20k7AU5heZYg=
github.com/aws/aws-sdk-go v1.30.28/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.44.204 h1:7/tPUXfNOHB390A63t6fJIwmlwVQAkAwcbzKsU2/6OQ=
github.com/aws/aws-sdk-go v1.44.204/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/beevik/etree v1.1.1-0.20200718192613-4a2f8b9d084c h1:uYq6BD31fkfeNKQmfLj7ODcEfkb5JLsKrXVSqgnfGg8=
@@ -50,8 +53,11 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
@@ -20,8 +23,11 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/coreos/go-json v0.0.0-20211020211907-c63f628265de h1:qZvNu52Tv7Jfbgxdw3ONHf0BK9UpuSxi9FA9Y+qU5VU=
github.com/coreos/go-json v0.0.0-20211020211907-c63f628265de/go.mod h1:lryFBkhadOfv8Jue2Vr/f/Yviw8h1DQPQojbXqEChY0=
github.com/coreos/go-json v0.0.0-20230131223807-18775e0fb4fb h1:rmqyI19j3Z/74bIRhuC59RB442rXUazKNueVpfJPxg4=
github.com/coreos/go-json v0.0.0-20230131223807-18775e0fb4fb/go.mod h1:rcFZM3uxVvdyNmsAV2jopgPD1cs5SPWJWU5dOz2LUnw=
+github.com/coreos/go-semver v0.1.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
+github.com/coreos/go-systemd v0.0.0-20181031085051-9002847aa142 h1:3jFq2xL4ZajGK4aZY8jz+DAF0FHjI51BXjjSwCzS1Dk=
+github.com/coreos/go-systemd v0.0.0-20181031085051-9002847aa142/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28=
github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
github.com/coreos/vcontext v0.0.0-20211021162308-f1dbbca7bef4 h1:pfSsrvbjUFGINaPGy0mm2QKQKTdq7IcbUa+nQwsz2UM=
@@ -62,10 +68,15 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/coreos/vcontext v0.0.0-20230201181013-d72178a18687 h1:uSmlDgJGbUB0bwQBcZomBTottKwEDF5fF8UjSwKSzWM=
@@ -33,6 +39,10 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/flatcar/ignition v0.36.2 h1:xGHgScUe0P4Fkprjqv7L2CE58emiQgP833OCCn9z2v4=
+github.com/flatcar/ignition v0.36.2/go.mod h1:uk1tpzLFRXus4RrvzgMI+IqmmB8a/RGFSBlI+tMTbbA=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/godbus/dbus v0.0.0-20181025153459-66d97aec3384 h1:xNwo3yd3PZYRDAr/Dz0sBfDWY6El2xPCKJrwJVfMFjY=
+github.com/godbus/dbus v0.0.0-20181025153459-66d97aec3384/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
@@ -117,20 +128,24 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
@@ -71,32 +81,45 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9
github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ=
github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/pborman/uuid v0.0.0-20170612153648-e790cca94e6c/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34=
github.com/pin/tftp v2.1.0+incompatible h1:Yng4J7jv6lOc6IF4XoB5mnd3P7ZrF60XQq+my3FAMus=
github.com/pin/tftp v2.1.0+incompatible/go.mod h1:xVpZOMCXTy+A5QMjEVN0Glwa1sUvaJhFXbr/aAxuxGY=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -138,6 +153,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/sigma/bdoor v0.0.0-20160202064022-babf2a4017b0/go.mod h1:WBu7REWbxC/s/J06jsk//d+9DOz9BbsmcIrimuGRFbs=
+github.com/sigma/vmw-guestinfo v0.0.0-20160204083807-95dd4126d6e8/go.mod h1:JrRFFC0veyh0cibh0DAhriSY7/gV3kDdNaVUOmfx01U=
+github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo=
@ -86,64 +70,54 @@ index 097b98c7..1d541aaf 100644
github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace h1:9PNP1jnUjRhfmGMlkXHjYPishpcw4jpSt/V/xYY3FMA=
github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -147,8 +166,10 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/vincent-petithory/dataurl v1.0.0 h1:cXw+kPto8NLuJtlMsI152irrVw9fRDX8AbShPRpg2CI=
github.com/vincent-petithory/dataurl v1.0.0/go.mod h1:FHafX5vmDzyP+1CQATJn7WFKc9CvnvxyvZy6I1MrG/U=
+github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk=
github.com/vmware/vmw-guestinfo v0.0.0-20220317130741-510905f0efa3 h1:v6jG/tdl4O07LNVp74Nt7/OyL+1JsIW1M2f/nSvQheY=
github.com/vmware/vmw-guestinfo v0.0.0-20220317130741-510905f0efa3/go.mod h1:CSBTxrhePCm0cmXNKDGeu+6bOQzpaEklfCqEpn89JWk=
+github.com/vmware/vmw-ovflib v0.0.0-20170608004843-1f217b9dc714/go.mod h1:jiPk45kn7klhByRvUq5i2vo1RtHKBHj+iWGFpxbXuuI=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -157,6 +178,8 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5 h1:dntmOdLpSpHlVqbW5Eay97DelsZHe+55D+xC6i0dDS0=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
+go4.org v0.0.0-20160314031811-03efcb870d84 h1:WZkGC1qzoax/QSt84wmvIxk+ZOmGIChsTzdrv9t4nvk=
+go4.org v0.0.0-20160314031811-03efcb870d84/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -198,6 +221,7 @@ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
@@ -109,6 +132,7 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -261,8 +285,9 @@ golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fq
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -272,6 +297,7 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -150,6 +174,7 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
@@ -386,8 +412,9 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
@@ -190,8 +215,9 @@ google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
--
2.35.1

View File

@ -1,7 +1,7 @@
From 86b42fab8a1bf218babc26176d50c54fb068bd10 Mon Sep 17 00:00:00 2001
From 54fa31c31ed431678adc89b6dfa450022d2f96fa Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Mon, 26 Sep 2022 12:12:04 +0200
Subject: [PATCH 05/16] config: add ignition translation
Subject: [PATCH 05/18] config: add ignition translation
it's a merge from flatcar/ign-converter

View File

@ -1,24 +1,24 @@
From ab4a9ade5b2e43a4d164392becf8d421256d8ffa Mon Sep 17 00:00:00 2001
From b33b28b0c5373c40b3cd9480be5519fe579612cf Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Wed, 25 May 2022 10:20:09 +0200
Subject: [PATCH 06/16] config/v3_4: convert ignition 2.x to 3.4-exp
Subject: [PATCH 06/18] config/v3_5: convert ignition 2.x to 3.x
if the version of ignition is 2.x we convert it to 3.4-exp using
if the version of ignition is 2.x we convert it to 3.x using
ign-converter.
it should support any 2.x version (or at the least the last 2 releases)
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
---
config/v3_4_experimental/config.go | 37 ++++++++++++++++++++++++++++++
config/v3_5_experimental/config.go | 37 ++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/config/v3_4_experimental/config.go b/config/v3_4_experimental/config.go
index 097dbd83..e666c876 100644
--- a/config/v3_4_experimental/config.go
+++ b/config/v3_4_experimental/config.go
diff --git a/config/v3_5_experimental/config.go b/config/v3_5_experimental/config.go
index f0d4bb84..dccc5c4c 100644
--- a/config/v3_5_experimental/config.go
+++ b/config/v3_5_experimental/config.go
@@ -15,9 +15,14 @@
package v3_4_experimental
package v3_5_experimental
import (
+ "encoding/json"
@ -29,9 +29,9 @@ index 097dbd83..e666c876 100644
"github.com/flatcar/ignition/v2/config/shared/errors"
"github.com/flatcar/ignition/v2/config/util"
+ "github.com/flatcar/ignition/v2/config/v24tov31"
prev "github.com/flatcar/ignition/v2/config/v3_3"
"github.com/flatcar/ignition/v2/config/v3_4_experimental/translate"
"github.com/flatcar/ignition/v2/config/v3_4_experimental/types"
prev "github.com/flatcar/ignition/v2/config/v3_4"
"github.com/flatcar/ignition/v2/config/v3_5_experimental/translate"
"github.com/flatcar/ignition/v2/config/v3_5_experimental/types"
@@ -67,6 +72,38 @@ func ParseCompatibleVersion(raw []byte) (types.Config, report.Report, error) {
return types.Config{}, rpt, err
}

View File

@ -1,7 +1,7 @@
From c4a13286d36151f7b1b612cca5ceb5e2fdc1306b Mon Sep 17 00:00:00 2001
From b2f30b420740fc48611fe28d39c1e87a7efe9dc9 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mathieu@kinvolk.io>
Date: Fri, 30 Jul 2021 14:21:31 +0200
Subject: [PATCH 07/16] internal/prv/cmdline: backport flatcar patch
Subject: [PATCH 07/18] internal/prv/cmdline: backport flatcar patch
this patch provides backward compatibility for various config
key
@ -12,7 +12,7 @@ Signed-off-by: Mathieu Tortuyaux <mathieu@kinvolk.io>
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/internal/providers/cmdline/cmdline.go b/internal/providers/cmdline/cmdline.go
index c8006f02..a2d00627 100644
index f09e6fcb..b6de99d5 100644
--- a/internal/providers/cmdline/cmdline.go
+++ b/internal/providers/cmdline/cmdline.go
@@ -33,7 +33,9 @@ import (

View File

@ -1,28 +1,28 @@
From 8eb60d346a2b792b6fb53fc7066ef4ba789974f9 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mathieu@kinvolk.io>
Date: Fri, 13 Aug 2021 11:47:01 +0200
Subject: [PATCH 08/16] provider/qemu: apply fw_cfg patch
From 3f6a1a26812dc29fbb97ced24959a991bcc85a83 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Fri, 24 Feb 2023 09:40:01 +0100
Subject: [PATCH 08/18] provider/qemu: apply fw_cfg patch
we support both CoreOS and Flatcar fw_cfg path to ensure compatiblity
Signed-off-by: Mathieu Tortuyaux <mathieu@kinvolk.io>
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
---
internal/providers/qemu/qemu_fwcfg.go | 123 ++++++++++++++------------
1 file changed, 68 insertions(+), 55 deletions(-)
internal/providers/qemu/qemu_fwcfg.go | 118 ++++++++++++++------------
1 file changed, 63 insertions(+), 55 deletions(-)
diff --git a/internal/providers/qemu/qemu_fwcfg.go b/internal/providers/qemu/qemu_fwcfg.go
index 46ab7ae0..2de49881 100644
index f8bf820e..89515187 100644
--- a/internal/providers/qemu/qemu_fwcfg.go
+++ b/internal/providers/qemu/qemu_fwcfg.go
@@ -30,6 +30,7 @@ import (
@@ -29,6 +29,7 @@ import (
"strings"
"time"
+ iErrors "github.com/flatcar/ignition/v2/config/shared/errors"
"github.com/flatcar/ignition/v2/config/v3_4_experimental/types"
"github.com/flatcar/ignition/v2/config/v3_5_experimental/types"
"github.com/flatcar/ignition/v2/internal/providers/util"
"github.com/flatcar/ignition/v2/internal/resource"
@@ -37,9 +38,11 @@ import (
@@ -36,9 +37,11 @@ import (
"github.com/coreos/vcontext/report"
)
@ -37,12 +37,12 @@ index 46ab7ae0..2de49881 100644
)
func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
@@ -49,63 +52,73 @@ func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
@@ -48,63 +51,68 @@ func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
return types.Config{}, report.Report{}, err
}
- // get size of firmware blob, if it exists
- sizeBytes, err := ioutil.ReadFile(firmwareConfigSizePath)
- sizeBytes, err := os.ReadFile(firmwareConfigSizePath)
- if os.IsNotExist(err) {
- f.Logger.Info("QEMU firmware config was not found. Ignoring...")
- return util.ParseConfig(f.Logger, []byte{})
@ -56,16 +56,10 @@ index 46ab7ae0..2de49881 100644
- return types.Config{}, report.Report{}, err
- }
+ for cfg, size := range firmwareConfigPaths {
+ // get size of firmware blob, if it exists
+ sizeBytes, err := ioutil.ReadFile(size)
+ if os.IsNotExist(err) {
+ f.Logger.Info("QEMU firmware config was not found. Ignoring...")
+ continue
+ }
- // Read firmware blob. We need to make as few, large read() calls as
- // possible, since the qemu_fw_cfg kernel module takes O(offset)
- // time for each read syscall. ioutil.ReadFile() would eventually
- // time for each read syscall. os.ReadFile() would eventually
- // converge on the correct read size (one page) but we can do
- // better, and without reallocating.
- // Leave an extra guard byte to check for EOF
@ -82,38 +76,38 @@ index 46ab7ae0..2de49881 100644
- // if size is correct, we will never call this at an offset
- // where it would return io.EOF
- n, err := fh.Read(data[len(data):cap(data)])
+ // get size of firmware blob, if it exists
+ sizeBytes, err := os.ReadFile(size)
+ if os.IsNotExist(err) {
+ f.Logger.Info("QEMU firmware config was not found. Ignoring...")
+ continue
+ } else if err != nil {
+ f.Logger.Err("couldn't read QEMU firmware config size: %v", err)
+ return types.Config{}, report.Report{}, err
+ }
+ size, err := strconv.Atoi(strings.TrimSpace(string(sizeBytes)))
+ if err != nil {
+ f.Logger.Err("couldn't parse QEMU firmware config size: %v", err)
+ return types.Config{}, report.Report{}, err
+ }
+
+ // Read firmware blob. We need to make as few, large read() calls as
+ // possible, since the qemu_fw_cfg kernel module takes O(offset)
+ // time for each read syscall. os.ReadFile() would eventually
+ // converge on the correct read size (one page) but we can do
+ // better, and without reallocating.
+ // Leave an extra guard byte to check for EOF
+ data := make([]byte, 0, size+1)
+ fh, err := os.Open(cfg)
if err != nil {
- f.Logger.Err("couldn't read QEMU firmware config: %v", err)
+ f.Logger.Err("couldn't read QEMU firmware config size: %v", err)
+ f.Logger.Err("couldn't open QEMU firmware config: %v", err)
return types.Config{}, report.Report{}, err
}
- data = data[:len(data)+n]
- if !reporting && time.Since(lastReport).Seconds() >= 10 {
- f.Logger.Warning("Reading QEMU fw_cfg takes quadratic time. Consider moving large files or config fragments to a remote URL.")
- reporting = true
+
+ size, err := strconv.Atoi(strings.TrimSpace(string(sizeBytes)))
+ if err != nil {
+ f.Logger.Err("couldn't parse QEMU firmware config size: %v", err)
+ return types.Config{}, report.Report{}, err
}
- if reporting && (time.Since(lastReport).Seconds() >= 5 || len(data) >= size) {
- f.Logger.Info("Reading config from QEMU fw_cfg: %d/%d KB", len(data)/1024, size/1024)
- lastReport = time.Now()
+
+ // Read firmware blob. We need to make as few, large read() calls as
+ // possible, since the qemu_fw_cfg kernel module takes O(offset)
+ // time for each read syscall. ioutil.ReadFile() would eventually
+ // converge on the correct read size (one page) but we can do
+ // better, and without reallocating.
+ // Leave an extra guard byte to check for EOF
+ data := make([]byte, 0, size+1)
+ fh, err := os.Open(cfg)
+ if err != nil {
+ f.Logger.Err("couldn't open QEMU firmware config: %v", err)
+ return types.Config{}, report.Report{}, err
}
+
+ defer fh.Close()
+ lastReport := time.Now()
+ reporting := false
@ -125,29 +119,31 @@ index 46ab7ae0..2de49881 100644
+ f.Logger.Err("couldn't read QEMU firmware config: %v", err)
+ return types.Config{}, report.Report{}, err
+ }
+
+ data = data[:len(data)+n]
+ if !reporting && time.Since(lastReport).Seconds() >= 10 {
+ f.Logger.Warning("Reading QEMU fw_cfg takes quadratic time. Consider moving large files or config fragments to a remote URL.")
+ reporting = true
+ }
+
+ if reporting && (time.Since(lastReport).Seconds() >= 5 || len(data) >= size) {
+ f.Logger.Info("Reading config from QEMU fw_cfg: %d/%d KB", len(data)/1024, size/1024)
+ lastReport = time.Now()
+ }
+ }
}
- if reporting && (time.Since(lastReport).Seconds() >= 5 || len(data) >= size) {
- f.Logger.Info("Reading config from QEMU fw_cfg: %d/%d KB", len(data)/1024, size/1024)
- lastReport = time.Now()
+ if len(data) > size {
+ // overflowed into guard byte
+ f.Logger.Err("missing EOF reading QEMU firmware config")
+ return types.Config{}, report.Report{}, errors.New("missing EOF")
+ }
}
+ // If size is not at a page boundary, we know we're at EOF because
+ // the guard byte was not filled. If size is at a page boundary,
+ // trust that firmwareConfigSizePath was telling the truth to avoid
+ // incurring an extra read call to check for EOF. We're at the end
+ // of the file so the extra read would be maximally expensive.
+ return util.ParseConfig(f.Logger, data)
+
}
- if len(data) > size {
- // overflowed into guard byte
@ -160,7 +156,6 @@ index 46ab7ae0..2de49881 100644
- // incurring an extra read call to check for EOF. We're at the end
- // of the file so the extra read would be maximally expensive.
- return util.ParseConfig(f.Logger, data)
+
+ return types.Config{}, report.Report{}, iErrors.ErrEmpty
}
--

View File

@ -1,18 +1,18 @@
From 31c8a45bd9468de7e348f28301d979614ae25c83 Mon Sep 17 00:00:00 2001
From 240e3e2b8ba5a19cdef6f6cd9856435337283510 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mathieu@kinvolk.io>
Date: Thu, 2 Sep 2021 11:03:17 +0200
Subject: [PATCH 09/16] config/3_4/test: add ignition 2.x test cases
Subject: [PATCH 09/18] config/3_5/test: add ignition 2.x test cases
Signed-off-by: Mathieu Tortuyaux <mathieu@kinvolk.io>
---
config/v3_4_experimental/config_test.go | 20 ++++++++++++++++++++
config/v3_5_experimental/config_test.go | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/config/v3_4_experimental/config_test.go b/config/v3_4_experimental/config_test.go
index e334ca85..eaa817be 100644
--- a/config/v3_4_experimental/config_test.go
+++ b/config/v3_4_experimental/config_test.go
@@ -149,6 +149,26 @@ func TestParse(t *testing.T) {
diff --git a/config/v3_5_experimental/config_test.go b/config/v3_5_experimental/config_test.go
index 7e10866e..58423719 100644
--- a/config/v3_5_experimental/config_test.go
+++ b/config/v3_5_experimental/config_test.go
@@ -157,6 +157,26 @@ func TestParse(t *testing.T) {
in in
out out
}{

View File

@ -1,7 +1,7 @@
From 455292b4dc604c8a4195abf8be5386ff2600ad57 Mon Sep 17 00:00:00 2001
From 14818bec1b1abf628cfbc5885063561019679044 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Wed, 22 Sep 2021 14:53:49 +0200
Subject: [PATCH 10/16] internal/disk/fs: ignore fs format mismatches for the
Subject: [PATCH 10/18] internal/disk/fs: ignore fs format mismatches for the
OEM partition
As soon as the OEM partition's filesystem format changes, all users
@ -22,7 +22,7 @@ Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/internal/exec/stages/disks/filesystems.go b/internal/exec/stages/disks/filesystems.go
index b7f3795a..4de09498 100644
index 18103f38..72baf50d 100644
--- a/internal/exec/stages/disks/filesystems.go
+++ b/internal/exec/stages/disks/filesystems.go
@@ -126,7 +126,7 @@ func (s stage) createFilesystem(fs types.Filesystem) error {

View File

@ -1,7 +1,7 @@
From 7b83d08d8d38f5596f1f7b97b6bfa749631d45e0 Mon Sep 17 00:00:00 2001
From ee9b77b552d65f8620abee384beb60dd3ffeb93d Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Wed, 25 May 2022 10:34:32 +0200
Subject: [PATCH 11/16] VMware: Fix guestinfo.*.config.data and *.config.url
Subject: [PATCH 11/18] VMware: Fix guestinfo.*.config.data and *.config.url
variables
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -25,7 +25,7 @@ Co-authored-by: Kai Lüke <kailuke@microsoft.com>
1 file changed, 74 insertions(+), 22 deletions(-)
diff --git a/internal/providers/vmware/vmware_amd64.go b/internal/providers/vmware/vmware_amd64.go
index 0c2f0d97..3c3d1634 100644
index b41b54bc..5a660b6c 100644
--- a/internal/providers/vmware/vmware_amd64.go
+++ b/internal/providers/vmware/vmware_amd64.go
@@ -19,6 +19,7 @@ package vmware
@ -34,7 +34,7 @@ index 0c2f0d97..3c3d1634 100644
"fmt"
+ "net/url"
"github.com/flatcar/ignition/v2/config/v3_4_experimental/types"
"github.com/flatcar/ignition/v2/config/v3_5_experimental/types"
"github.com/flatcar/ignition/v2/internal/providers"
@@ -50,26 +51,85 @@ func FetchConfig(f *resource.Fetcher) (types.Config, report.Report, error) {
return types.Config{}, report.Report{}, providers.ErrNoProvider

View File

@ -1,7 +1,7 @@
From 0e139432041a218d7c24cfe9a8844a0bbcb9f3f8 Mon Sep 17 00:00:00 2001
From e5331453b47bd657e6a727f23548283756c326d5 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Wed, 2 Feb 2022 13:27:18 +0100
Subject: [PATCH 12/16] config/version: handle configuration version 1
Subject: [PATCH 12/18] config/version: handle configuration version 1
version 2 should be able to translate configuration version 1 but the `GetConfigVersion`
was not able to detect version 1 configuration since for this particular
@ -13,10 +13,10 @@ Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/config/util/config.go b/config/util/config.go
index 4cdd83b7..f701f4a1 100644
index 3b9bb22f..f81056fa 100644
--- a/config/util/config.go
+++ b/config/util/config.go
@@ -14,6 +14,8 @@
@@ -15,6 +15,8 @@
package util
import (
@ -25,7 +25,7 @@ index 4cdd83b7..f701f4a1 100644
"github.com/flatcar/ignition/v2/config/shared/errors"
"github.com/coreos/go-semver/semver"
@@ -24,6 +26,7 @@ type versionStub struct {
@@ -25,6 +27,7 @@ type versionStub struct {
Ignition struct {
Version string
}
@ -33,7 +33,7 @@ index 4cdd83b7..f701f4a1 100644
}
// GetConfigVersion parses the version from the given raw config
@@ -37,7 +40,13 @@ func GetConfigVersion(raw []byte) (semver.Version, report.Report, error) {
@@ -38,7 +41,13 @@ func GetConfigVersion(raw []byte) (semver.Version, report.Report, error) {
return semver.Version{}, rpt, err
}

View File

@ -1,7 +1,7 @@
From 7fd14391857664ac4415f18b0189f17b9732a852 Mon Sep 17 00:00:00 2001
From 105a9165b37c962153a4b671bea8025122e81a72 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Tue, 22 Feb 2022 15:41:13 +0100
Subject: [PATCH 13/16] config/util: add cloud init detection to initial
Subject: [PATCH 13/18] config/util: add cloud init detection to initial
parsing
we detect if the config is not an ignition one (script/cloudinit) and we

View File

@ -1,24 +1,24 @@
From ed6ea4bd260ff916a55731172b3299067989aa9a Mon Sep 17 00:00:00 2001
From ccaf67b639741cd3716c556aad70e5bf32272979 Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Wed, 25 May 2022 10:38:16 +0200
Subject: [PATCH 14/16] Revert "*: drop OEM URI support"
Subject: [PATCH 14/18] Revert "*: drop OEM URI support"
This reverts commit 0c088d6de77aa1b1f47b9252a07f51cb1e249df3.
---
config/v3_0/types/url.go | 2 +-
config/v3_1/types/url.go | 2 +-
config/v3_2/types/url.go | 2 +-
config/v3_3/types/url.go | 2 +-
config/v3_4_experimental/types/url.go | 2 +-
docs/supported-platforms.md | 1 +
internal/distro/distro.go | 11 +++-
internal/resource/url.go | 91 +++++++++++++++++++++++++++
tests/blackbox_test.go | 14 ++++-
tests/negative/files/missing_file.go | 27 ++++++++
tests/negative/general/config.go | 52 +++++++++++++++
tests/positive/files/remote.go | 44 +++++++++++++
tests/types/types.go | 1 +
13 files changed, 242 insertions(+), 9 deletions(-)
config/v3_0/types/url.go | 2 +-
config/v3_1/types/url.go | 2 +-
config/v3_2/types/url.go | 2 +-
config/v3_3/types/url.go | 2 +-
config/v3_4/types/url.go | 2 +-
docs/supported-platforms.md | 1 +
internal/distro/distro.go | 11 +++-
internal/resource/url.go | 92 ++++++++++++++++++++++++++++
tests/blackbox_test.go | 14 ++++-
tests/negative/files/missing_file.go | 27 ++++++++
tests/negative/general/config.go | 52 ++++++++++++++++
tests/positive/files/remote.go | 44 +++++++++++++
tests/types/types.go | 1 +
13 files changed, 243 insertions(+), 9 deletions(-)
diff --git a/config/v3_0/types/url.go b/config/v3_0/types/url.go
index 2d8c44b1..f560bc22 100644
@ -72,10 +72,10 @@ index bf1f3a5e..63297beb 100644
return nil
case "s3":
if v, ok := u.Query()["versionId"]; ok {
diff --git a/config/v3_4_experimental/types/url.go b/config/v3_4_experimental/types/url.go
diff --git a/config/v3_4/types/url.go b/config/v3_4/types/url.go
index 9b2b4405..5258c3c6 100644
--- a/config/v3_4_experimental/types/url.go
+++ b/config/v3_4_experimental/types/url.go
--- a/config/v3_4/types/url.go
+++ b/config/v3_4/types/url.go
@@ -32,7 +32,7 @@ func validateURL(s string) error {
}
@ -137,10 +137,14 @@ index 703385ea..644c42c4 100644
func GroupaddCmd() string { return groupaddCmd }
func GroupdelCmd() string { return groupdelCmd }
diff --git a/internal/resource/url.go b/internal/resource/url.go
index ca9c8668..f7fa5edc 100644
index 44253568..3f5fb4ab 100644
--- a/internal/resource/url.go
+++ b/internal/resource/url.go
@@ -27,13 +27,17 @@ import (
@@ -23,16 +23,21 @@ import (
"fmt"
"hash"
"io"
+ "io/ioutil"
"net/http"
"net/url"
"os"
@ -158,7 +162,7 @@ index ca9c8668..f7fa5edc 100644
"github.com/flatcar/ignition/v2/internal/util"
"golang.org/x/oauth2/google"
"google.golang.org/api/option"
@@ -145,6 +149,8 @@ func (f *Fetcher) FetchToBuffer(u url.URL, opts FetchOptions) ([]byte, error) {
@@ -144,6 +149,8 @@ func (f *Fetcher) FetchToBuffer(u url.URL, opts FetchOptions) ([]byte, error) {
err = f.fetchFromTFTP(u, dest, opts)
case "data":
err = f.fetchFromDataURL(u, dest, opts)
@ -167,7 +171,7 @@ index ca9c8668..f7fa5edc 100644
case "s3", "arn":
buf := &s3buf{
WriteAtBuffer: aws.NewWriteAtBuffer([]byte{}),
@@ -206,6 +212,8 @@ func (f *Fetcher) Fetch(u url.URL, dest *os.File, opts FetchOptions) error {
@@ -205,6 +212,8 @@ func (f *Fetcher) Fetch(u url.URL, dest *os.File, opts FetchOptions) error {
return f.fetchFromTFTP(u, dest, opts)
case "data":
return f.fetchFromDataURL(u, dest, opts)
@ -176,7 +180,7 @@ index ca9c8668..f7fa5edc 100644
case "s3", "arn":
return f.fetchFromS3(u, dest, opts)
case "gs":
@@ -396,6 +404,53 @@ type s3target interface {
@@ -391,6 +400,53 @@ type s3target interface {
io.ReadSeeker
}
@ -230,7 +234,7 @@ index ca9c8668..f7fa5edc 100644
// FetchFromS3 gets data from an S3 bucket as described by u and writes it into
// dest, returning an error if one is encountered. It will attempt to acquire
// IAM credentials from the EC2 metadata service, and if this fails will attempt
@@ -623,3 +678,39 @@ func (f *Fetcher) parseARN(arnURL string) (string, string, string, string, error
@@ -618,3 +674,39 @@ func (f *Fetcher) parseARN(arnURL string) (string, string, string, string, error
key := strings.Join(urlSplit[1:], "/")
return bucket, key, "", regionHint, nil
}
@ -239,7 +243,7 @@ index ca9c8668..f7fa5edc 100644
+// oemMountPath. oemMountPath will be created if it does not exist.
+func (f *Fetcher) mountOEM(oemMountPath string) error {
+ dev := []string{distro.OEMDevicePath()}
+ if err := systemd.WaitOnDevices(dev, "oem-cmdline"); err != nil {
+ if err := systemd.WaitOnDevices(context.Background(), dev, "oem-cmdline"); err != nil {
+ f.Logger.Err("failed to wait for oem device: %v", err)
+ return err
+ }
@ -271,10 +275,10 @@ index ca9c8668..f7fa5edc 100644
+ )
+}
diff --git a/tests/blackbox_test.go b/tests/blackbox_test.go
index a5ebb450..84f969bb 100644
index 7914738b..2fb15345 100644
--- a/tests/blackbox_test.go
+++ b/tests/blackbox_test.go
@@ -140,13 +140,19 @@ func outer(t *testing.T, test types.Test, negativeTests bool) error {
@@ -139,13 +139,19 @@ func outer(t *testing.T, test types.Test, negativeTests bool) error {
return fmt.Errorf("failed to change mode of temp dir: %v", err)
}
@ -295,7 +299,7 @@ index a5ebb450..84f969bb 100644
defer os.RemoveAll(systemConfigDir)
if err != nil {
return err
@@ -276,7 +282,11 @@ func outer(t *testing.T, test types.Test, negativeTests bool) error {
@@ -275,7 +281,11 @@ func outer(t *testing.T, test types.Test, negativeTests bool) error {
// Ignition
appendEnv := test.Env
@ -351,7 +355,7 @@ index 251f5593..4f6a9801 100644
+ }
+}
diff --git a/tests/negative/general/config.go b/tests/negative/general/config.go
index ed960f97..d950bd3a 100644
index 6fcabe80..6d3cf848 100644
--- a/tests/negative/general/config.go
+++ b/tests/negative/general/config.go
@@ -29,12 +29,14 @@ func init() {

View File

@ -1,7 +1,7 @@
From bbaf408f59b4dfebedc43236705f717e1dcea371 Mon Sep 17 00:00:00 2001
From c3308bc57e06947c02100e7befe61bfbdb10052b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kai=20L=C3=BCke?= <kailuke@microsoft.com>
Date: Wed, 7 Jul 2021 18:40:52 +0200
Subject: [PATCH 15/16] internal/resource/url: support btrfs as OEM partition
Subject: [PATCH 15/18] internal/resource/url: support btrfs as OEM partition
filesystem
When btrfs is used to fit more content into the partition, mounting
@ -12,10 +12,10 @@ When mounting ext4 fails, try mounting as btrfs.
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/internal/resource/url.go b/internal/resource/url.go
index f7fa5edc..15e13778 100644
index 3f5fb4ab..3fbda7a7 100644
--- a/internal/resource/url.go
+++ b/internal/resource/url.go
@@ -699,8 +699,17 @@ func (f *Fetcher) mountOEM(oemMountPath string) error {
@@ -695,8 +695,17 @@ func (f *Fetcher) mountOEM(oemMountPath string) error {
},
"mounting %q at %q", distro.OEMDevicePath(), oemMountPath,
); err != nil {

View File

@ -1,7 +1,7 @@
From a0bf53e18fc9de8f6bce2f37faf9e5810a7faa18 Mon Sep 17 00:00:00 2001
From e7cfcc2d44f83d2bc7a481c62a09b7d8c7aee2f4 Mon Sep 17 00:00:00 2001
From: Kai Lueke <kailuke@microsoft.com>
Date: Fri, 11 Feb 2022 15:41:12 +0100
Subject: [PATCH 16/16] internal/exec/stages/disks: prevent races with udev
Subject: [PATCH 16/18] internal/exec/stages/disks: prevent races with udev
The "udevadm settle" command used to wait for udev to process the disk
changes and recreate the entries under /dev was still prone to races
@ -29,18 +29,18 @@ be done for LUKS.
4 files changed, 78 insertions(+), 29 deletions(-)
diff --git a/internal/exec/stages/disks/disks.go b/internal/exec/stages/disks/disks.go
index 4bb3e459..23bb7866 100644
index fcc60b88..7baca8fc 100644
--- a/internal/exec/stages/disks/disks.go
+++ b/internal/exec/stages/disks/disks.go
@@ -22,6 +22,7 @@ import (
@@ -23,6 +23,7 @@ import (
"errors"
"fmt"
"os/exec"
+ "path/filepath"
"github.com/flatcar/ignition/v2/config/v3_4_experimental/types"
"github.com/flatcar/ignition/v2/config/v3_5_experimental/types"
"github.com/flatcar/ignition/v2/internal/distro"
@@ -105,35 +106,39 @@ func (s stage) Run(config types.Config) error {
@@ -106,35 +107,39 @@ func (s stage) Run(config types.Config) error {
return fmt.Errorf("failed to create filesystems: %v", err)
}
@ -110,7 +110,7 @@ index 4bb3e459..23bb7866 100644
return nil
diff --git a/internal/exec/stages/disks/filesystems.go b/internal/exec/stages/disks/filesystems.go
index 4de09498..ed7430fa 100644
index 72baf50d..67fec316 100644
--- a/internal/exec/stages/disks/filesystems.go
+++ b/internal/exec/stages/disks/filesystems.go
@@ -210,6 +210,29 @@ func (s stage) createFilesystem(fs types.Filesystem) error {
@ -144,7 +144,7 @@ index 4de09498..ed7430fa 100644
}
diff --git a/internal/exec/stages/disks/partitions.go b/internal/exec/stages/disks/partitions.go
index fee39c0a..feb006bd 100644
index 5578ffd7..747f08dc 100644
--- a/internal/exec/stages/disks/partitions.go
+++ b/internal/exec/stages/disks/partitions.go
@@ -394,5 +394,14 @@ func (s stage) partitionDisk(dev types.Disk, devAlias string) error {
@ -163,7 +163,7 @@ index fee39c0a..feb006bd 100644
return nil
}
diff --git a/internal/exec/stages/disks/raid.go b/internal/exec/stages/disks/raid.go
index 2781131b..2da3f5ec 100644
index 41f98a41..d22f604c 100644
--- a/internal/exec/stages/disks/raid.go
+++ b/internal/exec/stages/disks/raid.go
@@ -22,6 +22,7 @@ package disks
@ -172,7 +172,7 @@ index 2781131b..2da3f5ec 100644
"os/exec"
+ "strings"
"github.com/flatcar/ignition/v2/config/v3_4_experimental/types"
"github.com/flatcar/ignition/v2/config/v3_5_experimental/types"
"github.com/flatcar/ignition/v2/internal/distro"
@@ -78,6 +79,17 @@ func (s stage) createRaids(config types.Config) error {
); err != nil {

View File

@ -1,7 +1,7 @@
From c2f82824e643a06b0663ab410ad28ecdd5c3d3be Mon Sep 17 00:00:00 2001
From ed28e76ecd79396687137adaeee93c2381b1e95a Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Thu, 10 Nov 2022 11:58:49 +0100
Subject: [PATCH] translation: support OEM and oem
Subject: [PATCH 17/18] translation: support OEM and oem
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
---

View File

@ -1,7 +1,7 @@
From 1f7edd0e4d53f1bf6c07339293330b850bdeadf4 Mon Sep 17 00:00:00 2001
From 1e5bc7ec945f2dd905235b1019c426a0cfa94e6b Mon Sep 17 00:00:00 2001
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Date: Wed, 21 Dec 2022 17:25:02 +0100
Subject: [PATCH] revert: internal/oem: drop noop OEMs
Subject: [PATCH 18/18] revert: internal/oem: drop noop OEMs
This reverts: https://github.com/coreos/ignition/commit/26828f92e00060aa8ebf2197545ad602af237132

View File

@ -12,7 +12,7 @@ inherit coreos-go cros-workon systemd udev
if [[ "${PV}" == 9999 ]]; then
KEYWORDS="~amd64 ~arm64"
else
CROS_WORKON_COMMIT="fef845a7d5ba463b4a93a5ed03a76721164c4a84" # v2.14.0
CROS_WORKON_COMMIT="13f05b3c9f6221fb68234387ff2e4c2d63a39b63" # v2.15.0
KEYWORDS="amd64 arm64"
fi
@ -47,10 +47,10 @@ PATCHES=(
"${FILESDIR}/0003-sum-go-mod-tidy.patch"
"${FILESDIR}/0004-vendor-go-mod-vendor.patch"
"${FILESDIR}/0005-config-add-ignition-translation.patch"
"${FILESDIR}/0006-config-v3_4-convert-ignition-2.x-to-3.4-exp.patch"
"${FILESDIR}/0006-config-v3_5-convert-ignition-2.x-to-3.x.patch"
"${FILESDIR}/0007-internal-prv-cmdline-backport-flatcar-patch.patch"
"${FILESDIR}/0008-provider-qemu-apply-fw_cfg-patch.patch"
"${FILESDIR}/0009-config-3_4-test-add-ignition-2.x-test-cases.patch"
"${FILESDIR}/0009-config-3_5-test-add-ignition-2.x-test-cases.patch"
"${FILESDIR}/0010-internal-disk-fs-ignore-fs-format-mismatches-for-the.patch"
"${FILESDIR}/0011-VMware-Fix-guestinfo.-.config.data-and-.config.url-v.patch"
"${FILESDIR}/0012-config-version-handle-configuration-version-1.patch"