I am unable to recreate this mishap, but I figured it's worth posting about in case anyone else has a "it worked a second ago"
I have cluster, with a handful of evpn zones, and an external bgp neighbor. Everything was great for months, until I made some changes to a few vnets, applied my changes and noticed all external routing stopped. (Routing within a zone was fine.) My external switch was still a bgp neighbor, but nothing could get in nor out. Tracing the route shows it would hit the gateway and just stop. From internal out, it would hit the vnet gateway and stop. Removing my vnet changes and re-applying made no difference. The SDN status page also showed everything was 'ok' and all zones were available.
It wasn't until I did an
The sdn file within the nested interfaces.d dir had an older version number and my previous configuration while the sdn file in the parent interfaces.d dir was what it should be running. The files also had different permissions:
Looks like the correct permissions for the sdn file is 755, based on my other nodes. So I copied the newer verison sdn file to the parent interfaces.d dir, changed the permissions and deleted the nested directory. After that, re-applied the sdn and just because, did an
I'm ASSUMING, the nested directory is mimicking a "running config" at the root and "modified config" in the nested dir. And when the SDN configuration is applied, the modifid config is copied to the root level, deleting the nested dir. But somewhere along that save state it hung up, without an error....at least from what I can tell. This seems to be a one off case, but I have no idea why it occurred
I have cluster, with a handful of evpn zones, and an external bgp neighbor. Everything was great for months, until I made some changes to a few vnets, applied my changes and noticed all external routing stopped. (Routing within a zone was fine.) My external switch was still a bgp neighbor, but nothing could get in nor out. Tracing the route shows it would hit the gateway and just stop. From internal out, it would hit the vnet gateway and stop. Removing my vnet changes and re-applying made no difference. The SDN status page also showed everything was 'ok' and all zones were available.
It wasn't until I did an
ifreload -a where I saw the error; warning: error processing file /etc/network/interfaces.d/interfaces.d ([Errno 21] Is a directory: '/etc/network/interfaces.d/interfaces.d') This warning only occurred on the node I have selected as an exit node in each zone.The sdn file within the nested interfaces.d dir had an older version number and my previous configuration while the sdn file in the parent interfaces.d dir was what it should be running. The files also had different permissions:
Code:
interfaces.d/ (755)
.... sdn (644)
interfaces.d/ (755)
.... sdn (755)
Looks like the correct permissions for the sdn file is 755, based on my other nodes. So I copied the newer verison sdn file to the parent interfaces.d dir, changed the permissions and deleted the nested directory. After that, re-applied the sdn and just because, did an
ifreload -a. I can now externally route again.I'm ASSUMING, the nested directory is mimicking a "running config" at the root and "modified config" in the nested dir. And when the SDN configuration is applied, the modifid config is copied to the root level, deleting the nested dir. But somewhere along that save state it hung up, without an error....at least from what I can tell. This seems to be a one off case, but I have no idea why it occurred