Skip to content

Plan source script shall be guest-specific file - #5034

Open
happz wants to merge 3 commits into
mainfrom
plan-source-script-per-guest
Open

Plan source script shall be guest-specific file#5034
happz wants to merge 3 commits into
mainfrom
plan-source-script-per-guest

Conversation

@happz

@happz happz commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Similarly to plan environment file, plan source script also must be made guest-specific: as phases run on multiple guests at the same time, they modify their local file, stored on the guest, which may then be pulled by tmt into singular location, over writing each other.

Now, the situation is not as worse as it was in case of the environment file, since tmt does not pull the plan source script on purpose, and it certainly is not pushed to guests, but the principle is the same: multiple phases touch "one" file, on their guests, and tmt is not aware the file may be very different. By moving the ownership of the path to guest, and adding the suffix, we prevent any future confusion should we start pulling/pushing the file(s).

Pull Request Checklist

  • implement the feature

@happz happz added this to planning Jul 2, 2026
@happz happz added the area | environment Environment variables handling label Jul 2, 2026
@github-project-automation github-project-automation Bot moved this to backlog in planning Jul 2, 2026
@happz happz added the ci | full test Pull request is ready for the full test execution label Jul 2, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request moves the ownership of the plan source script from the Plan class to the Guest class. Specifically, it removes plan_source_script from tmt/base/plan.py and introduces plan_source_script_path in tmt/guest/__init__.py. It also updates the execution, preparation, and provisioning steps to reference the guest-specific plan source script path instead of the plan-level one. I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

happz added 3 commits July 3, 2026 20:37
Similarly to plan environment file, plan source script also must be made
guest-specific: as phases run on multiple guests at the same time, they
modify their local file, stored on the guest, which may then be pulled
by tmt into singular location, over writing each other.

Now, the situation is not as worse as it was in case of the environment
file, since tmt does not pull the plan source script on purpose, and it
certainly is not pushed to guests, but the principle is the same:
multiple phases touch "one" file, on their guests, and tmt is not aware
the file may be very different. By moving the ownership of the path to
guest, and adding the suffix, we prevent any future confusion should we
start pulling/pushing the file(s).
@happz
happz force-pushed the plan-source-script-per-guest branch from 6f51ae3 to 468d24c Compare July 3, 2026 18:40
@happz happz moved this from backlog to implement in planning Jul 7, 2026
@happz happz moved this from implement to review in planning Jul 7, 2026
Comment thread tmt/guest/__init__.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area | environment Environment variables handling ci | full test Pull request is ready for the full test execution

Projects

Status: review

Development

Successfully merging this pull request may close these issues.

2 participants