From d2b88187eea57e3f66f5e3464180e1ba346eceeb Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Thu, 21 Nov 2024 11:03:17 -0500 Subject: [PATCH 1/2] mantle/platform/aws: handle missing details fields Possibly something changed on the AWS side, but we're seeing what looks like `SnapshotTaskDetail` structs coming back with some of the fields empty. Gracefully handle this case. --- mantle/platform/api/aws/images.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mantle/platform/api/aws/images.go b/mantle/platform/api/aws/images.go index 70779a4830..c27597a6f9 100644 --- a/mantle/platform/api/aws/images.go +++ b/mantle/platform/api/aws/images.go @@ -194,12 +194,21 @@ func (a *API) finishSnapshotTask(snapshotTaskID, imageName string) (*Snapshot, e details := taskRes.ImportSnapshotTasks[0].SnapshotTaskDetail + if details == nil || details.Status == nil { + plog.Debugf("waiting for import task; no details provided") + return false, "", nil + } + // I dream of AWS specifying this as an enum shape, not string switch *details.Status { case "completed": return true, *details.SnapshotId, nil case "pending", "active": - plog.Debugf("waiting for import task: %v (%v): %v", *details.Status, *details.Progress, *details.StatusMessage) + if details.Progress != nil && details.StatusMessage != nil { + plog.Debugf("waiting for import task: %v (%v): %v", *details.Status, *details.Progress, *details.StatusMessage) + } else { + plog.Debugf("waiting for import task: %v", *details.Status) + } return false, "", nil case "cancelled", "cancelling": return false, "", fmt.Errorf("import task cancelled") From d8aaed308b062c1ca55f0a6490c4f8bfd9197735 Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Fri, 24 Mar 2023 09:28:09 -0400 Subject: [PATCH 2/2] .cci.Jenkinsfile: drop Fedora CoreOS testing It doesn't work properly against these rhcos- branches anyway. Let's just limit the testing to building the container and running check and unittest tests. --- .cci.jenkinsfile | 49 +----------------------------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/.cci.jenkinsfile b/.cci.jenkinsfile index 1f0068c141..8a46adeee8 100644 --- a/.cci.jenkinsfile +++ b/.cci.jenkinsfile @@ -11,58 +11,11 @@ def cpuCount = 6 def cpuCount_s = cpuCount.toString() def imageName = buildImage(env: [ENABLE_GO_RACE_DETECTOR: "1", GOMAXPROCS: cpuCount_s], cpu: cpuCount_s) -def memory = (cpuCount * 1536) as Integer -pod(image: imageName + ":latest", kvm: true, cpu: "${cpuCount}", memory: "${memory}Mi") { +pod(image: imageName + ":latest", cpu: "2", memory: "2048Mi") { checkout scm stage("Unit tests") { shwrap("make check") shwrap("make unittest") } - - shwrap("rpm -qa | sort > rpmdb.txt") - archiveArtifacts artifacts: 'rpmdb.txt' - - // Run stage Build FCOS (init, fetch and build) - cosaBuild(skipKola: 1, cosaDir: "/srv", noForce: true) - - // Run stage Kola QEMU (basic-qemu-scenarios, upgrade and self tests) - kola(cosaDir: "/srv", addExtTests: ["${env.WORKSPACE}/ci/run-kola-self-tests"]) - - stage("Build Metal") { - cosaParallelCmds(cosaDir: "/srv", commands: ["metal", "metal4k"]) - } - - stage("Build Live Images") { - // Explicitly test re-importing the ostree repo - shwrap("cd /srv && rm tmp/repo -rf") - utils.cosaCmd(cosaDir: "/srv", args: "buildextend-live --fast") - } - - kolaTestIso(cosaDir: "/srv") - - stage("Build Cloud Images") { - cosaParallelCmds(cosaDir: "/srv", commands: ["Aliyun", "AWS", "Azure", "DigitalOcean", "Exoscale", "GCP", - "IBMCloud", "OpenStack", "VMware", "Vultr"]) - - // quick schema validation - utils.cosaCmd(cosaDir: "/srv", args: "meta --get name") - } - - stage("Compress") { - utils.cosaCmd(cosaDir: "/srv", args: "compress --fast") - } - - stage("Upload Dry Run") { - utils.cosaCmd(cosaDir: "/srv", args: "buildupload --dry-run s3 --acl=public-read my-nonexistent-bucket/my/prefix") - } - - // Random other tests that aren't about building. XXX: These should be part of `make - // check` or something and use dummy cosa builds. - stage("CLI Tests") { - shwrap(""" - cd /srv - ${env.WORKSPACE}/tests/test_pruning.sh - """) - } }