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

Add test case for calico using etcd datastore #10722

Merged

Conversation

VannTen
Copy link
Contributor

@VannTen VannTen commented Dec 14, 2023

What type of PR is this?
/kind feature

What this PR does / why we need it:

To catch stuff like #10436

Special notes for your reviewer:
This should not be merged, this is to verify that current master fails with calico etcd.
#10438 should be rebased on top of this to check if does fix the failure.
/hold

Does this PR introduce a user-facing change?:

[Calico] etcd mode is now tested in CI

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Dec 14, 2023
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Dec 14, 2023
@VannTen VannTen force-pushed the ci/test_calico_etcd_datastore branch 2 times, most recently from 477c14f to 4a517d9 Compare December 14, 2023 15:26
@VannTen VannTen changed the title Add test case for calico using etcd datatstore Add test case for calico using etcd datastore Dec 14, 2023
@VannTen VannTen force-pushed the ci/test_calico_etcd_datastore branch from 4a517d9 to e94f4a6 Compare December 14, 2023 21:08
@VannTen
Copy link
Contributor Author

VannTen commented Dec 15, 2023

This was supposed to fail, damn it 😆 .

@olevitt what are the trigger conditions precisely ? Checking network connectivity between 2 pods on different nodes ?

@olevitt
Copy link
Contributor

olevitt commented Dec 15, 2023

The fail is that all calico-nodes get the same nodename (in my case it was the name of the first controlplane) resulting in every pod getting allocated in the same IP range, multiple pods getting the same IP resulting in many network connectivity issues.
Not sure what you can test or not in this kind if CI but maybe you can try one of those :

  • Every calico-node has the same nodename in their configuration (each should have a différent nodename). If needed you may check the instal-cni container log from the calico-node as it's the one responsible for determining the nodename IIRC
  • Spawning 2 pods in different nodes results in them getting allocated in the same IP range (note that this only applies to newly created pods, not existing pods at thé time of the upgrade)

@VannTen
Copy link
Contributor Author

VannTen commented Dec 15, 2023 via email

@VannTen VannTen force-pushed the ci/test_calico_etcd_datastore branch from e94f4a6 to 7b58222 Compare December 15, 2023 12:33
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 15, 2023
@VannTen VannTen force-pushed the ci/test_calico_etcd_datastore branch from 7b58222 to dbd152d Compare December 15, 2023 12:40
@VannTen
Copy link
Contributor Author

VannTen commented Dec 15, 2023

https://gitlab.com/kargo-ci/kubernetes-sigs-kubespray/-/jobs/5760969640 Yeah o/ think I got it.

@floryut wdyt of a new CI layout to catch that kind of stuff ? See the "Add multinode ci layout" commit

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 18, 2023
@VannTen VannTen force-pushed the ci/test_calico_etcd_datastore branch from dbd152d to ed33870 Compare December 19, 2023 09:29
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 19, 2023
@VannTen
Copy link
Contributor Author

VannTen commented Dec 19, 2023

/hold cancel
/cc @yankay
(for review to test the fix which just got in)

@k8s-ci-robot k8s-ci-robot requested a review from yankay December 19, 2023 09:45
@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 Dec 19, 2023
@yankay
Copy link
Member

yankay commented Dec 20, 2023

/hold cancel /cc @yankay (for review to test the fix which just got in)

Thanks @VannTen
Very nice test case 🎉🎉🎉

/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 20, 2023
Copy link
Contributor

@mzaian mzaian left a comment

Choose a reason for hiding this comment

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

Thanks @VannTen
/lgtm

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mzaian, VannTen, yankay

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 merged commit 243ca5d into kubernetes-sigs:master Dec 20, 2023
65 checks passed
@floryut floryut added kind/network Network section in the release note and removed kind/feature Categorizes issue or PR as related to a new feature. labels Dec 21, 2023
VannTen added a commit to VannTen/kubespray that referenced this pull request Jan 4, 2024
* Add multinode ci layout

* Add test case for calico using etcd datastore
VannTen added a commit to VannTen/kubespray that referenced this pull request Jan 11, 2024
* Add multinode ci layout

* Add test case for calico using etcd datastore
k8s-ci-robot pushed a commit that referenced this pull request Jan 12, 2024
* CI: Document the 'all-in-one' layout + small refactoring (#10725)

* Rename aio to all-in-one and document it

ADTM.
Acronyms don't tell much.

* Refactor vm_count in tests provisioning

* Add test case for calico using etcd datastore (#10722)

* Add multinode ci layout

* Add test case for calico using etcd datastore

* Fix calico-node in etcd mode (#10438)

* Calico : add ETCD endpoints to install-cni container

* Calico : remove nodename from configmap in etcd mode

---------

Co-authored-by: Olivier Levitt <[email protected]>
pedro-peter pushed a commit to pedro-peter/kubespray that referenced this pull request May 8, 2024
* Add multinode ci layout

* Add test case for calico using etcd datastore
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. kind/network Network section in the release note lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants