@@ -39,6 +39,8 @@ func TestIgnition(t *testing.T) {
39
39
RunSpecs (t , "Ignition Suite" )
40
40
}
41
41
42
+ var flatcarIgnition = `variant: flatcar`
43
+
42
44
var additionalIgnition = `variant: fcos
43
45
version: 1.4.0
44
46
systemd:
@@ -139,6 +141,29 @@ var _ = Describe("NewJoinWorker", func() {
139
141
Expect (err ).ToNot (HaveOccurred ())
140
142
Expect (scriptContents ).To (ContainSubstring ("/opt/rke2-cis-script.sh" ))
141
143
})
144
+ It ("should render rke2-install without semanage for flatcar" , func () {
145
+ input .AdditionalIgnition = & bootstrapv1.AdditionalUserData {
146
+ Config : flatcarIgnition ,
147
+ Strict : true ,
148
+ }
149
+ ignitionJson , err := NewJoinWorker (input )
150
+ Expect (err ).ToNot (HaveOccurred ())
151
+ Expect (ignitionJson ).ToNot (BeNil ())
152
+
153
+ ign , reports , err := ignition .Parse (ignitionJson )
154
+ Expect (err ).ToNot (HaveOccurred ())
155
+ Expect (reports .IsFatal ()).To (BeFalse ())
156
+
157
+ scriptContentsEnc := strings .Split (* ign .Storage .Files [3 ].Contents .Source , "," )[1 ]
158
+ scriptContentsGzip , err := base64 .StdEncoding .DecodeString (scriptContentsEnc )
159
+ Expect (err ).ToNot (HaveOccurred ())
160
+ reader := bytes .NewReader (scriptContentsGzip )
161
+ gzreader , err := gzip .NewReader (reader )
162
+ Expect (err ).ToNot (HaveOccurred ())
163
+ scriptContents , err := io .ReadAll (gzreader )
164
+ Expect (err ).ToNot (HaveOccurred ())
165
+ Expect (scriptContents ).ToNot (ContainSubstring ("semanage" ))
166
+ })
142
167
143
168
})
144
169
@@ -190,6 +215,29 @@ var _ = Describe("NewJoinControlPlane", func() {
190
215
Expect (err ).To (HaveOccurred ())
191
216
Expect (ignitionJson ).To (BeNil ())
192
217
})
218
+ It ("should render rke2-install without semanage for flatcar" , func () {
219
+ input .AdditionalIgnition = & bootstrapv1.AdditionalUserData {
220
+ Config : flatcarIgnition ,
221
+ Strict : true ,
222
+ }
223
+ ignitionJson , err := NewJoinControlPlane (input )
224
+ Expect (err ).ToNot (HaveOccurred ())
225
+ Expect (ignitionJson ).ToNot (BeNil ())
226
+
227
+ ign , reports , err := ignition .Parse (ignitionJson )
228
+ Expect (err ).ToNot (HaveOccurred ())
229
+ Expect (reports .IsFatal ()).To (BeFalse ())
230
+
231
+ scriptContentsEnc := strings .Split (* ign .Storage .Files [3 ].Contents .Source , "," )[1 ]
232
+ scriptContentsGzip , err := base64 .StdEncoding .DecodeString (scriptContentsEnc )
233
+ Expect (err ).ToNot (HaveOccurred ())
234
+ reader := bytes .NewReader (scriptContentsGzip )
235
+ gzreader , err := gzip .NewReader (reader )
236
+ Expect (err ).ToNot (HaveOccurred ())
237
+ scriptContents , err := io .ReadAll (gzreader )
238
+ Expect (err ).ToNot (HaveOccurred ())
239
+ Expect (scriptContents ).ToNot (ContainSubstring ("semanage" ))
240
+ })
193
241
})
194
242
195
243
var _ = Describe ("NewInitControlPlane" , func () {
0 commit comments