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

[Feature] Start/stop with resource manager #37

Closed
SaphuA opened this issue Aug 31, 2016 · 16 comments
Closed

[Feature] Start/stop with resource manager #37

SaphuA opened this issue Aug 31, 2016 · 16 comments

Comments

@SaphuA
Copy link

SaphuA commented Aug 31, 2016

As management certificates are deprecated would love to be able to do starting/stopping with the resource manager plugin.

@gambrose
Copy link

This is a blocker for us moving from the classic Azure plugin.

@erichexter
Copy link

ping @dtretyakov

@dtretyakov
Copy link
Contributor

@erichexter, we consider implementing it in the next plugin version.

Could you please share details about your use case: why you prefer start/stop behaviour instead of clone?

If it's a start time consideration we have an idea to reuse created machines in the clone behavior, so you will have a chance to create a pool of stopped/deallocated vms which are ready to start same way as in the start/stop behavior. For details see issue #34.

@gambrose
Copy link

@dtretyakov yeah, startup time is a consideration but also we already have tools/knowledge around creating Azure vms.
I would like to keep the flexibility that ARM templates give me, instead of having to rely on the plugins opinion on how a vm should be configured.
We find that disk io a limiting factor in build times so we would like the flexibly to setup the build machines to use premium storage or stripped disks.
Also we would like to keep the build agent repos between builds to we can just do an incremental update for faster builds.

@SaphuA
Copy link
Author

SaphuA commented Oct 28, 2016

@dtretyakov Yes that is exactly the reason. Creating a new VM takes magnitudes longer than starting one.

@dtretyakov
Copy link
Contributor

@SaphuA, recent change in issue #34 brings ability to reuse created virtual machines. While terminating it just moves vm into Stopped/Deallocated state and on demand starts it again.

Please try to download updated plugin from the gallery and enable Reuse allocated virtual machines for your images.

@chlsmith
Copy link

I'd love to see start/stop instead of a full clone. I need my machines to have static public IP addresses, and the current cloning doesn't allow me to link an existing public IP to a machine. Not to mention the time to get things built.

@mrahl
Copy link

mrahl commented Jan 9, 2017

For us the reason to use start/stop is that we can keep the workspace to make the checkouts faster. The Azure VPN speeds suck (we have Gbit speeds to/from Internet in general, but we've tried two different Azure regions close to us without even getting 20 Mbit/s throughput through VPN) so clean checkouts adds several minutes to build times.

We have many builds for many repos so the chance that the same workspace is reused during the lifetime of the Azure agent is very low, effectively rendering every build a clean checkout. We're considering express route but it is a very expensive solution.

We've considered agent-side checkouts and a git mirror in Azure, but it causes configuration problems since we also have build agents on-site.

@dtretyakov
Copy link
Contributor

@chlsmith, @mrahl, great thanks for explanation. It's a high priority feature request.

@mrahl
Copy link

mrahl commented Jan 10, 2017

@dtretyakov thank you, but after commenting I also saw your comment about issue #34 and tried the updated plugin and it seems to solve our problem well already!

@eakukin
Copy link

eakukin commented Mar 30, 2017

@dtretyakov "Reuse allocated virtual machines" works fine if delay between stopping agent and starting it quite small 1-4 hours. In our case, they stopped in the evening, and in the morning (delay 6-8 hours, for weekends up to 48hours), plugin creating new agents instead of starting old ones. This behavior is not useful, new agents has new ip addresses, without needed permission, and build is failing. Could you fix that?

@dtretyakov
Copy link
Contributor

@eakukin, it looks like a bug.

Could you please report it in the TeamCity tracker and securely attach teamcity-clouds.log file?

dtretyakov added a commit that referenced this issue Dec 29, 2017
@dtretyakov
Copy link
Contributor

In the latest snapshot plugin build available "start/stop" mode. Please let me know if it completely covers your use cases.

image

@dtretyakov
Copy link
Contributor

This mode is available in Azure plugin 0.7.0

@gambrose
Copy link

@dtretyakov I have only just had a chance to test this but it seems to be working well. 👍

I did notice an issue with the Name Prefix missing the first letter of the image name.
image

@dtretyakov
Copy link
Contributor

@gambrose, thanks for reporting. Will fix it as apart of #89

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants