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

OCPBUGS-28819: Support Permanent Session Affinity #2046

Merged
merged 4 commits into from
Feb 15, 2024

Commits on Feb 8, 2024

  1. Support permanent session affinity

    OVN drops the first packet from a given client
    for every new session which is undesirable and
    a regression compared to how SDN behaves (it can
    be argued that this is an implementation detail
    but ultimately users want same behaviour and no
    drops). This is a complicated fix and will take
    time.
    The OVN fix will take time and in K8s there is no
    affinity without a timeout unfortunately. So in
    OVNKube we will introduce permanent session affinity
    as an alternative. Hence if user sets 86000 which is
    the highest timeout value it would mean no timeout.
    This is not how the K8s definition works, this will be
    an ovnkube implementation detail.
    There is no harm in changing what a 1 day timeout means
    from it being a day to it being infinite affinity because
    either ways OVN only supports upto 18hours of timeout value
    max (UINT_MAX). So currently range 18-24 is not used and
    is configured as 18 itself in OVN.
    So from this change forward, if timeout is set to 86000
    by the user, they will get permanent session affinity.
    
    Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
    (cherry picked from commit 88a5140)
    (cherry picked from commit 85e3fdf)
    tssurya committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    5daa77d View commit details
    Browse the repository at this point in the history
  2. Vendor in the files from k8s

    Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
    (cherry picked from commit 28984e5)
    (cherry picked from commit 1759d33)
    tssurya committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    4d92442 View commit details
    Browse the repository at this point in the history
  3. Add UTs for session affinity config's

    Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
    (cherry picked from commit de0cd0e)
    (cherry picked from commit 86a0457)
    tssurya committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    a273640 View commit details
    Browse the repository at this point in the history
  4. Run go mod vendor && go mod tidy

    Since we are cherry-picking packaged library rerunning
    go mod vendor and tidy on latest
    
    Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
    tssurya committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    3e6cc2a View commit details
    Browse the repository at this point in the history