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

Merge the complete Calico codebase to its new home #5181

Merged
merged 10,000 commits into from
Dec 14, 2021
Merged

Conversation

caseydavenport
Copy link
Member

Description

This PR merges in the entirety of the Calico codebase to this repository as part of ongoing improvements to developer experience. This is just the first step! Expect lots more to come.

The previous split-repos will be deprecated starting with branch release-v3.20 onward. All new PRs should be raised against this repository.

Related issues/PRs

Todos

  • Tests
  • Documentation
  • Release note

Release Note

None required

marvin-tigera and others added 30 commits November 5, 2021 17:50
…-master

[master] Semaphore Auto Pin Update
bpf/fv: affinity cleaned up after service/backend gone
Without CTLB NAT decision is made by the first packet and the
decision is then inderited by the follow up packets from conntrack until
the conntrack entry expires. Connected CTLB makes the decision only once
at connect time. CTLB for unconnected protocols was making a NAT
decision for each sendmsg() call, therefore packets from a single socket
were sprayed across all possible backends of a service. That is not
desirable as applications usually expect that subsequent packets sent to
the same destination end up at the same destination. Breaking that
assumption  may have performance or correctness impact.

Since CTLB does not store NAT information in conntrack (as it sees only
the final destination), we mimic the same behaviour by enforcing
affinity. We set the affinity timeout to 60s which is the default for
UDP not seen when cleaning conntrack. Since we update the affinity
timer for each sendmsg, its expiration behaves the same as conntrack
cleaning.
IPAM GC now spots when two IPs have the same handle
bpf: enforce affinity for unconnected UDP with CTLB
…-master

[master] Semaphore Auto Pin Update
We may hit a race when backends are not programmed yet and if we let
TCP connect succeed, a SYN from pod will hit NAT in tc program, which
does not work in all cases. It would not work for host at all until the
TCP session expired and application retries.

This also makes it aligned with tc programs that generate ICMP response
host-unreachable in such a situation.

Connect returns EPERM in this case and application may retry immediately.
…-master

[master] Semaphore Auto Pin Update
Increase node patch timeout for shutdown
…master

[master] Semaphore Auto Pin Update
Restrict Typha server to FIPS compliant cipher suites
…-master

[master] Semaphore Auto Pin Update
…s-master

[master] Semaphore Auto Pin Update
…-master

[master] Semaphore Auto Pin Update
    To see the pre-monorepo history follow commit 8a8f38d.
    To see the pre-monorepo history follow commit 2bb0be7.
    To see the pre-monorepo history follow commit 6a5131a.
    To see the pre-monorepo history follow commit 3675ca9.
    To see the pre-monorepo history follow commit 7182823.
    To see the pre-monorepo history follow commit 81a977f.
    To see the pre-monorepo history follow commit 757e73a.
- calico: dea827d
- node: d76bd59
- felix: 6b0352c
- typha: bda297c
- calicoctl: ba79e64
- cni-plugin: 8f95bd5
- libcalico-go: 8a5a2de
- pod2daemon: 544668c
- app-policy: 8c08b4d
- kube-controllers: ee5a102
- confd: d1b7d31
- networking-calico: ace068c
- apiserver: ddf4407
- api: 2d07445
Copy link
Member

@matthewdupre matthewdupre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I definitely read this whole PR

@caseydavenport
Copy link
Member Author

@matthewdupre if anything at all goes wrong here I am placing all of the blame on you 😁

@caseydavenport caseydavenport merged commit 79b442a into master Dec 14, 2021
@caseydavenport caseydavenport deleted the monorepo-master branch December 14, 2021 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact
Projects
None yet
Development

Successfully merging this pull request may close these issues.