Skip to content

Consolidate NCL stress testing infrastructure - #700

Merged
eiriktsarpalis merged 30 commits into
dotnet:masterfrom
eiriktsarpalis:eirik/stress-pipeline-consolidation
Dec 12, 2019
Merged

eiriktsarpalis merged 30 commits into
dotnet:masterfrom
eiriktsarpalis:eirik/stress-pipeline-consolidation

Conversation

@eiriktsarpalis

@eiriktsarpalis eiriktsarpalis commented Dec 9, 2019 •

Copy link
Copy Markdown
Member

This PR:

  • Moves docker build infrastructure from the stress application folders to the /eng/docker folder.
  • Merges os-specific stress pipelines so that there is one pipeline per stress application.
  • Simplify stress setup procedure for local dev machines and update documentation.

@eiriktsarpalis eiriktsarpalis added area-Infrastructure-libraries tenet-reliability Reliability/stability related issue (stress, load problems, etc.) labels Dec 9, 2019
@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp list

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-windows

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-windows

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-windows

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-windows

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-ssl-windows

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-ssl-linux

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-ssl-windows

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-linux

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http-windows

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

PR is ready for review

@davidsh

davidsh commented Dec 11, 2019

Copy link
Copy Markdown
Contributor

Merges os-specific stress pipelines so that there is one pipeline per stress application.

I'm curious...what is the advantage of having multiple jobs in a single pipeline? Is it just the convenience of having a single "azp run" command?

If both Linux and Windows jobs are in the same pipeline then will it run slower since the jobs are serialized?

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

If both Linux and Windows jobs are in the same pipeline then will it run slower since the jobs are serialized?

Jobs are run in parallel unless they depend on eachother. For example: https://dev.azure.com/dnceng/public/_build/results?buildId=453772&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

I'm curious...what is the advantage of having multiple jobs in a single pipeline? Is it just the convenience of having a single "azp run" command?

I've found per-os separation to be a hassle, in practice. If a stress run is required, then you generally want to trigger it for all available operating systems, so you end up having to type multiple /azp commands.

Merging is also more in line with how our CI pipelines are structured.

Comment thread eng/pipelines/libraries/stress/http.yml Resolved

@davidsh davidsh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few comments, but otherwise LGTM.

Thank you for improving our overall usage of docker and related tools. :)

@davidsh davidsh added this to the 5.0 milestone Dec 11, 2019
[switch][Alias('w')]$buildWindowsContainers
)

$REPO_ROOT_DIR=$(git -C "$PSScriptRoot" rev-parse --show-toplevel)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove the git dependency here at some point?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And replace with a relative path? Do we expect this to run outside of a repo?

Comment thread eng/pipelines/libraries/stress/http.yml Resolved
Comment thread eng/pipelines/libraries/stress/http.yml Resolved
Comment thread eng/pipelines/libraries/stress/http.yml Resolved
Comment thread eng/pipelines/libraries/stress/http.yml Resolved
Comment thread eng/pipelines/libraries/stress/ssl.yml Resolved

@ViktorHofer ViktorHofer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot, this is great 👍

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-ssl

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis

Copy link
Copy Markdown
Member Author

/azp run runtime-libraries stress-http

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@eiriktsarpalis
eiriktsarpalis merged commit 3951076 into dotnet:master Dec 12, 2019
@eiriktsarpalis
eiriktsarpalis deleted the eirik/stress-pipeline-consolidation branch December 12, 2019 17:05
@ghost ghost locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-libraries tenet-reliability Reliability/stability related issue (stress, load problems, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants