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

Canal v3 #5927

Merged
merged 7 commits into from
Oct 15, 2018
Merged

Canal v3 #5927

merged 7 commits into from
Oct 15, 2018

Conversation

gambol99
Copy link
Contributor

@gambol99 gambol99 commented Oct 12, 2018

  • Adding the manifests for kubernetes >=1.9 to move to canal version 3.2.3. Admittedly I don't like the fact the users are unable to override or select the version of canal they wish to use, but as none of the networking specs have this feature so i'm reluctant to add it. The PR upgrades kops cluster running kubernetes >=1.9.0 to canal v3.2.3
  • adding a check to ensure you cant upgrade with ipvs mode to canal v3.2.3
  • removing the need for CALICO_IPV4POOL_CIDR environment variable

Tested as working from an upgrade from v2.6.7 ... but needs additional confirmations? ..

Adding the manifests for kubernetes >=1.9 to move to canal version 3.2.3. Admittedly I don't like the fact the users are unable to override or select the version of canal they wish to use, but as none of the networking spec have this feature i'm reluctant to add it. The PR upgrades kops cluster running kubernetes >=1.9.0 to canal v3.2.3
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 12, 2018
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 12, 2018
@gambol99
Copy link
Contributor Author

/assign @KashifSaadat
/assign @justinsb

// https://docs.projectcalico.org/v3.2/getting-started/kubernetes/requirements
if c.Spec.KubeProxy.ProxyMode == "ipvs" {
if kubernetesRelease.LT(semver.MustParse("1.9.3")) {
// @NOTE: i'm not sure about this one, it could block someone from upgrading i.e. running 1.9.2 + canal + with pre GA ipvs .. perhaps drop?
Copy link
Contributor

@KashifSaadat KashifSaadat Oct 12, 2018

Choose a reason for hiding this comment

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

It's probably better to update the bootstrapchannelbuilder for Canal v3 to only apply on K8s v1.9.3+ and leave the v2.6 deployment to k8s versions below that (KubernetesVersion: ">=1.9.3") . You can then drop the validation code here and users upgrading with ipvs mode shouldn't be blocked.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep... that must so much more sense!

Copy link
Contributor

@KashifSaadat KashifSaadat left a comment

Choose a reason for hiding this comment

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

Thanks this is looking great, and nice to have v3 in finally :)

I've left a couple small comments, but other than that if you've validated the upgrade process from v2.6 to v3+ then LGTM :) Would be good to have another set of eyes over the change.

…the check in validation due to blocking, or locking the version to 1.9.3, as they might not be using ipvs anyway. I'm gonna leave it for another PR or perhaps leave kube admins to decide for now
Copy link
Contributor

@ese ese left a comment

Choose a reason for hiding this comment

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

GA apiversions instead deprecated betas. apart it LGTM

# as the Calico CNI plugins and network config on
# each master and worker node in a Kubernetes cluster.
kind: DaemonSet
apiVersion: extensions/v1beta1
Copy link
Contributor

Choose a reason for hiding this comment

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

apps/v1 since kubernetes 1.9. prior are deprecated

---

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
Copy link
Contributor

Choose a reason for hiding this comment

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

rbac.authorization.k8s.io/v1

# Flannel roles
# Pulled from https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel-rbac.yml
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
Copy link
Contributor

Choose a reason for hiding this comment

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

rbac.authorization.k8s.io/v1


# Bind the flannel ClusterRole to the canal ServiceAccount.
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
Copy link
Contributor

Choose a reason for hiding this comment

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

rbac.authorization.k8s.io/v1

---

# Bind the ClusterRole to the canal ServiceAccount.
apiVersion: rbac.authorization.k8s.io/v1beta1
Copy link
Contributor

Choose a reason for hiding this comment

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

rbac.authorization.k8s.io/v1

@gambol99
Copy link
Contributor Author

gambol99 commented Oct 12, 2018

fixed up the api versions .. many thanks @ese :-)

@gambol99
Copy link
Contributor Author

/hold

@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 Oct 12, 2018
@gambol99
Copy link
Contributor Author

/hold cancel
This one should be good to go now :-) ..

@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 Oct 12, 2018
@gambol99
Copy link
Contributor Author

@KashifSaadat .. done :-)

@KashifSaadat
Copy link
Contributor

Awesome, thanks @gambol99 !

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 15, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gambol99, KashifSaadat

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:
  • OWNERS [KashifSaadat,gambol99]

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 merged commit 09654b1 into kubernetes:master Oct 15, 2018
@gambol99 gambol99 deleted the canal_v3 branch October 15, 2018 10:38
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. 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/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants