My calico nodes are failing their ready check with the error
calico/node is not ready: BIRD is not ready: BGP not established with [list of all my ips]
The calico help page indicates that the easy thing to do here is
Check that BGP connectivity between the two peers is allowed in the environment.
I’m not clear how, exactly, I would confirm this. My environment is on an AWS snowball, so in principle it is similar to communicating between AWS instances, but everything is on a single piece of hardware.
All my nodes have the iptables rule
-A INPUT -s [subnet] -i ens3 -p tcp -m tcp --dport 179 -j ACCEPT, which should be opening up port 179, which calico documentation says is the proper port to open. Testing with a python echo server seems to indicate that communication between these two nodes is working.
One wrinkle is that each node has two IPs, on two different subnets. I’m trying to establish connection through one subnet, but BIRD is defaulting to a list of IPs from the second subnet. I don’t know if there’s a way to force BIRD to use my first subnet - should setting IP_AUTODETECTION_METHOD force this?
tl;dr - how can I confirm that my nodes have BGP connectivity?