teamcity overwrites runner type for meta-runners found on disk

I am installing meta-runners via ansible. Some of the runners are of type 'simpleRunner' and some 'gradle-runner'.

When the meta-runner is first installed and viewed in teamcity UI it has the correct type. But in some minutes later the type 'gradle-runner' gets changed to 'simpleRunner', of course causing the builds to either not work or not have a compatible agent.

What could be causing teamcity to want to change this value?

7 comments
Comment actions Permalink

I also see that teamcity will change the permissions on the meta-runner files. I set it to 0440 when ansible copies it to the server to try to prevent the change in type, but a moment later it has been changed to 0755. I don't really care what the permission mask it, but I can't have teamcity deciding for itself what meta-runner types should be.

0
Comment actions Permalink

I may have found the trigger. A few of the meta-runners I copied to the server had 'simpleRunner' instead of 'gradle-runner'. In that case, teamcity would change the type of all existing 'gradle-runner's to 'simpleRunner'.

After I correct those meta-runners and copied them, then teamcity stopped changing runners.

0
Comment actions Permalink

This is getting worse all the time. Teamcity rewrites the meta-runner xml files just to reorder the lines.

0
Comment actions Permalink

Hi Barry,
TeamCity shouldn't change the file contents or permissions on the meta-runner xml files. Have you tried to install your meta-runners as described in our documentation? If so, do you experience the same issue?
https://www.jetbrains.com/help/teamcity/working-with-meta-runner.html#WorkingwithMeta-Runner-InstallingMeta-Runner

0
Comment actions Permalink

Eric, the doc you mention is where I learned that I can even do this. So yes, I experience this issue using that process. 

I have just this minute converted the git repo to kotlin. None of the meta-runners are even included git now. 

 

0
Comment actions Permalink

Hi Barry,
Thank you for writing back. I just wanted to ask since you said that you were installing via Ansible, which is not something that is covered in our documentation. Maybe I can help you find your way to a solution.

As I mentioned, TeamCity does not change the contents or permissions on the meta-runner xml files. Now that you're mentioning you have things strangely missing, I'm wondering if there may be some bigger issue going on. Would it be possible to share your server log with us? It is located at <TeamCity Server home>/logs/teamcity-server.log. You can send it privately to the support team through the Submit a Request button at the top of the page.

0
Comment actions Permalink

Ansible is just the means by which the files are copied to the file system. It is no different than if I copied the files directly.

If we were to keep using the meta-runners I would be happy to help debug. But now that we converted to kotlin, we will fully convert all the meta-runner xml to kotlin. We only have a few dozen and it will be mainly a cut-n-paste job. 

0

Please sign in to leave a comment.