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

connectivity: Introduce Cilium feature detection #998

Merged
merged 6 commits into from
Jul 29, 2022

Commits on Jul 28, 2022

  1. connectivity: Split out cilium pod initialization

    This fetches the Cilium pod information right after we initialized the
    client. This change should not have any functional changes, but allows
    future commits to access those Cilium pods early.
    
    Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
    gandro committed Jul 28, 2022
    Configuration menu
    Copy the full SHA
    488bbc9 View commit details
    Browse the repository at this point in the history
  2. connectivity: Add feature detection

    This commit adds Cilium feature detection to the Cilium connectivity
    test suite. Cilium features are things like L7 proxy status, chaining
    mode, flow aggregation mode etc. Because some features are dependent on
    run-time information like kernel versions, we prefer to collect the
    feature status from `cilium status` where available. Other features are
    currently detected by parsing the Cilium ConfigMap.
    
    The current code assumes that the detected feature set is consistent
    across all Cilium pods and clusters. If a discrepancy is detected, the
    current code simply emits a warning and assumes the feature set from the
    first Cilium pod probed.
    
    Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
    gandro committed Jul 28, 2022
    Configuration menu
    Copy the full SHA
    d564e22 View commit details
    Browse the repository at this point in the history
  3. connectivity: Use features to detect flow aggregation

    This commit switches the flow aggregation detection to use the newly
    introduced Cilium feature set. This commit should introduce no
    functional changes.
    
    The flow aggregation log line is moved to a later stage ensure feature
    detection has been run before we print the status.
    
    Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
    gandro committed Jul 28, 2022
    Configuration menu
    Copy the full SHA
    d9a2389 View commit details
    Browse the repository at this point in the history
  4. connectivity: Introduce feature requirements

    This commit introduces a new function to the connectivity test framework
    to specify feature requirements for certain tests. All tests requiring
    the L7 proxy are updated to use the new requirements framework to skip
    those tests if the L7 proxy is not available.
    
    Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
    gandro committed Jul 28, 2022
    Configuration menu
    Copy the full SHA
    96e106c View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2022

  1. connectivity: add feature detection unit tests

    Testing (*FeatureSet).MatchRequirements for now.
    
    Adresses #998 (comment)
    
    Signed-off-by: Tobias Klauser <tobias@cilium.io>
    tklauser committed Jul 29, 2022
    Configuration menu
    Copy the full SHA
    73ec800 View commit details
    Browse the repository at this point in the history
  2. connectivity: debug log detected features

    This might be useful in CI to catch issues with feature detection.
    
    Signed-off-by: Tobias Klauser <tobias@cilium.io>
    tklauser committed Jul 29, 2022
    Configuration menu
    Copy the full SHA
    ea465b1 View commit details
    Browse the repository at this point in the history