Gateway_less_fwd: Service chain with flat left and right networks is not working, seeing scema error while creating policy with si
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R4.0 |
Fix Committed
|
High
|
Nagendra Prasath | |||
Trunk |
Fix Committed
|
High
|
Nagendra Prasath |
Bug Description
Service chain with flat left and right networks is not working, seeing scema error while creating policy with si
Build
------
R4.1.0.0 Build 49 Ubuntu 14.04.5 Mitaka
Steps
Configure Flat subnet IPAM, where IPAM belongs to IP Fabric network
Configure 3 VNs (left-vn, right-vn, mgmt-vn) with above Flat subnet IPAM
Configure IP Fabric VN as provider entwork for these VNs
Create end VMs (left_vm and right_vm) belonging to left_vn and right_vn
Create a SVM with NICs (mgmt_vn, left_vn, right_vn)
Create a ST and SI with above SVM port tuple
Create a policy and apply SI
At this point seeing below schema error and service chain is not working.
Traceback (most recent call last):
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
super(
File "/usr/lib/
res_
service_
File "/usr/lib/
self.
File "/usr/lib/
service_ri2, nat_service)
File "/usr/lib/
vn1_
File "/usr/lib/
source_ri)
File "/usr/lib/
prefixes = remote_
File "/usr/lib/
prefix = '%s/%d' % (ipam_subnet.
AttributeError: 'NoneType' object has no attribute 'ip_prefix'
Please see the complete log below:
<type 'exceptions.
Python 2.7.6: /usr/bin/python
Mon Sep 18 09:07:14 2017
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/usr/lib/
63 try:
64 self.oper_info = oper_info
65 self.vnc_
66
67 except ConnectionError:
self = <schema_
self.vnc_
/usr/lib/
127 (self. obj_type, obj_id, oper))
128 return
129 self.evaluate_
130
131 def _get_key_
self = <schema_
self.evaluate_
/usr/lib/
33 if not self.dependency
34 return
35 super(STAmqpHandle, self).evaluate_
36 for vn_id in self.dependency
37 'virtual_network', []):
builtinsuper = <type 'super'>
global STAmqpHandle = <class 'schema_
self = <schema_
).evaluate_
/usr/lib/
233 res_obj = cls.get(res_id)
234 if res_obj is not None:
235 res_obj.evaluate()
236
237 def close(self):
res_obj = <schema_
res_obj.evaluate = <bound method VirtualNetworkS
/usr/lib/
1402 for service_chain in service_chain_list or []:
1403 if service_chain in (remote_
1404 service_
1405 # end for service_chain
1406 # end for remote_vn_name
service_chain = <schema_
service_
/usr/lib/
2798 if si_info is None:
2799 return
2800 self._create(
2801 if self.partially_
2802 self.destroy()
self = <schema_
self._create = <bound method ServiceChain.
si_info = {'default-
/usr/lib/
2903 result = self.process_
2904 vm_info, service, vn1_obj, vn2_obj, service_ri1,
2905 service_ri2, nat_service)
2906 if not result:
2907 return
service_ri2 = <schema_
nat_service = False
/usr/lib/
2966 vn2_obj, service, vm_info[
2967 vm_info[
2968 vn1_obj.
2969
2970 if self.direction == '<>' and not nat_service:
vn1_obj = <schema_
vn1_obj.
).get_fq_name_str undefined
/usr/lib/
2335 v4_info = self.fill_
2336 service_instance, v4_address,
2337 source_ri)
2338 self.service_
2339 self.obj.
source_ri = 'default-
/usr/lib/
2321 if source_ri:
2322 service_
2323 prefixes = remote_
2324 service_
2325 if service_
prefixes undefined
remote_vn = <schema_
remote_
ip_version = 4
/usr/lib/
1424 for ipam in self.ipams.
1425 for ipam_subnet in ipam.ipam_subnets:
1426 prefix = '%s/%d' % (ipam_subnet.
1427 ipam_subnet.
1428 network = IPNetwork(prefix)
prefix undefined
ipam_subnet = subnet = None, default_gateway = None, dns_serve...oc_unit = 1, created = None, last_modified = None
ipam_subnet.subnet = None
ipam_subnet.
<type 'exceptions.
__class__ = <type 'exceptions.
__delattr__ = <method-wrapper '__delattr__' of exceptions.
__dict__ = {}
__doc__ = 'Attribute not found.'
__format__ = <built-in method __format__ of exceptions.
__getattrib
__getitem__ = <method-wrapper '__getitem__' of exceptions.
__getslice__ = <method-wrapper '__getslice__' of exceptions.
__hash__ = <method-wrapper '__hash__' of exceptions.
__init__ = <method-wrapper '__init__' of exceptions.
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of exceptions.
__reduce_ex__ = <built-in method __reduce_ex__ of exceptions.
__repr__ = <method-wrapper '__repr__' of exceptions.
__setattr__ = <method-wrapper '__setattr__' of exceptions.
__setstate__ = <built-in method __setstate__ of exceptions.
__sizeof__ = <built-in method __sizeof__ of exceptions.
__str__ = <method-wrapper '__str__' of exceptions.
__subclassh
__unicode__ = <built-in method __unicode__ of exceptions.
args = ("'NoneType' object has no attribute 'ip_prefix'",)
message = "'NoneType' object has no attribute 'ip_prefix'"
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
super(
File "/usr/lib/
res_
File "/usr/lib/
service_
File "/usr/lib/
self.
File "/usr/lib/
service_ri2, nat_service)
File "/usr/lib/
vn1_
File "/usr/lib/
source_ri)
File "/usr/lib/
prefixes = remote_
File "/usr/lib/
prefix = '%s/%d' % (ipam_subnet.
AttributeError: 'NoneType' object has no attribute ‘ip_prefix'
root@nodeb9:~# vif --list
Vrouter Interface Table
Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror
Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2
D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged
Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored
Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, L=MAC Learning Enabled
Proxy=MAC Requests Proxied Always, Er=Etree Root
vif0/0 OS: eth0 (Speed 1000, Duplex 1)
Vrf:0 Flags:L3L2VpEr QOS:-1 Ref:8
RX packets:3384917 bytes:402908500 errors:0
TX packets:823971 bytes:990003541 errors:0
vif0/1 OS: vhost0
Vrf:0 Flags:PL3DEr QOS:-1 Ref:7
RX packets:815896 bytes:989359048 errors:0
TX packets:3404933 bytes:398747401 errors:0
Drops:1
vif0/2 OS: pkt0
RX packets:137846 bytes:17309992 errors:0
TX packets:2310067 bytes:243870284 errors:0
Drops:0
vif0/3 OS: tapb81a4544-67
Vrf:3 Flags:PL3DEr QOS:-1 Ref:5
RX packets:499 bytes:26100 errors:0
TX packets:948 bytes:43986 errors:0
vif0/4 OS: tap936a81dd-d9
Vrf:0 Flags:PL3DProxyEr QOS:-1 Ref:5
RX packets:140219 bytes:13620020 errors:0
TX packets:72853 bytes:12452587 errors:0
vif0/5 OS: tap9c72ff98-89
Vrf:0 Flags:PL3DProxyEr QOS:-1 Ref:5
RX packets:492 bytes:24546 errors:0
TX packets:1000 bytes:46170 errors:0
Drops:6
vif0/6 OS: tap5ce90780-66
Vrf:0 Flags:PL3DProxyEr QOS:-1 Ref:5
RX packets:1819 bytes:214806 errors:0
TX packets:2470 bytes:213366 errors:0
vif0/4350 OS: pkt3
RX packets:0 bytes:0 errors:0
TX packets:0 bytes:0 errors:0
Drops:0
vif0/4351 OS: pkt1
RX packets:0 bytes:0 errors:0
TX packets:0 bytes:0 errors:0
Drops:0
root@nodeb9:~# tcpdump -ne -i tap936a81dd-d9 icmp
tcpdump: WARNING: tap936a81dd-d9: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tap936a81dd-d9, link-type EN10MB (Ethernet), capture size 65535 bytes
09:52:35.279501 02:93:6a:81:dd:d9 > 00:00:5e:00:01:00, ethertype IPv4 (0x0800), length 98: 10.204.218.150 > 10.204.218.151: ICMP echo request, id 24616, seq 67, length 64
09:52:36.287476 02:93:6a:81:dd:d9 > 00:00:5e:00:01:00, ethertype IPv4 (0x0800), length 98: 10.204.218.150 > 10.204.218.151: ICMP echo request, id 24616, seq 68, length 64
^C
2 packets captured
3 packets received by filter
0 packets dropped by kernel
root@nodeb9:~# rt --dump 0 | grep 10.204.218.151
10.204.218.151/32 32 PT - 37 c:c4:7a:
root@nodeb9:~# nh --get 37
Id:37 Type:Encap Fmly: AF_INET Rid:0 Ref_cnt:3 Vrf:0
Encap Data: 0c c4 7a 32 0a 88 00 25 90 93 d2 52 08 00
root@nodeb9:~# dropstats
Invalid IF 0
Trap No IF 0
IF TX Discard 0
IF Drop 0
IF RX Discard 0
Flow Unusable 0
Flow No Memory 0
Flow Table Full 0
Flow NAT no rflow 0
Flow Action Drop 3386
Flow Action Invalid 0
Flow Invalid Protocol 0
Flow Queue Limit Exceeded 0
New Flow Drops 0
Flow Unusable (Eviction) 0
Original Packet Trapped 0
Discards 0
TTL Exceeded 0
Mcast Clone Fail 0
Cloned Original 4223
Invalid NH 14
Invalid Label 0
Invalid Protocol 0
Etree Leaf to Leaf 0
Bmac/ISID Mismatch 0
Rewrite Fail 0
Invalid Mcast Source 0
Packet Loop 0
Push Fails 0
Pull Fails 0
Duplicated 1
Head Alloc Fails 0
PCOW fails 0
Invalid Packets 0
Misc 0
Nowhere to go 0
Checksum errors 0
No Fmd 0
Invalid VNID 0
Fragment errors 0
Invalid Source 628
Jumbo Mcast Pkt with DF Bit 0
No L2 Route 72476
Memory Failures 0
Fragment Queueing Failures 0
root@nodeb9:~# dropstats
Invalid IF 0
Trap No IF 0
IF TX Discard 0
IF Drop 0
IF RX Discard 0
Flow Unusable 0
Flow No Memory 0
Flow Table Full 0
Flow NAT no rflow 0
Flow Action Drop 3386
Flow Action Invalid 0
Flow Invalid Protocol 0
Flow Queue Limit Exceeded 0
New Flow Drops 0
Flow Unusable (Eviction) 0
Original Packet Trapped 0
Discards 0
TTL Exceeded 0
Mcast Clone Fail 0
Cloned Original 4223
Invalid NH 14
Invalid Label 0
Invalid Protocol 0
Etree Leaf to Leaf 0
Bmac/ISID Mismatch 0
Rewrite Fail 0
Invalid Mcast Source 0
Packet Loop 0
Push Fails 0
Pull Fails 0
Duplicated 1
Head Alloc Fails 0
PCOW fails 0
Invalid Packets 0
Misc 0
Nowhere to go 0
Checksum errors 0
No Fmd 0
Invalid VNID 0
Fragment errors 0
Invalid Source 628
Jumbo Mcast Pkt with DF Bit 0
No L2 Route 72477
Memory Failures 0
Fragment Queueing Failures 0
root@nodeb9:~# dropstats
Invalid IF 0
Trap No IF 0
IF TX Discard 0
IF Drop 0
IF RX Discard 0
Flow Unusable 0
Flow No Memory 0
Flow Table Full 0
Flow NAT no rflow 0
Flow Action Drop 3391
Flow Action Invalid 0
Flow Invalid Protocol 0
Flow Queue Limit Exceeded 0
New Flow Drops 0
Flow Unusable (Eviction) 0
Original Packet Trapped 0
Discards 0
TTL Exceeded 0
Mcast Clone Fail 0
Cloned Original 4223
Invalid NH 14
Invalid Label 0
Invalid Protocol 0
Etree Leaf to Leaf 0
Bmac/ISID Mismatch 0
Rewrite Fail 0
Invalid Mcast Source 0
Packet Loop 0
Push Fails 0
Pull Fails 0
Duplicated 1
Head Alloc Fails 0
PCOW fails 0
Invalid Packets 0
Misc 0
Nowhere to go 0
Checksum errors 0
No Fmd 0
Invalid VNID 0
Fragment errors 0
Invalid Source 628
Jumbo Mcast Pkt with DF Bit 0
No L2 Route 72477
Memory Failures 0
Fragment Queueing Failures 0
root@nodeb9:~#
information type: | Proprietary → Public |
Review in progress for https:/ /review. opencontrail. org/35863
Submitter: Nagendra Prasath (<email address hidden>)