Skip to content

Commit 7e54c00

Browse files
pre-commit-ci[bot]jajreidy
authored andcommitted
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 1cad79b commit 7e54c00

File tree

2 files changed

+82
-31
lines changed

2 files changed

+82
-31
lines changed

src/pushsource/_impl/backend/staged/staged_cloud.py

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,24 @@
22
import os
33
import yaml
44

5+
from datetime import datetime, timezone
6+
57
from .staged_base import StagedBaseMixin, handles_type
6-
from ...model import VHDPushItem, AmiPushItem, AmiRelease, BootMode, KojiBuildInfo
8+
from ...model import VHDPushItem, VMIRelease, AmiPushItem, AmiRelease, BootMode, KojiBuildInfo
79

810
LOG = logging.getLogger("pushsource")
911

1012

1113
class StagedCloudMixin(StagedBaseMixin):
14+
def __get_product_name(self, base_name):
15+
splitted_name = base_name.split("-")
16+
if len(splitted_name) > 1:
17+
product = "-".join(splitted_name[:-1])
18+
else:
19+
product = splitted_name[0]
20+
return product
21+
22+
1223
def __build_ami_push_item(self, resources, origin, image, dest):
1324
build_resources = resources.get("build")
1425
release_resources = resources.get("release") or {}
@@ -38,24 +49,23 @@ def __build_ami_push_item(self, resources, origin, image, dest):
3849
}
3950
)
4051

41-
release_required = ["product", "date", "arch", "respin"]
42-
if all(x in release_resources.keys() for x in release_required):
43-
release_attrs = [
44-
"product",
45-
"date",
46-
"arch",
47-
"respin",
48-
"version",
49-
"base_product",
50-
"base_version",
51-
"variant",
52-
"type",
53-
]
54-
release_kwargs = {}
55-
for key in release_attrs:
56-
release_kwargs[key] = release_resources.get(key)
57-
58-
image_kwargs["release"] = AmiRelease(**release_kwargs)
52+
release_kwargs = {
53+
"product": self.__get_product_name(build_resources.get("name")),
54+
"date": datetime.now(timezone.utc).strftime("%Y%m%d"),
55+
"arch": image.get("architecture"),
56+
"respin": int(build_resources.get("respin")) or 0
57+
}
58+
release_attrs = [
59+
"version",
60+
"base_product",
61+
"base_version",
62+
"variant",
63+
"type",
64+
]
65+
for key in release_attrs:
66+
release_kwargs[key] = release_resources.get(key)
67+
68+
image_kwargs["release"] = AmiRelease(**release_kwargs)
5969

6070
image_attrs = [
6171
"type",
@@ -95,6 +105,14 @@ def __build_azure_push_item(self, resources, origin, image, dest):
95105
version=build_resources.get("version"),
96106
release=build_resources.get("respin"),
97107
)
108+
109+
release_kwargs = {
110+
"product": self.__get_product_name(build_resources.get("name")),
111+
"date": datetime.now(timezone.utc).strftime("%Y%m%d"),
112+
"arch": image.get("architecture"),
113+
"respin": int(build_resources.get("respin")) or 0
114+
}
115+
98116
image_kwargs = {
99117
"name": name,
100118
"src": src,
@@ -103,6 +121,7 @@ def __build_azure_push_item(self, resources, origin, image, dest):
103121
"origin": origin,
104122
"dest": [dest],
105123
"sha256sum": image.get("sha256sum"),
124+
"release": VMIRelease(**release_kwargs)
106125
}
107126
return VHDPushItem(**image_kwargs)
108127

@@ -127,14 +146,10 @@ def __cloud_push_item(self, leafdir, _, entry):
127146
return
128147
if image_type == "AMI":
129148
out.append(
130-
self.__build_ami_push_item(
131-
raw, entry.path, image, leafdir.dest
132-
)
149+
self.__build_ami_push_item(raw, entry.path, image, leafdir.dest)
133150
)
134151
elif image_type == "VHD":
135152
out.append(
136-
self.__build_azure_push_item(
137-
raw, entry.path, image, leafdir.dest
138-
)
153+
self.__build_azure_push_item(raw, entry.path, image, leafdir.dest)
139154
)
140155
return out

tests/baseline/cases/staged-simple-cloud.yml

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,16 @@ items:
3232
public_image: null
3333
recommended_instance_type: null
3434
region: null
35-
release: null
35+
release:
36+
arch: x86_64
37+
base_product: null
38+
base_version: null
39+
date: 2024-10-31
40+
product: rhel
41+
respin: 1
42+
type: null
43+
variant: null
44+
version: null
3645
release_notes: null
3746
root_device: null
3847
scanning_port: null
@@ -73,7 +82,16 @@ items:
7382
public_image: null
7483
recommended_instance_type: null
7584
region: null
76-
release: null
85+
release:
86+
arch: arm64
87+
base_product: null
88+
base_version: null
89+
date: 2024-10-31
90+
product: rhel
91+
respin: 1
92+
type: null
93+
variant: null
94+
version: null
7795
release_notes: null
7896
root_device: null
7997
scanning_port: null
@@ -118,8 +136,8 @@ items:
118136
arch: x86_64
119137
base_product: null
120138
base_version: null
121-
date: 2020-05-11
122-
product: Fake-Product
139+
date: 2024-10-31
140+
product: rhel
123141
respin: 1
124142
type: ga
125143
variant: Fake-Variant
@@ -160,7 +178,16 @@ items:
160178
name: something1.raw.xz
161179
origin: {{ src_dir }}/tests/staged/data/simple_cloud/starmap/CLOUD_IMAGES/build1
162180
recommended_sizes: []
163-
release: null
181+
release:
182+
arch: x86_64
183+
base_product: null
184+
base_version: null
185+
date: 2024-10-31
186+
product: rhel
187+
respin: 1
188+
type: null
189+
variant: null
190+
version: null
164191
sas_uri: null
165192
sha256sum: 04db0c39efb31518ff79bf98d1c27256d46cdc72b967a5b2094a6efec3166df2
166193
signing_key: null
@@ -188,7 +215,16 @@ items:
188215
name: something2.raw.xz
189216
origin: {{ src_dir }}/tests/staged/data/simple_cloud/starmap/CLOUD_IMAGES/build1
190217
recommended_sizes: []
191-
release: null
218+
release:
219+
arch: arm64
220+
base_product: null
221+
base_version: null
222+
date: 2024-10-31
223+
product: rhel
224+
respin: 1
225+
type: null
226+
variant: null
227+
version: null
192228
sas_uri: null
193229
sha256sum: 04db0c39efb31518ff79bf98d1c27256d46cdc72b967a5b2094a6efec3166df2
194230
signing_key: null

0 commit comments

Comments
 (0)