Skip to content

Commit 40ee23d

Browse files
Korulagjavihernandez
authored andcommitted
Request albs_sign_file token only once
1 parent 4137110 commit 40ee23d

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

scripts/packages_exporter.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -366,8 +366,9 @@ async def get_exporter_data(
366366

367367
return list(dict(results).values())
368368

369-
async def sign_repomd_xml(self, path_to_file: str, key_id: str):
370-
token = await self.get_sign_server_token()
369+
async def sign_repomd_xml(
370+
self, path_to_file: str, key_id: str, token: str
371+
):
371372
endpoint = "sign"
372373
result = {"asc_content": None, "error": None}
373374
try:
@@ -501,7 +502,7 @@ async def export_repositories(self, repo_ids: list) -> typing.List[str]:
501502
exported_paths = [i for i in results if i]
502503
return exported_paths
503504

504-
async def repomd_signer(self, repodata_path, key_id):
505+
async def repomd_signer(self, repodata_path, key_id, token):
505506
string_repodata_path = str(repodata_path)
506507
if key_id is None:
507508
self.logger.info(
@@ -511,7 +512,8 @@ async def repomd_signer(self, repodata_path, key_id):
511512
return
512513

513514
file_path = os.path.join(repodata_path, "repomd.xml")
514-
result = await self.sign_repomd_xml(file_path, key_id)
515+
result = await self.sign_repomd_xml(file_path, key_id, token)
516+
self.logger.info('PGP key id: %s', key_id)
515517
result_data = result.get("asc_content")
516518
if result_data is None:
517519
self.logger.error(
@@ -773,7 +775,7 @@ async def get_sign_server_token(self) -> str:
773775
'email': settings.sign_server_username,
774776
'password': settings.sign_server_password,
775777
}
776-
endpoint = 'token/'
778+
endpoint = 'token'
777779
method = 'POST'
778780
response = await self.make_request(
779781
method=method, endpoint=endpoint, body=body, send_to='sign_server'
@@ -791,6 +793,7 @@ async def sign_repodata(
791793
repodata_paths = []
792794

793795
tasks = []
796+
token = await exporter.get_sign_server_token()
794797

795798
for repo_path in exported_paths:
796799
path = Path(repo_path)
@@ -814,8 +817,8 @@ async def sign_repodata(
814817
None,
815818
)
816819
break
817-
818-
tasks.append(exporter.repomd_signer(repodata, key_id))
820+
exporter.logger.info('Key ID: %s', str(key_id))
821+
tasks.append(exporter.repomd_signer(repodata, key_id, token))
819822

820823
await asyncio.gather(*tasks)
821824

@@ -1032,7 +1035,11 @@ def main():
10321035
exporter.logger.debug("JSON dump is done")
10331036
exporter.logger.debug("Generating OVAL data")
10341037
oval = sync(
1035-
exporter.get_oval_xml(platform, only_released=True)
1038+
# aiohttp is not able to send booleans in params.
1039+
# For this reason, we're passing only_released as a string,
1040+
# which in turn will be converted into boolean on backend
1041+
# side by fastapi/pydantic.
1042+
exporter.get_oval_xml(platform, only_released="true")
10361043
)
10371044
with open(os.path.join(platform_path, "oval.xml"), "w") as fd:
10381045
fd.write(oval)

0 commit comments

Comments
 (0)