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

To support creating multiple docker bridges for multiple kind job runs #6020

Open
Tracked by #6446
rajnkamr opened this issue Feb 22, 2024 · 4 comments
Open
Tracked by #6446
Assignees
Labels
area/test/infra Issues or PRs related to test infrastructure (Jenkins configuration, Ansible playbook, Kind wrappers area/test/jenkins Issue about jenkins setup code kind/design Categorizes issue or PR as related to design. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@rajnkamr
Copy link
Contributor

rajnkamr commented Feb 22, 2024

Describe what you are trying to solve

Currently, a single Docker bridge is created for each Kind CI job. However, when running multiple Kind jobs on the same test bed, it's crucial to ensure that each Kind cluster (or specific job) operates on its own dedicated Docker bridge network. This approach is especially important for tests that require network isolation, such as those involving IPAM (IP Address Management) or Egress configurations, where the networking environment must be segregated to prevent interference between tests. By using dedicated Docker bridge networks for each Kind cluster, we can maintain network isolation, ensure test reliability, and avoid potential conflicts between tests that modify network settings.

Describe the solution you have in mind

For supporting multiple egress tests on same kind test beds running in parallel we need to create multiple docker bridges like below

br-9bb19d1.11@br-9bb19d1d4e07: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
br-9bb19d1.12@br-9bb19d1d4e07: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
br-9bb19d1d4e07: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:a0:48:de:ad brd ff:ff:ff:ff:ff:ff
br-9bb19d1.11@br-9bb19d1d4e0x: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
br-9bb19d1.12@br-9bb19d1d4e0x: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
br-9bb19d1d4e0x: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:a0:48:de:ad brd ff:ff:ff:ff:ff:ff

Describe how your solution impacts user flows

N/A
Describe the main design/architecture of your solution

Change docker bridge creation in kind CI scripts
Alternative solutions that you considered

N/A
Test plan

Run multiple egress jobs on a single kind test bed
Additional context

#5734
#6468
#6446

@rajnkamr rajnkamr added kind/design Categorizes issue or PR as related to design. area/test/infra Issues or PRs related to test infrastructure (Jenkins configuration, Ansible playbook, Kind wrappers area/test/jenkins Issue about jenkins setup code labels Feb 22, 2024
@tnqn
Copy link
Member

tnqn commented Feb 22, 2024

I don't quite get the goal and the approach. What do you mean by "multiple docker bridges"? I see only one bridge in the output under "Describe the solution you have in mind".

And if you actually mean multiple clusters on single bridge, can multiple clusters just share the same vlan interface? I don't see why there must be one interface for each job.

@rajnkamr
Copy link
Contributor Author

rajnkamr commented Feb 22, 2024

I don't quite get the goal and the approach. What do you mean by "multiple docker bridges"? I see only one bridge in the output under "Describe the solution you have in mind".

And if you actually mean multiple clusters on single bridge, can multiple clusters just share the same vlan interface? I don't see why there must be one interface for each job.

Edited with multiple bridges( Had added one bridge as a sample ).
Multiple jobs needs to run independent of each other, Meant in case of multiple clusters, for this reason we need multiple docker bridges as the bridges needs to be created with each new kind egress job run and will be cleaned up after job is ended/terminated, hence each job need to create/delete their own docker network.

Copy link
Contributor

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 23, 2024
@rajnkamr rajnkamr changed the title To support creating multiple docker bridges for multiple egress kind job runs To support creating multiple docker bridges multiple kind job runs Jul 25, 2024
@github-actions github-actions bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 26, 2024
@rajnkamr rajnkamr added this to the Antrea v2.3 release milestone Sep 10, 2024
@rajnkamr rajnkamr assigned jainpulkit22 and unassigned KMAnju-2021 Sep 10, 2024
Copy link
Contributor

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days. You can add a label "lifecycle/frozen" to skip stale checking.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 10, 2024
@rajnkamr rajnkamr removed this from the Antrea v2.3 release milestone Dec 26, 2024
@rajnkamr rajnkamr added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 26, 2024
@rajnkamr rajnkamr changed the title To support creating multiple docker bridges multiple kind job runs To support creating multiple docker bridges for multiple kind job runs Dec 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/test/infra Issues or PRs related to test infrastructure (Jenkins configuration, Ansible playbook, Kind wrappers area/test/jenkins Issue about jenkins setup code kind/design Categorizes issue or PR as related to design. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

4 participants