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

Update Calico to v3.16.0 for k8s 1.16+ #9829

Merged
merged 2 commits into from
Sep 3, 2020

Conversation

hakman
Copy link
Member

@hakman hakman commented Aug 28, 2020

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 28, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hakman

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added area/addons approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Aug 28, 2020
@hakman
Copy link
Member Author

hakman commented Aug 28, 2020

/retest

Comment on lines +469 to +477
awsSrcDstCheck:
description: 'Set source-destination-check on AWS EC2 instances. Accepted
value must be one of "DoNothing", "Enabled" or "Disabled". [Default:
DoNothing]'
enum:
- DoNothing
- Enable
- Disable
type: string
Copy link
Member

Choose a reason for hiding this comment

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

Do we want to move the logic from

{{ if and (eq .CloudProvider "aws") (.Networking.Calico.CrossSubnet) -}}
for installing the k8s-ec2-srcdst pod to here as this is now the supported path?

I think allowing users to enable this will require them to add permissions to worker nodes as we currently only give the required ec2:ModifyInstanceAttribute permissions to masters, at a minimum I think we need to add something to the docs, and make clear that enabling this alongside the existing logic for installing k8s-ec2-srcdst is an untested path.

Copy link
Member Author

@hakman hakman Aug 28, 2020

Choose a reason for hiding this comment

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

Yes, we do, and also enable WireGuard. But best to do it in some follow-up PRs. k8s-ec2-srcdst would be removed completely. No reason to have both, I guess.

Copy link
Contributor

Choose a reason for hiding this comment

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

Does calico-node talk to the AWS API for this, or is it the calico-kube-controllers pod? If it's the latter, we could optionally confine it to run only on master nodes, and grant the IAM permissions only to the instance profile used by the masters.

[Time passes...]

It's part of Felix, and therefore part of calico-node.

@hakman
Copy link
Member Author

hakman commented Aug 28, 2020

@lwr20 I am a bit lost here and really puzzled about why I cannot make 3.16.0 work. Any idea what I am doing wrong? 😄

@fasaxc
Copy link

fasaxc commented Sep 1, 2020

@hakman is there a way to get the actual error that caused validation to fail?

@hakman
Copy link
Member Author

hakman commented Sep 1, 2020

@fasaxc I am not really sure where the issue comes from from. I also tried using https://docs.projectcalico.org/manifests/calico.yaml and still same issue.

You can find the logs of the master node from the test here:
https://gcsweb.k8s.io/gcs/kubernetes-jenkins/pr-logs/pull/kops/9829/pull-kops-e2e-cni-calico/1299270983718277120/artifacts/ip-172-20-39-18.ap-northeast-2.compute.internal/

@seh
Copy link
Contributor

seh commented Sep 1, 2020

Looking at the controller manager logs, I see lots of errors that match what I saw when I tried upgrading etcd directly from version 3.2.24 to version 3.4.3.

@hakman
Copy link
Member Author

hakman commented Sep 2, 2020

@seh I got some help from @fasaxc and tracked the issue to projectcalico/cni-plugin#942.
Looks like the pre-release calico/cni:v3.16.0-2-gf6793aa image addresses the issue and the tests can run now.

Thanks again for all your help @fasaxc :).

@hakman
Copy link
Member Author

hakman commented Sep 2, 2020

/hold to decide if should be merge with patch to wait for v3.16.1.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 2, 2020
@hakman
Copy link
Member Author

hakman commented Sep 2, 2020

Works pretty well to use during the net few weeks until a new release is available.
/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 2, 2020
@olemarkus
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 3, 2020
@k8s-ci-robot k8s-ci-robot merged commit 7083a9a into kubernetes:master Sep 3, 2020
@k8s-ci-robot k8s-ci-robot added this to the v1.19 milestone Sep 3, 2020
@hakman hakman deleted the calico-3.16.0 branch September 3, 2020 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/addons cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants