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

Update/Delete/Update didn't work if same names are passed #1285

Closed
haiodo opened this issue Apr 12, 2019 · 3 comments
Closed

Update/Delete/Update didn't work if same names are passed #1285

haiodo opened this issue Apr 12, 2019 · 3 comments
Assignees

Comments

@haiodo
Copy link

haiodo commented Apr 12, 2019

Steps performed:

  1. Create Connection between source/destination.
  2. Let destination die, namespace is not available anymore.
  3. Request Delete on vpp-agent with connection information passed, got error in logs.
  4. Request new Connection betwrrn source and new destination but use same interface names.
  5. Expect to see connection created but receive error.
time="2019-04-12 17:38:14.97837" level=error msg="failed to get link for interface veth-1649917878: Link not found" loc="descriptor/interface_veth.go(71)" logger=linux-ifplugin.if-descriptor

More details with logs:

1. Init connection between two pods in kubernetes (source/destination):

Update with following Config Object:

vpp_config:<interfaces:<name:\"SRC-1\" type:AF_PACKET enabled:true afpacket:<host_if_name:\"SRC-1-veth\" > > interfaces:<name:\"DST-1\" type:AF_PACKET enabled:true afpacket:<host_if_name:\"DST-1-veth\" > > xconnect_pairs:<receive_interface:\"SRC-1\" transmit_interface:\"DST-1\" > xconnect_pairs:<receive_interface:\"DST-1\" transmit_interface:\"SRC-1\" > > linux_config:<interfaces:<name:\"SRC-1-veth\" type:VETH host_if_name:\"SRC-1-veth\" enabled:true ip_addresses:\"10.20.1.1/30\" veth:<peer_if_name:\"SRC-1\" > > interfaces:<name:\"SRC-1\" type:VETH namespace:<type:FD reference:\"/proc/85977/ns/net\" > host_if_name:\"nsm\" enabled:true ip_addresses:\"10.20.1.1/30\" veth:<peer_if_name:\"SRC-1-veth\" > > interfaces:<name:\"DST-1-veth\" type:VETH host_if_name:\"DST-1-veth\" enabled:true ip_addresses:\"10.20.1.2/30\" veth:<peer_if_name:\"DST-1\" > > interfaces:<name:\"DST-1\" type:VETH namespace:<type:FD reference:\"/proc/85844/ns/net\" > host_if_name:\"nsmXEhBAHC5Y\" enabled:true ip_addresses:\"10.20.1.2/30\" veth:<peer_if_name:\"DST-1-veth\" > > arp_entries:<interface:\"SRC-1\" ip_address:\"10.40.1.135\" hw_address:\"0a:58:0a:28:01:87\" > arp_entries:<interface:\"SRC-1\" ip_address:\"fe80::d892:1bff:fe75:a2c3\" hw_address:\"0a:58:0a:28:01:87\" > routes:<outgoing_interface:\"SRC-1\" scope:LINK dst_network:\"8.8.8.8/30\" > > "

Got following in vpp-agent logs:

