Using non-existing policy name in policy src or dest leads to error.
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R1.1 |
Fix Released
|
Critical
|
Sachin Bansal | |||
Trunk |
Fix Released
|
High
|
Sachin Bansal |
Bug Description
If a non-existing policy name is specified in the source or destination of another policy, error is seen in schema transformer.
Steps to reproduce:
1. create a VNs say vn1(10.1.1.0/24)
3. create a policy P12 with rules:
a. deny protocol icmp network vn1 port any <> NEWPOL port any
where NEWPOL is name of a policy which is not configured
4. attach the Policy P12 to VN - vn1
<type 'exceptions.
Python 2.7.3: /usr/bin/python
Fri Sep 5 15:44:36 2014
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/
3516 result = arc_mapc.
3517 try:
3518 transformer.
3519 except Exception as e:
3520 try:
transformer = <schema_
transformer.
result = '<?xml version="1.0" encoding="UTF-8" standalone=
/usr/lib/
3184 for prule in policy.rules:
3185 acl_rule_list = virtual_
3186 prule, dynamic)
3187 acl_rule_
3188 for arule in acl_rule_
prule = <vnc_api.
dynamic = False
/usr/lib/
1050 _sandesh.
1051 "Policy %s not found while applying policy "
1052 "to network %s", dadr_match.
1053 self.name)
1054 continue
dadr_match undefined
<type 'exceptions.
__class__ = <type 'exceptions.
__delattr__ = <method-wrapper '__delattr__' of exceptions.
__dict__ = {}
__doc__ = 'Name not found globally.'
__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 = ("global name 'dadr_match' is not defined",)
message = "global name 'dadr_match' is not defined"
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/
transformer
File "/usr/lib/
prule, dynamic)
File "/usr/lib/
"to network %s", dadr_match.
NameError: global name 'dadr_match' is not defined
information type: | Proprietary → Public |
https:/ /github. com/Juniper/ contrail- controller/ commit/ 097df287cfe1db4 671e7c3feb158b1 3a20b1c475