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
use KIND multinode cluster , add IPv6 support, fix multus webook problem #663
Conversation
a08d8be
to
0a06493
Compare
/assign @trozet @dcbw @danwinship Please bear in mind that my knowledge of the cluster-network-operator and openshift is minimum, so maybe some of the changes I added to the doc/script does not make sense in that context. |
/retest |
Ah, so you're deploying a vanilla kubernetes / KIND cluster and running the CNO on it? Neat. But tricky. It mostly works, because the CNO needs to deploy the core networking functionality before the openshift-specific components of the cluster are running. This means we need to have a two-phase rollout in place - first the deployable set of components, then wait, then deploy the rest. In reality we're not that clever - instead, we just step over failures and set our status to Deploying until it all resolves. So you're seeing the consequences of that decision: CNO + kind works enough to get the network up, but can't ever run to completion. It wants things like monitoring and the service-serving-cert. So, is it worth implementing enough of the openshift functionality so that we can continue? I'm not sure; it's a lot of work. Probably better to just say "it will give you basic functionality, but don't expect everything". |
Note that this already exists; @trozet did the initial implementation a while back. This is just an update to what's already there. |
The issue is that when you start CNO in a pod, kubelet will tell it |
/hold need to fix this #663 (comment) |
aafd68a
to
dde38c3
Compare
/hold cancel it works for IPv4, tested running e2e tests against the KIND cluster |
and it works with IPv6 only clusters:
|
/retest |
/retest |
/retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to get things up and running with BUILD_OVN=true BUILD_CNO=true ./ovn-kind-cno.sh
.
I ran into issues when not building CNO with the options BUILD_OVN=true ./ovn-kind-cno.sh
(also had to add the $CNO_POD
back in to get this option to run):
Creating "cluster-config-v1" configMap with 1 master nodes
configmap/cluster-config-v1 created
Creating OVN CNO config
network.config.openshift.io/cluster created
Sym-linking cni dirs for node 9ef04a9e4197
Sym-linking cni dirs for node 24402e252cbf
Sym-linking cni dirs for node 93a200121f79
pod/ovs-node-dgsbq condition met
pod/ovs-node-jgdrx condition met
pod/ovs-node-nvnks condition met
timed out waiting for the condition on pods/ovnkube-master-8khjb
timed out waiting for the condition on pods/ovnkube-node-h89h5
timed out waiting for the condition on pods/ovnkube-node-krhdv
timed out waiting for the condition on pods/ovnkube-node-xtblf
OVN-k8s pods are not running
Logs at https://gist.github.com/nerdalert/451896250569e0852e28a907a35198d7
Thanks for this. I'm going to poke around on getting hybrid overlay enabled. Ty!
@nerdalert if you are working on this, feel free to reuse the parts that are valid of this PR and send everything consolidated in one PR. |
for networking development and testing, using single node environments hide a big part of the problems. We should use multinode by defalt if possible. Another improvements: * the apiserver autodiscovers the API address, so we don't need to pass the kubeconfig * fix multus webook problem * bump KIND version to 0.8.1 * allow to run IPv6 only clusters * use kubectl wait instead of bash loops Signed-off-by: Antonio Ojea <aojea@redhat.com>
Still stumped on why LGTM with the caveat I don't know enough about Multus to say if its good to go there or not. Ty! |
/retest |
same here, but if the images are different maybe the one that is used when is not built is outdated
great |
/retest |
/test e2e-vsphere |
this job ci/prow/e2e-vsphere — Job failed. NEVER succeded 🙃 |
/lgtm |
if it's not required it doesn't need to be overridden /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aojea, danwinship, juanluisvaladas 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 |
/retest Please review the full test history for this PR and help us cut down flakes. |
8 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
@aojea: The following test failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
for networking development and testing, using single node
environments mask a big part of the problems.
We should use multinode by default if possible.
Another improvements:
the apiserver autodiscovers the API address, so we don't
need to pass the kubeconfig
fix multus webook problem
bump KIND version to 0.8.1
allow to configure IPv6 environments
use kubectl wait instead of bash loops