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

TEP-0135: Refactor Affinity Assistant PVC creation #6741

Merged

Commits on Jun 6, 2023

  1. TEP-0135: Refactor Affinity Assistant PVC creation

    Part of [tektoncd#6740][tektoncd#6740]. [TEP-0135][tep-0135] introduces a feature that allows a cluster operator
    to ensure that all of a PipelineRun's pods are scheduled to the same node.
    
    Before this commit, the PipelineRun reconciler creates PVC for each `VolumeClaimTemplate` backed workspace,
    and mount the PVCs to the AA to avoid PV availability zone conflict.
    This implementation works for `AffinityAssistantPerWorkspace` but introduces availability zone conflict
    issue in the `AffinityAssistantPerPipelineRun` mode since we cannot enforce all the PVC are created in the same availability zone.
    
    Instead of directly creating a PVC for each PipelineRun workspace backed by a VolumeClaimTemplate,
    this commit sets one VolumeClaimTemplate per PVC workspace in the affinity assistant StatefulSet spec,
    which enforces all VolumeClaimTemplates in StatefulSets are all provisioned on the same node/availability zone.
    
    This commit just refactors the current implementation in favor of the `AffinityAssistantPerPipelineRun` feature.
    There is no functionality change. The `AffinityAssistantPerPipelineRun` feature will be added in the follow up PRs.
    
    [tektoncd#6740]: tektoncd#6740
    [tep-0135]: https://github.com/tektoncd/community/blob/main/teps/0135-coscheduling-pipelinerun-pods.md
    QuanZhang-William committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    eba52e6 View commit details
    Browse the repository at this point in the history