+======================================================================================================================+
| Transaction #2                                                                                        NB Transaction |
+======================================================================================================================+
 * transaction arguments:
      - seq-num: 2
      - type: NB Transaction
      - values:
          - key: config/linux/interfaces/v2/interface/DST-1
            val: { name:"DST-1" type:VETH namespace:<type:FD reference:"/proc/85844/ns/net" > host_if_name:"nsmXEhBAHC5Y" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1-veth" >  }
          - key: config/linux/interfaces/v2/interface/DST-1-veth
            val: { name:"DST-1-veth" type:VETH host_if_name:"DST-1-veth" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1" >  }
          - key: config/linux/interfaces/v2/interface/SRC-1
            val: { name:"SRC-1" type:VETH namespace:<type:FD reference:"/proc/85977/ns/net" > host_if_name:"nsm" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1-veth" >  }
          - key: config/linux/interfaces/v2/interface/SRC-1-veth
            val: { name:"SRC-1-veth" type:VETH host_if_name:"SRC-1-veth" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1" >  }
          - key: config/linux/l3/v2/arp/SRC-1/10.40.1.135
            val: { interface:"SRC-1" ip_address:"10.40.1.135" hw_address:"0a:58:0a:28:01:87"  }
          - key: config/linux/l3/v2/arp/SRC-1/fe80::d892:1bff:fe75:a2c3
            val: { interface:"SRC-1" ip_address:"fe80::d892:1bff:fe75:a2c3" hw_address:"0a:58:0a:28:01:87"  }
          - key: config/linux/l3/v2/route/8.8.8.8/30/SRC-1
            val: { outgoing_interface:"SRC-1" scope:LINK dst_network:"8.8.8.8/30"  }
          - key: config/vpp/l2/v2/xconnect/DST-1
            val: { receive_interface:"DST-1" transmit_interface:"SRC-1"  }
          - key: config/vpp/l2/v2/xconnect/SRC-1
            val: { receive_interface:"SRC-1" transmit_interface:"DST-1"  }
          - key: config/vpp/v2/interfaces/DST-1
            val: { name:"DST-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"DST-1-veth" >  }
          - key: config/vpp/v2/interfaces/SRC-1
            val: { name:"SRC-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"SRC-1-veth" >  }

2 Delete destination POD, send Cancel to vpp-agent.

Sending Delete with following Config object:

vpp_config:<interfaces:<name:\"SRC-1\" type:AF_PACKET enabled:true afpacket:<host_if_name:\"SRC-1-veth\" > > interfaces:<name:\"DST-1\" type:AF_PACKET enabled:true afpacket:<host_if_name:\"DST-1-veth\" > > xconnect_pairs:<receive_interface:\"SRC-1\" transmit_interface:\"DST-1\" > xconnect_pairs:<receive_interface:\"DST-1\" transmit_interface:\"SRC-1\" > > linux_config:<interfaces:<name:\"SRC-1-veth\" type:VETH host_if_name:\"SRC-1-veth\" enabled:true ip_addresses:\"10.20.1.1/30\" veth:<peer_if_name:\"SRC-1\" > > interfaces:<name:\"SRC-1\" type:VETH namespace:<type:FD reference:\"/proc/85977/ns/net\" > host_if_name:\"nsm\" enabled:true ip_addresses:\"10.20.1.1/30\" veth:<peer_if_name:\"SRC-1-veth\" > > interfaces:<name:\"DST-1-veth\" type:VETH host_if_name:\"DST-1-veth\" enabled:true ip_addresses:\"10.20.1.2/30\" veth:<peer_if_name:\"DST-1\" > > interfaces:<name:\"DST-1\" type:VETH namespace:<type:FD > host_if_name:\"nsmXEhBAHC5Y\" enabled:true ip_addresses:\"10.20.1.2/30\" veth:<peer_if_name:\"DST-1-veth\" > > arp_entries:<interface:\"SRC-1\" ip_address:\"10.40.1.135\" hw_address:\"0a:58:0a:28:01:87\" > arp_entries:<interface:\"SRC-1\" ip_address:\"fe80::d892:1bff:fe75:a2c3\" hw_address:\"0a:58:0a:28:01:87\" > routes:<outgoing_interface:\"SRC-1\" scope:LINK dst_network:\"8.8.8.8/30\" > > "

Got following in logs:

2019-04-12 17:38:14,749 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.74899" level=debug msg="Pushing data with 11 KV pairs (source: grpc)" loc="orchestrator/dispatcher.go(73)" logger=orchestrator.dispatcher

2019-04-12 17:38:14,749 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.74907" level=debug msg=" - DELETE: \"config/vpp/v2/interfaces/SRC-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74914" level=debug msg=" - DELETE: \"config/vpp/v2/interfaces/DST-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74920" level=debug msg=" - DELETE: \"config/vpp/l2/v2/xconnect/SRC-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74925" level=debug msg=" - DELETE: \"config/vpp/l2/v2/xconnect/DST-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74930" level=debug msg=" - DELETE: \"config/linux/interfaces/v2/interface/SRC-1-veth\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74936" level=debug msg=" - DELETE: \"config/linux/interfaces/v2/interface/SRC-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74941" level=debug msg=" - DELETE: \"config/linux/interfaces/v2/interface/DST-1-veth\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher

2019-04-12 17:38:14,749 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.74951" level=debug msg=" - DELETE: \"config/linux/interfaces/v2/interface/DST-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74960" level=debug msg=" - DELETE: \"config/linux/l3/v2/arp/SRC-1/10.40.1.135\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
time="2019-04-12 17:38:14.74967" level=debug msg=" - DELETE: \"config/linux/l3/v2/arp/SRC-1/fe80::d892:1bff:fe75:a2c3\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher

2019-04-12 17:38:14,750 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.74973" level=debug msg=" - DELETE: \"config/linux/l3/v2/route/8.8.8.8/30/SRC-1\"" loc="orchestrator/dispatcher.go(96)" logger=orchestrator.dispatcher
+======================================================================================================================+
| Transaction #6                                                                                        NB Transaction |
+======================================================================================================================+
  * transaction arguments:
      - seq-num: 6
      - type: NB Transaction
      - values:
          - key: config/linux/interfaces/v2/interface/DST-1
            val: <NIL>
          - key: config/linux/interfaces/v2/interface/DST-1-veth
            val: <NIL>
          - key: config/linux/interfaces/v2/interface/SRC-1
            val: <NIL>
          - key: config/linux/interfaces/v2/interface/SRC-1-veth
            val: <NIL>
          - key: config/linux/l3/v2/arp/SRC-1/10.40.1.135
            val: <NIL>
          - key: config/linux/l3/v2/arp/SRC-1/fe80::d892:1bff:fe75:a2c3
            val: <NIL>
          - key: config/linux/l3/v2/route/8.8.8.8/30/SRC-1
            val: <NIL>
          - key: config/vpp/l2/v2/xconnect/DST-1
            val: <NIL>
          - key: config/vpp/l2/v2/xconnect/SRC-1
            val: <NIL>
          - key: config/vpp/v2/interfaces/DST-1
            val: <NIL>
          - key: config/vpp/v2/interfaces/SRC-1
            val: <NIL>


2019-04-12 17:38:14,750 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.75036" level=error msg="failed to remove IP address 10.20.1.2/30 from linux interface DST-1-veth: Link not found" loc="descriptor/interface.go(417)" logger=linux-ifplugin.if-descriptor

2019-04-12 17:38:14,750 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.75062" level=error msg="failed to get or create namespace (type:FD reference:\"/proc/85844/ns/net\" ): failed to get file /proc/85844/ns/net from path: no such file or directory" loc="descriptor/interface.go(399)" logger=linux-ifplugin.if-descriptor

2019-04-12 17:38:14,790 DEBG 'vpp' stdout output:
/usr/bin/vpp[85783]: linux_epoll_file_update:120: epoll_ctl: Bad file descriptor (errno 9)

2019-04-12 17:38:14,803 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.80333" level=debug msg="publish del to ifplugin_ifstate{{SRC-1 true false vpp-interface-index} 0xc00025cea0}" loc="mem/inmemory_name_mapping.go(323)" logger=vpp-ifplugin.if-descriptor

2019-04-12 17:38:14,805 DEBG 'agent' stdout output:
o----------------------------------------------------------------------------------------------------------------------o
  * executed operations (2019-04-12 17:38:14.75 +0000 UTC -> 2019-04-12 17:38:14.804 +0000 UTC, dur: 54ms):
      1. DELETE [PROPERTY]:
          - key: linux/interface/address/DST-1/10.20.1.2/30
          - value: <EMPTY> 
      2. DELETE [PROPERTY]:
          - key: linux/interface/state/DST-1/UP
          - value: <EMPTY> 
      3. DELETE [PROPERTY]:
          - key: linux/interface/address/DST-1-veth/10.20.1.2/30
          - value: <EMPTY> 
      4. DELETE [PROPERTY]:
          - key: linux/interface/state/DST-1-veth/UP
          - value: <EMPTY> 
      5. DELETE [FAILED]:
          - key: config/linux/interfaces/v2/interface/DST-1-veth
          - value: { name:"DST-1-veth" type:VETH host_if_name:"DST-1-veth" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1" >  } 
          - error: failed to remove IP address 10.20.1.2/30 from linux interface DST-1-veth: Link not found
      6. DELETE [FAILED]:
          - key: config/linux/interfaces/v2/interface/DST-1
          - value: { name:"DST-1" type:VETH namespace:<type:FD reference:"/proc/85844/ns/net" > host_if_name:"nsmXEhBAHC5Y" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1-veth" >  } 
          - error: failed to get or create namespace (type:FD reference:"/proc/85844/ns/net" ): failed to get file /proc/85844/ns/net from path: no such file or directory
      7. DELETE:
          - key: config/linux/l3/v2/arp/SRC-1/10.40.1.135
          - value: { interface:"SRC-1" ip_address:"10.40.1.135" hw_address:"0a:58:0a:28:01:87"  } 
      8. DELETE:
          - key: config/linux/l3/v2/arp/SRC-1/fe80::d892:1bff:fe75:a2c3
          - value: { interface:"SRC-1" ip_address:"fe80::d892:1bff:fe75:a2c3" hw_address:"0a:58:0a:28:01:87"  } 
      9. DELETE [PROPERTY]:
          - key: linux/link-local-route/SRC-1/8.8.8.8/30
          - value: <EMPTY> 
      10. DELETE:
          - key: config/linux/l3/v2/route/8.8.8.8/30/SRC-1
          - value: { outgoing_interface:"SRC-1" scope:LINK dst_network:"8.8.8.8/30"  } 
      11. DELETE [PROPERTY]:
          - key: linux/interface/address/SRC-1/10.20.1.1/30
          - value: <EMPTY> 
      12. DELETE [PROPERTY]:
          - key: linux/interface/state/SRC-1/UP
          - value: <EMPTY> 
      13. DELETE [PROPERTY]:
          - key: linux/interface/address/SRC-1-veth/10.20.1.1/30
          - value: <EMPTY> 
      14. DELETE [PROPERTY]:
          - key: linux/interface/state/SRC-1-veth/UP
          - value: <EMPTY> 
      15. DELETE:
          - key: config/linux/interfaces/v2/interface/SRC-1-veth
          - value: { name:"SRC-1-veth" type:VETH host_if_name:"SRC-1-veth" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1" >  } 
      16. DELETE:
          - key: config/linux/interfaces/v2/interface/SRC-1
          - value: { name:"SRC-1" type:VETH namespace:<type:FD reference:"/proc/85977/ns/net" > host_if_name:"nsm" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1-veth" >  } 
      17. DELETE [NOOP WAS-PENDING]:
          - key: config/vpp/l2/v2/xconnect/DST-1
          - value: { receive_interface:"DST-1" transmit_interface:"SRC-1"  } 
      18. DELETE [NOOP WAS-PENDING]:
          - key: config/vpp/l2/v2/xconnect/SRC-1
          - value: { receive_interface:"SRC-1" transmit_interface:"DST-1"  } 
      19. DELETE [NOOP WAS-PENDING]:
          - key: config/vpp/v2/interfaces/DST-1
          - value: { name:"DST-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"DST-1-veth" >  } 
      20. DELETE:
          - key: config/vpp/v2/interfaces/SRC-1
          - value: { name:"SRC-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"SRC-1-veth" >  } 
x----------------------------------------------------------------------------------------------------------------------x
| #6                                                                                                       took 53.7ms |
x----------------------------------------------------------------------------------------------------------------------x

time="2019-04-12 17:38:14.80428" level=debug msg="Global interface state data updated: internal_name:\"host-SRC-1-veth\" index:3 status:\"DELETED\" mac_address:\"02:fe:43:f1:81:d8\" " loc="statuscheck/plugin_impl_statuscheck.go(251)" logger=status-check
time="2019-04-12 17:38:14.80480" level=debug msg="linux-interface descriptor retrieved 0 items: " loc="kvscheduler/refresh.go(129)" logger=kvscheduler
+======================================================================================================================+
| Transaction #7                                                                                       SB Notification |
+======================================================================================================================+
  * transaction arguments:
      - seq-num: 7
      - type: SB Notification
      - values:
          - key: linux/interface/host-name/SRC-1-veth
            val: <NIL>

o----------------------------------------------------------------------------------------------------------------------o
  * executed operations (2019-04-12 17:38:14.805 +0000 UTC -> 2019-04-12 17:38:14.805 +0000 UTC, dur: 0s):
      1. DELETE [WAS-OBTAINED]:
          - key: linux/interface/host-name/SRC-1-veth
          - value: <EMPTY> 
x----------------------------------------------------------------------------------------------------------------------x
| #7                                                                                                        took 100µs |
x----------------------------------------------------------------------------------------------------------------------x

time="2019-04-12 17:38:14.80524" level=error msg="Transaction #6 finished with 2 errors" loc="orchestrator/dispatcher.go(119)" logger=orchestrator.dispatcher
 -   1. error (DELETE) config/linux/interfaces/v2/interface/DST-1-veth - failed to remove IP address 10.20.1.2/30 from linux interface DST-1-veth: Link not found
 -   2. error (DELETE) config/linux/interfaces/v2/interface/DST-1 - failed to get or create namespace (type:FD reference:"/proc/85844/ns/net" ): failed to get file /proc/85844/ns/net from path: no such file or directory

time="2019-04-12 17:38:14.80529" level=info msg="Transaction 7 successful!" loc="kvscheduler/txn_process.go(487)" logger=kvscheduler


3 trying to configure new connection but with same interface names, I'm assume previous delete was ok.

 vpp_config:<interfaces:<name:\"SRC-1\" type:AF_PACKET enabled:true afpacket:<host_if_name:\"SRC-1-veth\" > > interfaces:<name:\"DST-1\" type:AF_PACKET enabled:true afpacket:<host_if_name:\"DST-1-veth\" > > xconnect_pairs:<receive_interface:\"SRC-1\" transmit_interface:\"DST-1\" > xconnect_pairs:<receive_interface:\"DST-1\" transmit_interface:\"SRC-1\" > > linux_config:<interfaces:<name:\"SRC-1-veth\" type:VETH host_if_name:\"SRC-1-veth\" enabled:true ip_addresses:\"10.20.1.1/30\" veth:<peer_if_name:\"SRC-1\" > > interfaces:<name:\"SRC-1\" type:VETH namespace:<type:FD reference:\"/proc/85977/ns/net\" > host_if_name:\"nsm\" enabled:true ip_addresses:\"10.20.1.1/30\" veth:<peer_if_name:\"SRC-1-veth\" > > interfaces:<name:\"DST-1-veth\" type:VETH host_if_name:\"DST-1-veth\" enabled:true ip_addresses:\"10.20.1.2/30\" veth:<peer_if_name:\"DST-1\" > > interfaces:<name:\"DST-1\" type:VETH namespace:<type:FD reference:\"/proc/86609/ns/net\" > host_if_name:\"nsmRMj5VM6fj\" enabled:true ip_addresses:\"10.20.1.2/30\" veth:<peer_if_name:\"DST-1-veth\" > > arp_entries:<interface:\"SRC-1\" ip_address:\"10.40.1.137\" hw_address:\"0a:58:0a:28:01:89\" > arp_entries:<interface:\"SRC-1\" ip_address:\"fe80::6cf6:b9ff:fe91:1fe8\" hw_address:\"0a:58:0a:28:01:89\" > routes:<outgoing_interface:\"SRC-1\" scope:LINK dst_network:\"8.8.8.8/30\" > > "

And following in vpp-agent logs:

+======================================================================================================================+
| Transaction #8                                                                                        NB Transaction |
+======================================================================================================================+
  * transaction arguments:
      - seq-num: 8
      - type: NB Transaction
      - values:
          - key: config/linux/interfaces/v2/interface/DST-1
            val: { name:"DST-1" type:VETH namespace:<type:FD reference:"/proc/86609/ns/net" > host_if_name:"nsmRMj5VM6fj" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1-veth" >  }
          - key: config/linux/interfaces/v2/interface/DST-1-veth
            val: { name:"DST-1-veth" type:VETH host_if_name:"DST-1-veth" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1" >  }
          - key: config/linux/interfaces/v2/interface/SRC-1
            val: { name:"SRC-1" type:VETH namespace:<type:FD reference:"/proc/85977/ns/net" > host_if_name:"nsm" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1-veth" >  }
          - key: config/linux/interfaces/v2/interface/SRC-1-veth
            val: { name:"SRC-1-veth" type:VETH host_if_name:"SRC-1-veth" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1" >  }
          - key: config/linux/l3/v2/arp/SRC-1/10.40.1.137
            val: { interface:"SRC-1" ip_address:"10.40.1.137" hw_address:"0a:58:0a:28:01:89"  }
          - key: config/linux/l3/v2/arp/SRC-1/fe80::6cf6:b9ff:fe91:1fe8
            val: { interface:"SRC-1" ip_address:"fe80::6cf6:b9ff:fe91:1fe8" hw_address:"0a:58:0a:28:01:89"  }
          - key: config/linux/l3/v2/route/8.8.8.8/30/SRC-1
            val: { outgoing_interface:"SRC-1" scope:LINK dst_network:"8.8.8.8/30"  }
          - key: config/vpp/l2/v2/xconnect/DST-1
            val: { receive_interface:"DST-1" transmit_interface:"SRC-1"  }
          - key: config/vpp/l2/v2/xconnect/SRC-1
            val: { receive_interface:"SRC-1" transmit_interface:"DST-1"  }
          - key: config/vpp/v2/interfaces/DST-1
            val: { name:"DST-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"DST-1-veth" >  }
          - key: config/vpp/v2/interfaces/SRC-1
            val: { name:"SRC-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"SRC-1-veth" >  }


2019-04-12 17:38:14,978 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.97837" level=error msg="failed to get link for interface veth-1649917878: Link not found" loc="descriptor/interface_veth.go(71)" logger=linux-ifplugin.if-descriptor

2019-04-12 17:38:14,978 DEBG 'agent' stdout output:
time="2019-04-12 17:38:14.97880" level=error msg="failed to get link for interface veth-2364841676: Link not found" loc="descriptor/interface_veth.go(71)" logger=linux-ifplugin.if-descriptor

2019-04-12 17:38:15,022 DEBG 'agent' stdout output:
o----------------------------------------------------------------------------------------------------------------------o
  * executed operations (2019-04-12 17:38:14.977 +0000 UTC -> 2019-04-12 17:38:15.022 +0000 UTC, dur: 45ms):
      1. CREATE [STILL-FAILING]:
          - key: config/linux/interfaces/v2/interface/DST-1
          - value: { name:"DST-1" type:VETH namespace:<type:FD reference:"/proc/86609/ns/net" > host_if_name:"nsmRMj5VM6fj" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1-veth" >  } 
          - prev-error: failed to get or create namespace (type:FD reference:"/proc/85844/ns/net" ): failed to get file /proc/85844/ns/net from path: no such file or directory
          - error: failed to get link for interface veth-1649917878: Link not found
      2. CREATE [STILL-FAILING]:
          - key: config/linux/interfaces/v2/interface/DST-1-veth
          - value: { name:"DST-1-veth" type:VETH host_if_name:"DST-1-veth" enabled:true ip_addresses:"10.20.1.2/30" veth:<peer_if_name:"DST-1" >  } 
          - prev-error: failed to remove IP address 10.20.1.2/30 from linux interface DST-1-veth: Link not found
          - error: failed to get link for interface veth-2364841676: Link not found
      3. CREATE:
          - key: config/linux/interfaces/v2/interface/SRC-1-veth
          - value: { name:"SRC-1-veth" type:VETH host_if_name:"SRC-1-veth" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1" >  } 
      4. CREATE:
          - key: config/linux/interfaces/v2/interface/SRC-1
          - value: { name:"SRC-1" type:VETH namespace:<type:FD reference:"/proc/85977/ns/net" > host_if_name:"nsm" enabled:true ip_addresses:"10.20.1.1/30" veth:<peer_if_name:"SRC-1-veth" >  } 
      5. CREATE [PROPERTY]:
          - key: linux/interface/address/SRC-1/10.20.1.1/30
          - value: <EMPTY> 
      6. CREATE [PROPERTY]:
          - key: linux/interface/state/SRC-1/UP
          - value: <EMPTY> 
      7. CREATE [PROPERTY]:
          - key: linux/interface/address/SRC-1-veth/10.20.1.1/30
          - value: <EMPTY> 
      8. CREATE [PROPERTY]:
          - key: linux/interface/state/SRC-1-veth/UP
          - value: <EMPTY> 
      9. CREATE:
          - key: config/linux/l3/v2/arp/SRC-1/10.40.1.137
          - value: { interface:"SRC-1" ip_address:"10.40.1.137" hw_address:"0a:58:0a:28:01:89"  } 
      10. CREATE:
          - key: config/linux/l3/v2/arp/SRC-1/fe80::6cf6:b9ff:fe91:1fe8
          - value: { interface:"SRC-1" ip_address:"fe80::6cf6:b9ff:fe91:1fe8" hw_address:"0a:58:0a:28:01:89"  } 
      11. CREATE:
          - key: config/linux/l3/v2/route/8.8.8.8/30/SRC-1
          - value: { outgoing_interface:"SRC-1" scope:LINK dst_network:"8.8.8.8/30"  } 
      12. CREATE [PROPERTY]:
          - key: linux/link-local-route/SRC-1/8.8.8.8/30
          - value: <EMPTY> 
      13. CREATE [NOOP IS-PENDING]:
          - key: config/vpp/l2/v2/xconnect/DST-1
          - value: { receive_interface:"DST-1" transmit_interface:"SRC-1"  } 
      14. CREATE [NOOP IS-PENDING]:
          - key: config/vpp/l2/v2/xconnect/SRC-1
          - value: { receive_interface:"SRC-1" transmit_interface:"DST-1"  } 
      15. CREATE [NOOP IS-PENDING]:
          - key: config/vpp/v2/interfaces/DST-1
          - value: { name:"DST-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"DST-1-veth" >  } 
      16. CREATE [NOOP IS-PENDING]:
          - key: config/vpp/v2/interfaces/SRC-1
          - value: { name:"SRC-1" type:AF_PACKET enabled:true afpacket:<host_if_name:"SRC-1-veth" >  } 
x----------------------------------------------------------------------------------------------------------------------x
| #8                                                                                                         took 45ms |
x----------------------------------------------------------------------------------------------------------------------x


2019-04-12 17:38:15,026 DEBG 'agent' stdout output:
time="2019-04-12 17:38:15.02471" level=debug msg="linux-interface descriptor retrieved 2 items: \n -  1. [linux-interface]: \"config/linux/interfaces/v2/interface/SRC-1-veth\" (from-NB)\n   { name:\"SRC-1-veth\" type:VETH host_if_name:\"SRC-1-veth\" enabled:true ip_addresses:\"10.20.1.1/30\" phys_address:\"52:63:e8:21:49:fc\" mtu:1500 veth:<peer_if_name:\"SRC-1\" >  }\n   Metadata: &{LinuxIfIndex:9 VPPTapName: Namespace:<nil>}\n -  2. [linux-interface]: \"config/linux/interfaces/v2/interface/SRC-1\" (from-NB)\n   { name:\"SRC-1\" type:VETH namespace:<type:FD reference:\"/proc/85977/ns/net\" > host_if_name:\"nsm\" enabled:true ip_addresses:\"10.20.1.1/30\" phys_address:\"56:bd:c3:63:70:9a\" mtu:1500 veth:<peer_if_name:\"SRC-1-veth\" >  }\n   Metadata: &{LinuxIfIndex:8 VPPTapName: Namespace:type:FD reference:\"/proc/85977/ns/net\" }" loc="kvscheduler/refresh.go(129)" logger=kvscheduler

2019-04-12 17:38:15,027 DEBG 'agent' stdout output:
time="2019-04-12 17:38:15.02722" level=error msg="Transaction #8 finished with 2 errors" loc="orchestrator/dispatcher.go(119)" logger=orchestrator.dispatcher

2019-04-12 17:38:15,028 DEBG 'vppagent-dataplane' stdout output:
2019/04/12 17:38:15 Reporting span 7e2120e855ea193a:7e2120e855ea193a:0:1

2019-04-12 17:38:15,028 DEBG 'agent' stdout output:
 -   1. error (CREATE) config/linux/interfaces/v2/interface/DST-1 - failed to get link for interface veth-1649917878: Link not found
 -   2. error (CREATE) config/linux/interfaces/v2/interface/DST-1-veth - failed to get link for interface veth-2364841676: Link not found


@milanlenco
Copy link
Collaborator

Could you please check if your version of the vpp-agent includes the following commit:
0022a5e

@milanlenco milanlenco self-assigned this Apr 16, 2019
@edwarnicke
Copy link
Contributor

@milanlenco We are using ligato/vpp-agent:v2.0.0 ? Which version has the fix?

@haiodo
Copy link
Author

haiodo commented Apr 16, 2019

Confirming vpp-agent v2.0.1 fixes issue in Google cloud engine.

@haiodo haiodo closed this as completed Apr 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants