Plan source script shall be guest-specific file - #5034
Conversation
There was a problem hiding this comment.
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.
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).
6f51ae3 to
468d24c
Compare
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