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

Print errors from individual containers in pods #6846

Merged
merged 1 commit into from
Jul 6, 2020

Commits on Jul 2, 2020

  1. Print errors from individual containers in pods

    The infra/abi code for pods was written in a flawed way, assuming
    that the map[string]error containing individual container errors
    was only set when the global error for the pod function was nil;
    that is not accurate, and we are actually *guaranteed* to set the
    global error when any individual container errors. Thus, we'd
    never actually include individual container errors, because the
    infra code assumed that err being set meant everything failed and
    no container operations were attempted.
    
    We were originally setting the cause of the error to something
    nonsensical ("container already exists"), so I made a new error
    indicating that some containers in the pod failed. We can then
    ignore that error when building the report on the pod operation
    and actually return errors from individual containers.
    
    Unfortunately, this exposed another weakness of the infra code,
    which was discarding the container IDs. Errors from individual
    containers are not guaranteed to identify which container they
    came from, hence the use of map[string]error in the Pod API
    functions. Rather than restructuring the structs we return from
    pkg/infra, I just wrapped the returned errors with a message
    including the ID of the container.
    
    Signed-off-by: Matthew Heon <matthew.heon@pm.me>
    mheon committed Jul 2, 2020
    Configuration menu
    Copy the full SHA
    e996bb5 View commit details
    Browse the repository at this point in the history