teemtee / tmt

Test Management Tool
MIT License
85 stars 129 forks source link

ansible plugin downloads playbook to the plan directory, not workdir #3237

Open lukaszachy opened 2 months ago

lukaszachy commented 2 months ago

I use plan like https://github.com/lukaszachy/testing-farm-konflux/blob/main/examples/tmt-plan/konflux.fmf and once ti finishes I always have files like playbook-la0vgbpg.yml in the directory with the plan (fmf root as well as git root).

tmt version: 1.37.dev26+g1238dcaa

The command line used is tmt -c trigger=commit -c initiator=konflux run -avvv --environment-file envfile.yaml report -h html -o login -w error -w fail

IMO tmt should refrain from modifying plan directory (or any input files/directories).

happz commented 2 months ago

That was a price for the "all playbooks must be under fmf tree root" rule which has been relaxed a bit recently. I suppose prepare/ansible should use its workdir, correct? Root selection (https://github.com/teemtee/tmt/blob/main/tmt/steps/prepare/ansible.py#L171) is correct for file-backed playbooks, for the downloaded different root will be needed, but that's easy to achieve, set root_path before the if branch and set it to workdir for remote playbooks.