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

nodes failed to create tap [multiple networks] #2533

Open
Omarabdul3ziz opened this issue Feb 10, 2025 · 6 comments
Open

nodes failed to create tap [multiple networks] #2533

Omarabdul3ziz opened this issue Feb 10, 2025 · 6 comments
Assignees
Labels
type_bug Something isn't working

Comments

@Omarabdul3ziz
Copy link
Contributor

Omarabdul3ziz commented Feb 10, 2025

it was reported that node 11 on dev net couldn't provision a deployment due to a limit on tap devices. it is not happening now. but worth checking.

@0oM4R
Copy link

0oM4R commented Feb 10, 2025

@sameh-farouk
Copy link
Member

I noticed that behavior on node 1 too (main net)

2025-02-11 09:30:19	
[+] provisiond: 2025-02-11T08:30:19Z error failed to deploy workload error="could not set up tap device: could not set tap master: exchange full" deployment=837572 name=vm_pulumi twin=10972 type=zmachine

@sameh-farouk sameh-farouk changed the title node 11 failed to create tap dev nodes failed to create tap [multiple networks] Feb 11, 2025
@AhmedHanafy725
Copy link
Collaborator

also, it happens on qanet node 2

@scottyeager
Copy link

I saw the same on mainnet node 1 today as well.

@Omarabdul3ziz Omarabdul3ziz self-assigned this Mar 9, 2025
@Omarabdul3ziz Omarabdul3ziz added the type_bug Something isn't working label Mar 9, 2025
@Omarabdul3ziz Omarabdul3ziz moved this to Pending Review in 3.16.x Mar 9, 2025
@Omarabdul3ziz
Copy link
Contributor Author

Omarabdul3ziz commented Mar 10, 2025

during VM deprovisioning either ygg or myc was being deleted, as both were previously considered "Planetry" this led to the br-ygg bridge on some nodes accumulating a large number of unused interfaces, eventually reaching the limit of 1024 interfaces.

For example on node dev:11

~ # brctl show br-ygg | wc -l
1024

found articles referring to linux bridges have a hard limit of 2^10 = 1024 interfaces, as referenced in br_private.h. when this limit is reached, it results in exchange full and the value is not configurable

as a fix:

  • modified the deprovisioning code to delete both ygg/myc when either is found
  • run a method at networkd startup to clean unused tap devices

@Omarabdul3ziz
Copy link
Contributor Author

verified on dev net nodes 11,14

  • by deploying vm with both nodes with ygg/myc
  • catching the update on both nodes
  • all other interfaces besides the test vms was deleted
  • the vm interfaces still there and accessible

Now node dev:11

~ # brctl show br-ygg | wc -l
4

and

Image
this shows

  • which network id node have for my contract
  • all the bridges/interfaces related to this network id (before i cancel my deployment)
  • after canceling all are deleted

@Omarabdul3ziz Omarabdul3ziz moved this from Pending Review to In Verification in 3.16.x Mar 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type_bug Something isn't working
Projects
Status: In Verification
Development

No branches or pull requests

5 participants