-
Notifications
You must be signed in to change notification settings - Fork 105
Description
What feature do you want to see added?
Hi,
I am a long time user of the Azure VM Agent plugin and have recently incorporated the virtual machine scale set functionality within the plugin. When I did this, I surprisingly found out that it only support flexible virtual machine scale sets not not uniform virtual machine scale sets. We use uniform virtual machine scale sets with many other CI/CD platforms and the flow is like such:
Jenkinsfileis triggered - either manually or via cron timerJenkinsfilerequests the label associated with the cloud template. Right now, wether using a flexible VMSS a not, an ARM template is deployed with a custom script that checks the worker into Jenkins using JNLP. Either its an individual VM, or its part of the flexible VMSS.
- In other CI/CD platforms, it looks like this: pipeline interacts with the uniform VMSS viaaz cliand asks it to spin up an instance that will be our worker- The worker is spun up and any custom script extensions are run on it
- These custom script extensions usually would check the worker in to Jenkins
- The worker runs the pipeline steps as declared in the
Jenkinsfile, pipeline passes or fails. - Retention strategy kicks in and spins down the instance depending on that configuration.
- In other CI/CD platforms, it looks like this: pipeline interacts with the uniform VMSS viaaz cliand spins down the instance
I think the idea for using flexible was the dependency on the ARM template using a customScript to actually connect the worker to the controller using JNLP. BUT these flexible VMSS's do not allow custom scripts/extensions to be configured to them which is causing issues for us.
- One real example of this impacting us currently is attempting to use the Azure Monitoring Agent on our Jenkins workers to check them into a LogAnalytics Workspace. Microsoft recommends you install this as VMSS extension, but with flexible VMSS's, we cannot do that. I was trying to get it working using the initialization script within the cloud template config, using PowerShell, but I cannot get this working properly - and even if I could it won't scale well as the version changes frequently so it will always have to be updated. On all of our other CI/CD platforms, we install it with the VMSS extension and it works flawlessly without issue.
I am simply asking if there is a possibility of using either uniform OR flexible VMSS's with the plugin. Maybe there is a huge reason why only one works but the other wouldn't be possible. Just wanted to throw this out there. If any more details are needed, please feel free to ask me.
Upstream changes
No response
Are you interested in contributing this feature?
No response