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

Applier manager improvements #5062

Merged
merged 7 commits into from
Oct 29, 2024

Commits on Oct 1, 2024

  1. The stacks don't need to be stored in the manager struct

    The map is only ever used in the loop to create and remove stacks, so it
    doesn't need to be stored in the struct. This ensures that there can't
    be any racy concurrent accesses to it.
    
    Signed-off-by: Tom Wieczorek <[email protected]>
    twz123 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    ba547ed View commit details
    Browse the repository at this point in the history
  2. Don't check for closed watch channels

    The only reason these channels get closed is if the watcher itself gets
    closed. This happens only when the method returns, which in turn only
    happens when the context is done. In this case, the loop has already
    exited without a select on a potentially closed channel. So the branches
    that checked for closed channels were effectively unreachable during
    runtime.
    
    Signed-off-by: Tom Wieczorek <[email protected]>
    twz123 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    db5e0d2 View commit details
    Browse the repository at this point in the history
  3. Wait for goroutines to exit in applier manager

    Rename cancelWatcher to stop and wait until the newly added stopped
    channel is closed. Also, add a stopped channel to each stack to do the
    same for each stack-specific goroutine.
    
    Signed-off-by: Tom Wieczorek <[email protected]>
    twz123 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    402c728 View commit details
    Browse the repository at this point in the history
  4. Improve logging in applier manager

    Cancel the contexts with a cause. Add this cause to the log statements
    when exiting loops. Rename bundlePath to bundleDir to reflect the fact
    that it is a directory, not a file.
    
    Signed-off-by: Tom Wieczorek <[email protected]>
    twz123 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    edb105c View commit details
    Browse the repository at this point in the history
  5. Restart applier manager watch loop on errors

    Exit the loop on error and restart it after a one-minute delay to allow
    it to recover in a new run. Also replace the bespoke retry loop for
    stacks with the Kubernetes client's wait package.
    
    Signed-off-by: Tom Wieczorek <[email protected]>
    twz123 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    404c6cf View commit details
    Browse the repository at this point in the history
  6. Remove unused applier field from applier manager

    Seems to be a remnant from the past.
    
    Signed-off-by: Tom Wieczorek <[email protected]>
    twz123 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    c2beea7 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. chore: add applier manager test

    Signed-off-by: Ethan Mosbaugh <[email protected]>
    emosbaugh committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    11b3197 View commit details
    Browse the repository at this point in the history