Skip to content

Commit 01038d5

Browse files
committed
Partly revert "proper mockups for s3-related tests + retrying setup"
This partly reverts commit b89339b. Signed-off-by: Tobias Wolf <[email protected]>
1 parent 6ba28d5 commit 01038d5

File tree

3 files changed

+53
-60
lines changed

3 files changed

+53
-60
lines changed

src/gardenlinux/constants.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,3 @@
161161
# https://github.com/gardenlinux/gardenlinux/issues/3044
162162
# Empty string is the 'legacy' variant with traditional root fs and still needed/supported
163163
IMAGE_VARIANTS = ["", "_usi", "_tpm2_trustedboot"]
164-
165-
# configuration for https://github.com/groodt/retrying
166-
RETRYING_MAX_ATTEMPTS = 5
167-
RETRYING_WAIT_EXPONENTIAL_MULTIPLIER = 1000
168-
RETRYING_WAIT_EXPONENTIAL_MAX = 16000

src/gardenlinux/s3/bucket.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import boto3
1515
from retrying import retry
1616

17-
from ..constants import RETRYING_MAX_ATTEMPTS, RETRYING_WAIT_EXPONENTIAL_MAX, RETRYING_WAIT_EXPONENTIAL_MULTIPLIER
1817
from ..logger import LoggerSetup
1918

2019

@@ -90,9 +89,7 @@ class tree for self).
9089

9190
return getattr(self._bucket, name)
9291

