Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions cmd/gen-manifests/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ func makeManifestJob(
path string,
content map[string]bool,
metadata bool,
tmpdirRoot string,
) manifestJob {
name := bc.Name
distroName := distribution.Name()
Expand All @@ -232,12 +233,8 @@ func makeManifestJob(
}
if experimentalflags.Bool("gen-manifest-mock-bpfile-uris") && bp.Customizations != nil {
for i, fc := range bp.Customizations.Files {
// in mock mode, replace all file customizations
// urls with local ones that we auto-generate
// with predictable content (from the URL) and
// a predictable location (under cacheRoot)
if fc.URI != "" {
newBpFileUrl := filepath.Join(cacheRoot, "fake-bp-files-with-urls", fmt.Sprintf("%x", sha256.Sum256([]byte(fc.URI))))
newBpFileUrl := filepath.Join(tmpdirRoot, "fake-bp-files-with-urls", fmt.Sprintf("%x", sha256.Sum256([]byte(fc.URI))))
if err := os.MkdirAll(filepath.Dir(newBpFileUrl), 0755); err != nil {
panic(err)
}
Expand Down Expand Up @@ -591,6 +588,13 @@ func main() {
panic(fmt.Sprintf("failed to create target directory: %s", err.Error()))
}

// temporary directory for mocking file embeds with URIs (and anything else
// we might need to write temporarily)
// We can't use os.MkdirTemp to get an uniquw tmp dir here because the path
// of the CURL source in the manifest would change every time we run this tool.
tmpdirRoot := filepath.Join(os.TempDir(), "gen-manifests-tmpdir")
defer os.RemoveAll(tmpdirRoot)

fmt.Println("Collecting jobs")

distros, invalidDistros := distros.ResolveArgValues(testedRepoRegistry.ListDistros())
Expand Down Expand Up @@ -655,7 +659,7 @@ func main() {
continue
}

job := makeManifestJob(itConfig, imgType, distribution, repos, archName, cacheRoot, outputDir, contentResolve, metadata)
job := makeManifestJob(itConfig, imgType, distribution, repos, archName, cacheRoot, outputDir, contentResolve, metadata, tmpdirRoot)
jobs = append(jobs, job)
}
}
Expand Down
13 changes: 13 additions & 0 deletions test/config-map.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,19 @@
"server-qcow2"
]
},
"./configs/file-customizations.json": {
"distros": [
"rhel-8.10",
"rhel-9.6",
"rhel-10.0",
"centos*",
"fedora*"
],
"image-types": [
"ami",
"server-ami"
]
},
"./configs/disable-lm_sensors.json": {
"distros": [
"rhel-8.4"
Expand Down
4 changes: 0 additions & 4 deletions test/configs/all-customizations.json
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,6 @@
"path": "/etc/empty_file.txt",
"user": 0,
"group": 0
},
{
"path": "/etc/os-release_from_host.txt",
"uri": "file:///etc/os-release"
}
],
"repositories": [
Expand Down
4 changes: 4 additions & 0 deletions test/configs/file-customizations.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@
"path": "/etc/empty_file.txt",
"user": 0,
"group": 0
},
{
"path": "/etc/os-release_from_host.txt",
"uri": "file:///etc/os-release"
}
],
"services": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6185cbbe8a946409d3775b9a6064170ae6c06c2d
993be534314a4e4f3c99c5a7e2d5de88000bded1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
85203a18053ed462c6b4b13dc29191a903a00595
Original file line number Diff line number Diff line change
@@ -1 +1 @@
21dea419d0dcacec06e37143975dd636d56d79e9
74b4b3e5bfd6354f8cedd70f181868fc09620108
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
f742c3920cb798b57ef9e32ad4981cab2da5813d
Original file line number Diff line number Diff line change
@@ -1 +1 @@
09dfcd1f490199c7c90bc329542cb7c43b6be54c
db9a78cce44b635a36cf5424f436a0934c6bdbbd
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e9197fb68e8835da75fbe88af89eb5339f32ea4f
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ae2c0d6f0e6823fc6463c60a51392c20202bf422
4b23ab9b1863d71e8135d39e8cf8721d8359e5ec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ddbd9e015e7b3b8772a61ec6191f3aac4522978c
Original file line number Diff line number Diff line change
@@ -1 +1 @@
db4cfdf41db012200b46962b670f91576ce549e0
62832f2923b9f5cceb800147dcd168bf311394c9
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
04c68f0ffa636941adbbdab4740f13a03e5ee79c
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8d968d30a52b7d4d9bba6f8ed9b8d6d9a2c5ea78
e58e2cea3a72fe18d1d1b8c23d423e127404fa90
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cb4a6dce4faf9c9aba3474da4f16e4dd5829c119
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2ebfb2c0ca91ed17e79fea3be0f15fe7978caf80
d2c1a52efadbabf1a0963099a758d72cf2fa061f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
746916ba42e18c2e1ac8a5011fed67fa16feb460
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3f0138849b7bb1d6db38fd487213187dd9e8bff6
62de36ef37663beeefd8c264d2fd35314ec5e3a8
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
d36e9f691621a8796f68c65bda796efbf55cab13
Original file line number Diff line number Diff line change
@@ -1 +1 @@
a06dbadb1c1269fc6ef42344545d3b12d3d8a02d
2589c23a9e7310f38a932fb9c066fa1a342b9d12
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5d8190e76e34479fac282432cba4f580e802e9ea
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d26144f088762e6efb73d1de0355c9a638484126
2fe37625d759482faeea52bb8082c8d354d321f3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b29a712cbc2c760a57a19084cb65944cf1261d97
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4715316446d4c8cf86e7950bff4a48a038570e97
eabcbb3672c32d7ede710be181cb756ee0cf4d68
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cc27c54f57570b7b097e89e370b3d4fef5a43707
Original file line number Diff line number Diff line change
@@ -1 +1 @@
024dfadb177cfaf51e1bcc01de5f2a7a369bc6c9
e3cac998dacaa904754bf16dc8cb4a9a455674c3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
579a16d77cd73853a8312f83fe5f5e64b59ad3d3
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2a3e647011dcac928775f8b361bd2424bdf18e95
a98cab5199273179de45d4c4ec8a0083beb5ef8c
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5e5125bb74d25ab8d3f32836924afb0ff3832968
287ca40a6aab95bcf6530e3e30588614a67f10f9
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0567b5b06a6c358a2b14cd9003b2e74588f71982
9e029756cf3c6f485ed368da91a436611260eb84
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cb21fc5a1f1aad42f2499c2ecf0754607c66567f
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b51d5192ea6b3c80dd82ad4f09dc47a95cd4d6a4
4bf1df5bd436602f9bc40d9958bf9afe842c28de
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
55965a413f29ecfbbefa87990bf9ebeb5118dbaa
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f2bd07737862d73c891c873172365d174d02b771
852a2f2684318371abbdcd068ca60d2cf33955ab
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9d662f55c8af0a192fefea6324d0a621ce55fd9e
cbda6efceb69b6a70713f1ac8a1d07a71a5e7c54
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e8900651469231dcf83411dcf5b08673d03b1904
e24af3696c5e0f12f21f60504c3bc131ca51a096
Original file line number Diff line number Diff line change
@@ -1 +1 @@
469a2fbfd4627074054df3ca3594f5d95e1ceed3
6b073d91c71c9228b3ec492e3fdff6bfac09f168
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e919bc1b16a499ca39d5d98995021973da680a2a
a96bb34e7b33e275fa2362c997dcd5db0a09a8f0
Original file line number Diff line number Diff line change
@@ -1 +1 @@
68c5e8ff438a376001d3761ad6a2450f374c288d
ad59956a4c1811afbbc064febb86d2bd44eeae5e
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6831f335dedc939da886c067745cd7ec3f493833
3c2f1368296e3d3809253acb8370fa04cef28114
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1db461b6ed9df3e26d14991e29b3230e9d87f1b7
c6574691b9cd32754293b6507ba390596d84bab7
Original file line number Diff line number Diff line change
@@ -1 +1 @@
574adf6cdc5cb52ff63f1d86538167cedaa7574b
9f058162e99f9d536a68e9b7b82cd726e22b546b
Original file line number Diff line number Diff line change
@@ -1 +1 @@
cd3b71ac9e15429198a99a2e80804c63617d147e
89d84b53591817fd95ee35512d984ebae9aa569f
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2f84c6f30509db37d1cdba9eb9b1f6c3483adc1a
0c51a7cefa7eea2a445d6e8954e8fa358dbac491
Original file line number Diff line number Diff line change
@@ -1 +1 @@
bfe027c041d76fdfc9182df6d871eb7fb93e0ffe
87253e484b0465d200fbd70453e9f55ed7cf246e
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d3c8920e25711597d0607c018abaebe11fbb5517
f778268dae113ac49f82a1c4e83757f36a80853a
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
73112b59cef2d1d0732d8ede1329bd818019b15e
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b4826c49e921f4518100a6a668312e2aa412a9d7
2cac6e50e41754ed06b2c033c8dd598d95e70541
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ca5ecf91ce30d2aac89307be2c17982cc38551fd
Original file line number Diff line number Diff line change
@@ -1 +1 @@
dc2587590fb97303cddbe56f1472b75def51e9b9
aada8d6d328dbc4362479bcca4d5d90c22b4aaf5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b3ed1a9a41d7ff29d78cd3bed221d85f095cd3b4
803e2739c2e520a8f8efa77e1281b1aca25c6229
12 changes: 11 additions & 1 deletion test/scripts/dl-image-build-cache
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ def gen_manifest_data_to_build_cache_info(
return build_cache_infos


# pylint: disable=too-many-statements
def main():
parser = get_argparser()
args = parser.parse_args()
Expand All @@ -127,7 +128,16 @@ def main():

with tempfile.TemporaryDirectory() as tmpdir:
print("📜 Generating current manifests to determine their IDs")
_ = testlib.gen_manifests(tmpdir, arches=args.arch, distros=args.distro, images=args.image_type)
err = testlib.gen_manifests(tmpdir, arches=args.arch, distros=args.distro, images=args.image_type)
# print stderr in case there were errors or warnings about skipped configurations
# but filter out the annoying ones
stderr = err.decode().splitlines()
for line in stderr:
if "No match for group package" in line:
continue
if "Failed to load consumer certs" in line:
continue
print(line)
manifest_gen_data = testlib.read_manifests(tmpdir)

build_cache_infos = gen_manifest_data_to_build_cache_info(manifest_gen_data, args.config, args.skip_image_type)
Expand Down
5 changes: 3 additions & 2 deletions test/scripts/imgtestlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,9 @@ def gen_manifests(outputdir, config_map=None, distros=None, arches=None, images=
cmd.append("--commits")
if skip_no_config:
cmd.append("--skip-noconfig")
print("⌨️" + " ".join(cmd))
_, stderr = runcmd(cmd, extra_env=rng_seed_env())
env = rng_seed_env()
print("⌨️" + " ".join(cmd) + " ENV: " + str(env))
_, stderr = runcmd(cmd, extra_env=env)
return stderr


Expand Down
Loading