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

Use automatic means to switch to -Svc pool providers #10839

Closed
MattGal opened this issue Sep 14, 2022 · 14 comments
Closed

Use automatic means to switch to -Svc pool providers #10839

MattGal opened this issue Sep 14, 2022 · 14 comments
Assignees
Labels
Ops - Compliance First-responder-style issues handled by the Operations V-Team due to prioritization or urgency level

Comments

@MattGal
Copy link
Member

MattGal commented Sep 14, 2022

As part of #10578 , many folks have asked for an automated means to switch over the pool providers to the '-Svc' versions of them when they branch. This would greatly simplify the release process since there are many repos to switch over.

I don't know how this would work since not everyone uses the word "main" for their R&D branch, not everyone uses Arcade build templates, etc. It would be straightforward to add a variables yaml file in arcade's eng/common folder in main and to use it directly in our main arcade-ified repos.

@Chrisboh asked me to file this for discussion this week at triage.

@MattGal MattGal added the Needs Triage A new issue that needs to be associated with an epic. label Sep 14, 2022
@michellemcdaniel
Copy link
Contributor

We are going to leave this as Needs Triage until next week, at which point we will make a decision on how to fund this work

@chcosta
Copy link
Member

chcosta commented Sep 15, 2022

I wonder if this relates to https://github.com/orgs/dotnet/projects/86/views/15 and also, have we put any thought into how VMR work may impact the Arcade model. ie, if we're moving away from "Maestro" for dependency flow in repos, we may want to re-evaluate the Arcade eng/common model as well and instead look into Arcade using repository resources

@garath
Copy link
Member

garath commented Sep 22, 2022

@Chrisboh don't forget to add your info here.

@Chrisboh
Copy link
Member

Chrisboh commented Oct 4, 2022

I think that if we can do this in an automated fashion we should. We do need to ensure that all the product teams do follow the same process when creating their branches such that this automation is useful.

@MattGal MattGal added the Operations Used by FR to track issues related to operations work label Oct 19, 2022
@MattGal
Copy link
Member Author

MattGal commented Oct 19, 2022

PR is merged and Arcade main internal build has completed without issues. I will wait for this build to get promoted, then write some how-to .md stuff in arcade and call it a day.

@MattGal
Copy link
Member Author

MattGal commented Oct 24, 2022

Still fighting some fallout from this, hoping #11394 is the last change needed.

@MattGal
Copy link
Member Author

MattGal commented Oct 26, 2022

While the changes merged don't hurt anyone, and they make Arcade's (non-PR) builds behave correctly, they are not going to be useful unless I find a mitigation to microsoft/azure-pipelines-yaml#474 . Namely, the values I depend on ( mostly System.PullRequest.TargetBranch) aren't set when template evaluation occurs, and that's when I need it to be set to select the pool provider. I've emailed some folks from that team and depending on their response I may have to abandon this work.

@MattGal
Copy link
Member Author

MattGal commented Nov 1, 2022

The changes I made almost work but I didn't realize that System.PullRequest.* variables aren't available at template time. This means providing a general purpose variable that works when the build is a pull request just isn't possible right now.

I ended up creating a feature request to make these variables available to templates here:
https://dev.azure.com/mseng/AzureDevOps/_workitems/edit/2003731

I am putting the issue into tracking/blocked for now, as without the above feature request being implemented there's no good way to provide general purpose switching.

@MattGal MattGal added Ops - Compliance First-responder-style issues handled by the Operations V-Team due to prioritization or urgency level and removed Operations Used by FR to track issues related to operations work labels Nov 1, 2022
@MattGal
Copy link
Member Author

MattGal commented Nov 16, 2022

The code is in Arcade to try to take advantage of automatically switching over to -Svc pool providers, but without the above feature request being completed it isn't actually particularly useful yet. Once the feature is in, this should just "light up" for arcade main and later, if we hit issues then we can address them as FROps issues. As such I'm closing this issue.

@MattGal MattGal closed this as completed Nov 16, 2022
@MattGal
Copy link
Member Author

MattGal commented Feb 1, 2023

With the advent of the earliest release/8.0 branches starting to clog the alert, I am reopening this issue to have a discussion tomorrow at triage.

The feature request to Azure Devops has had no traction since November and we should proceed as if it is not happening any time soon.

@MattGal MattGal reopened this Feb 1, 2023
@MattGal MattGal removed their assignment Feb 1, 2023
@MattGal MattGal added Needs Triage A new issue that needs to be associated with an epic. and removed Ops - Compliance First-responder-style issues handled by the Operations V-Team due to prioritization or urgency level labels Feb 1, 2023
@michellemcdaniel michellemcdaniel added Ops - Compliance First-responder-style issues handled by the Operations V-Team due to prioritization or urgency level and removed Needs Triage A new issue that needs to be associated with an epic. labels Feb 2, 2023
@MattGal MattGal self-assigned this Feb 2, 2023
MattGal added a commit to MattGal/arcade that referenced this issue Feb 2, 2023
@MattGal
Copy link
Member Author

MattGal commented Feb 2, 2023

@akoeplinger may have saved the day with a suggestion, I am trying it in https://github.com/dotnet/arcade/pull/12417/files

MattGal added a commit that referenced this issue Feb 3, 2023
* Another attempt at addressing #10839

* try different indent
@MattGal
Copy link
Member Author

MattGal commented Feb 8, 2023

This is going well enough that I've tried to port this to release/7.0 here: #12479

@MattGal MattGal changed the title Consider providing automatic means to switch to -Svc pool providers Use automatic means to switch to -Svc pool providers Feb 8, 2023
@MattGal
Copy link
Member Author

MattGal commented Feb 21, 2023

Checked in on #12345 today. Most repos except for runtime/main are already ported over. dotnet/runtime#82452 should address this.

@MattGal
Copy link
Member Author

MattGal commented Mar 1, 2023

This work is done and available. I have changed organizations and will no longer move forward on this; mismatching builds should trigger alerts and be addressed one at a time.

@MattGal MattGal closed this as completed Mar 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ops - Compliance First-responder-style issues handled by the Operations V-Team due to prioritization or urgency level
Projects
None yet
Development

No branches or pull requests

5 participants