Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VMSS support #587

Merged
merged 4 commits into from
Nov 24, 2024
Merged

Add VMSS support #587

merged 4 commits into from
Nov 24, 2024

Conversation

timja
Copy link
Member

@timja timja commented Nov 21, 2024

  • Switch public IP address to Standard SKU
    • Basic is being retired next year
    • Standard has a change in behaviour which requires an NSG to be on the subnet or network interface
  • Change deployment finished to check every 5 seconds instead of 30 seconds, saves ~20 in my testing, from 1min2 to ~40 seconds for provisioning
  • Add networking configuration support for basic image configuration templates

Testing done

Triggered a bunch of jobs on an agent template with VMSS configured and added a column to show availability zone:

image

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests - that demonstrates feature works or fixes the issue

@timja timja added breaking A PR that is a breaking change - used by Release Drafter enhancement and removed enhancement labels Nov 24, 2024
@timja timja marked this pull request as ready for review November 24, 2024 11:12
@timja timja merged commit b34ad99 into jenkinsci:master Nov 24, 2024
17 checks passed
@timja timja deleted the vmss-2 branch November 24, 2024 11:12
@cyclelabs-ryanberger
Copy link

cyclelabs-ryanberger commented Nov 26, 2024

@timja Hey, a little confused about Add VMSS Support. I was imaging that this would allow you to interact with an existing VMSS and have the plugin spin up instances as part of the pooled/idle retention policy - this is a common strategy for other CI/CD tools so I got excited when I saw this come in. Can you explain a use case of using the Virtual Machine Scale Sets (recommended) option? I don't see anywhere to configure an actual Scale Set to use within the VM Agent Template. I just want to understand this functionality and its intended use case.

image

Thanks a ton!

@timja
Copy link
Member Author

timja commented Nov 26, 2024

Hey,

There should be a dropdown underneath where you can select a name:

image

Yes this is for existing VMSS (with flexible orchestration enabled).

The plugin just interacts with the VM API as normal but attaches it to a scaleset, the main benefit of it being for availability, VMs will be automatically distributed across availability zones.

@cyclelabs-ryanberger
Copy link

@timja That was very weird. I did not see that prompt until after I restarted Jenkins service. I now see it! I will build up a scale set into the resource group we use tomorrow with Terraform and test this. This would be a great use case for us! Thanks a ton!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking A PR that is a breaking change - used by Release Drafter enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants