Skip to content

Commit 41a4334

Browse files
MK8S-25: Simplify cleanup by placing saltenv directory at repository level
Move saltenv directory structure to be alongside repository directories where it gets cleaned up automatically by existing repository cleanup, eliminating the need for complex multi-level directory cleanup coordination. Changes: - Move saltenv dir from `/packages/redhat/metalk8s-VERSION/` to `/packages/redhat/8/metalk8s-VERSION/` - Create top-level saltenv dir `/packages/metalk8s-VERSION/` for health check - Remove complex cleanup functions from packaging.py directory tasks - Use repository's existing cleanup mechanisms This ensures all index.html files are removed with existing cleanup flows, preventing directory removal failures that blocked e2e tests.
1 parent e1fab9b commit 41a4334

File tree

2 files changed

+32
-18
lines changed

2 files changed

+32
-18
lines changed

buildchain/buildchain/packaging.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -150,27 +150,11 @@ def task__package_mkdir_iso_root() -> types.TaskDict:
150150

151151
def task__package_mkdir_redhat_iso_root() -> types.TaskDict:
152152
"""Create the RedHat packages root directory on the ISO."""
153-
154-
def clean() -> None:
155-
"""Clean RedHat directory including saltenv directory structure."""
156-
# Remove saltenv directory structure created by repository index files
157-
saltenv_dir = (
158-
constants.REPO_REDHAT_ROOT
159-
/ f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
160-
)
161-
if saltenv_dir.exists():
162-
coreutils.rm_rf(saltenv_dir)
163-
164-
mkdir_task = targets.Mkdir(
153+
return targets.Mkdir(
165154
directory=constants.REPO_REDHAT_ROOT,
166155
task_dep=["_package_mkdir_iso_root"],
167156
).task
168157

169-
# Add our custom cleanup function
170-
mkdir_task["clean"] = [clean]
171-
172-
return mkdir_task
173-
174158

175159
def _package_mkdir_redhat_release_iso_root(releasever: str) -> types.TaskDict:
176160
"""

buildchain/buildchain/targets/repository.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,15 +219,25 @@ def clean() -> None:
219219
]
220220
# Clean shared directory index files if this is scality repo
221221
if self.name == "scality":
222+
# Saltenv directory at repository level (cleaner for cleanup)
222223
saltenv_dir = (
224+
self._repo_root
225+
/ self._releasever
226+
/ f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
227+
)
228+
# Top-level saltenv directory (needed for health check)
229+
top_saltenv_dir = (
223230
self._repo_root
224231
/ f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
225232
)
226233
index_files.extend(
227234
[
235+
# Repository-level saltenv structure
228236
saltenv_dir / "index.html",
229237
saltenv_dir / "redhat" / "index.html",
230238
saltenv_dir / "redhat" / str(self._releasever) / "index.html",
239+
# Top-level saltenv (for health check)
240+
top_saltenv_dir / "index.html",
231241
]
232242
)
233243

@@ -245,15 +255,25 @@ def create_index() -> None:
245255
# Also create shared directory index files, but only from scality repo
246256
# to avoid doit task conflicts between multiple repositories
247257
if self.name == "scality":
258+
# Saltenv directory at repository level (cleaner for cleanup)
248259
saltenv_dir = (
260+
self._repo_root
261+
/ self._releasever
262+
/ f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
263+
)
264+
# Top-level saltenv directory (needed for health check)
265+
top_saltenv_dir = (
249266
self._repo_root
250267
/ f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
251268
)
252269
repository_directories.extend(
253270
[
254-
saltenv_dir, # /{saltenv}/ (needed for health check)
271+
# Repository-level saltenv structure
272+
saltenv_dir,
255273
saltenv_dir / "redhat",
256274
saltenv_dir / "redhat" / str(self._releasever),
275+
# Top-level saltenv (for health check)
276+
top_saltenv_dir,
257277
]
258278
)
259279

@@ -271,14 +291,24 @@ def create_index() -> None:
271291
self.rootdir / self.ARCH / "index.html",
272292
]
273293
if self.name == "scality":
294+
# Saltenv directory at repository level (cleaner for cleanup)
274295
saltenv_dir = (
296+
self._repo_root
297+
/ self._releasever
298+
/ f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
299+
)
300+
# Top-level saltenv directory (needed for health check)
301+
top_saltenv_dir = (
275302
self._repo_root / f"{config.PROJECT_NAME.lower()}-{versions.VERSION}"
276303
)
277304
targets.extend(
278305
[
306+
# Repository-level saltenv structure
279307
saltenv_dir / "index.html",
280308
saltenv_dir / "redhat" / "index.html",
281309
saltenv_dir / "redhat" / str(self._releasever) / "index.html",
310+
# Top-level saltenv (for health check)
311+
top_saltenv_dir / "index.html",
282312
]
283313
)
284314

0 commit comments

Comments
 (0)