VMware cloud plugin - different sizing of agents images

Hello,

Our scenario: we have a VM template and a number of different jobs - lets say  Job A is a small linter so it requires lets say 2 CPUs and 4 GB RAM. Job B is a big test job that requires 16 CPUs and 32 GB RAM.

Our reality: we have two separate VM templates with different hardware specifications (as stated above) with "small" and "large" in their names. We “assign” each job to proper agent using agent requirements, for example “teamcity.agent.name” contains “small” or “large”.

We know that TC cloud plugin uses vSphere SDK to start up new VMs. It would be really nice so that in the cloud profile we could set for example a custom script with set of SDK commands (for each "Agent image") to change some properties of the new VM before its started. That would save us from having two or more templates that are exactly the same but differ in HW specifications.

We could then have a really fine grade control of the spawned agents without a need of x amount of templates in Content Library.

Is that something that could be requested as a feature?

Jakub

 

0
3 comments
Hi Jakub,

Thank you for reaching out and sharing such a detailed overview of your current workflow.

You have hit on a very common pain point often referred to as "Template Sprawl." Maintaining multiple identical VM templates just to accommodate different CPU and RAM requirements is indeed inefficient and adds significant overhead to your infrastructure management.

However, we recommend submitting feature request directly to the TeamCity development team via YouTrack(https://youtrack.jetbrains.com/issues/TW).


0

Hi again,

I can see that “VMware vSphere” is actually a plugin listed under “Bundled plugins” in plugins overview. Is there any possibility that we could actually edit that code and load the altered plugin instead of the bundled one?

The reason is that we would also like to add more logging and some other “features” and be more in control.
 

Edit: Is this actually this one https://github.com/JetBrains/teamcity-vmware-plugin

0

Hi, 

Yes, the bundled VMware vSphere plugin appears to correspond to this repository: https://github.com/JetBrains/teamcity-vmware-plugin 

However, since the plugin has been bundled with TeamCity since 10.0, replacing or overriding the bundled version with a modified one is not something I would recommend or consider a supported setup. It may work in some cases, but it can easily lead to compatibility issues, especially after TeamCity upgrades.

The repository README also notes that the current version is not buildable standalone, and suggests using the 9.0.x branch for customization. 

So even if you want to experiment with a modified plugin, it should be treated as a custom plugin rather than a supported way to extend the bundled plugin. 

0

Please sign in to leave a comment.