93-
@retry(stop_max_attempt_number=RETRYING_MAX_ATTEMPTS,
94-
wait_exponential_multiplier=RETRYING_WAIT_EXPONENTIAL_MULTIPLIER,
95-
wait_exponential_max=RETRYING_WAIT_EXPONENTIAL_MAX)
92+
@retry(stop_max_attempt_number=5, wait_exponential_multiplier=1000, wait_exponential_max=16000)
9693
def download_file(self, key, file_name, *args, **kwargs):
9794
"""
9895
boto3: Download an S3 object to a file.
Lines changed: 52 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import pytest
22

3-
from gardenlinux.constants import RETRYING_MAX_ATTEMPTS, S3_DOWNLOADS_DIR
3+
from gardenlinux.constants import S3_DOWNLOADS_DIR
44
from gardenlinux.features import CName
55
from gardenlinux.github.release_notes.helpers import download_metadata_file
66
from gardenlinux.s3 import S3Artifacts
@@ -15,24 +15,34 @@
1515

1616

1717
def test_download_metadata_file(downloads_dir, release_s3_bucket):
18-
release_s3_bucket.upload_file(RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
19-
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}")
18+
release_s3_bucket.upload_file(
19+
RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
20+
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}",
21+
)
2022

2123
s3_artifacts = S3Artifacts(TEST_GARDENLINUX_RELEASE_BUCKET_NAME)
2224
s3_artifacts._bucket = release_s3_bucket
2325

24-
cname = CName("test-aws-gardener_prod", "amd64", "{0}-{1}".format(TEST_GARDENLINUX_RELEASE, TEST_GARDENLINUX_COMMIT_SHORT))
25-
download_metadata_file(s3_artifacts,
26-
cname.cname,
27-
TEST_GARDENLINUX_RELEASE,
28-
TEST_GARDENLINUX_COMMIT_SHORT,
29-
S3_DOWNLOADS_DIR)
26+
cname = CName(
27+
"test-aws-gardener_prod",
28+
"amd64",
29+
"{0}-{1}".format(TEST_GARDENLINUX_RELEASE, TEST_GARDENLINUX_COMMIT_SHORT),
30+
)
31+
download_metadata_file(
32+
s3_artifacts,
33+
cname.cname,
34+
TEST_GARDENLINUX_RELEASE,
35+
TEST_GARDENLINUX_COMMIT_SHORT,
36+
S3_DOWNLOADS_DIR,
37+
)
3038
assert (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml").exists()
3139

3240

3341
def test_download_metadata_file_no_such_release(downloads_dir, release_s3_bucket):
34-
release_s3_bucket.upload_file(RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
35-
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}")
42+
release_s3_bucket.upload_file(
43+
RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
44+
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}",
45+
)
3646
s3_artifacts = S3Artifacts(TEST_GARDENLINUX_RELEASE_BUCKET_NAME)
3747
s3_artifacts._bucket = release_s3_bucket
3848

@@ -41,17 +51,19 @@ def test_download_metadata_file_no_such_release(downloads_dir, release_s3_bucket
4151
cname = CName("aws-gardener_prod", "amd64", "{0}-{1}".format(release, commit))
4252

4353
with pytest.raises(IndexError):
44-
download_metadata_file(s3_artifacts,
45-
cname.cname,
46-
release,
47-
commit,
48-
S3_DOWNLOADS_DIR)
49-
assert not (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml").exists()
54+
download_metadata_file(
55+
s3_artifacts, cname.cname, release, commit, S3_DOWNLOADS_DIR
56+
)
57+
assert not (
58+
S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml"
59+
).exists()
5060

5161

5262
def test_download_metadata_file_no_such_commit(downloads_dir, release_s3_bucket):
53-
release_s3_bucket.upload_file(RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
54-
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}")
63+
release_s3_bucket.upload_file(
64+
RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
65+
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}",
66+
)
5567

5668
s3_artifacts = S3Artifacts(TEST_GARDENLINUX_RELEASE_BUCKET_NAME)
5769
s3_artifacts._bucket = release_s3_bucket
@@ -61,17 +73,21 @@ def test_download_metadata_file_no_such_commit(downloads_dir, release_s3_bucket)
6173
cname = CName("test-aws-gardener_prod", "amd64", "{0}-{1}".format(release, commit))
6274

6375
with pytest.raises(IndexError):
64-
download_metadata_file(s3_artifacts,
65-
cname.cname,
66-
release,
67-
commit,
68-
S3_DOWNLOADS_DIR)
69-
assert not (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml").exists()
70-
71-
72-
def test_download_metadata_file_no_such_release_and_commit(downloads_dir, release_s3_bucket):
73-
release_s3_bucket.upload_file(RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
74-
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}")
76+
download_metadata_file(
77+
s3_artifacts, cname.cname, release, commit, S3_DOWNLOADS_DIR
78+
)
79+
assert not (
80+
S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml"
81+
).exists()
82+
83+
84+
def test_download_metadata_file_no_such_release_and_commit(
85+
downloads_dir, release_s3_bucket
86+
):
87+
release_s3_bucket.upload_file(
88+
RELEASE_NOTES_S3_ARTIFACTS_DIR / "aws-gardener_prod-amd64.s3_metadata.yaml",
89+
f"meta/singles/test-aws-gardener_prod-amd64-{TEST_GARDENLINUX_RELEASE}-{TEST_GARDENLINUX_COMMIT}",
90+
)
7591

7692
s3_artifacts = S3Artifacts(TEST_GARDENLINUX_RELEASE_BUCKET_NAME)
7793
s3_artifacts._bucket = release_s3_bucket
@@ -81,24 +97,9 @@ def test_download_metadata_file_no_such_release_and_commit(downloads_dir, releas
8197
cname = CName("test-aws-gardener_prod", "amd64", "{0}-{1}".format(release, commit))
8298

8399
with pytest.raises(IndexError):
84-
download_metadata_file(s3_artifacts,
85-
cname.cname,
86-
release,
87-
commit,
88-
S3_DOWNLOADS_DIR)
89-
assert not (S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml").exists()
90-
91-
92-
def test_download_metadata_uses_retrying_strategy(downloads_dir, blackhole_s3_bucket):
93-
s3_artifacts = S3Artifacts(TEST_GARDENLINUX_RELEASE_BUCKET_NAME)
94-
s3_artifacts._bucket._bucket = blackhole_s3_bucket
95-
96-
cname = CName("test-aws-gardener_prod", "amd64", "{0}-{1}".format("foo", "bar"))
97-
98-
with pytest.raises(IOError) as exn:
99-
download_metadata_file(s3_artifacts,
100-
cname.cname,
101-
"foo",
102-
"bar",
103-
S3_DOWNLOADS_DIR)
104-
assert str(exn.value) == f"Download attempt # {RETRYING_MAX_ATTEMPTS} failed"
100+
download_metadata_file(
101+
s3_artifacts, cname.cname, release, commit, S3_DOWNLOADS_DIR
102+
)
103+
assert not (
104+
S3_DOWNLOADS_DIR / "test-aws-gardener_prod-amd64.s3_metadata.yaml"
105+
).exists()

0 commit comments

Comments
 (0)