mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
Catch the interface long error during parsing
Ticket: CM-5882 Reviewed By: Testing Done:
This commit is contained in:
@@ -754,7 +754,6 @@ class ifupdownMain(ifupdownBase):
|
|||||||
"""
|
"""
|
||||||
new_ifacenames = []
|
new_ifacenames = []
|
||||||
err_iface = ''
|
err_iface = ''
|
||||||
ifnamsiz_error = ''
|
|
||||||
for i in ifacenames:
|
for i in ifacenames:
|
||||||
ifaceobjs = self.get_ifaceobjs(i)
|
ifaceobjs = self.get_ifaceobjs(i)
|
||||||
if not ifaceobjs:
|
if not ifaceobjs:
|
||||||
@@ -766,19 +765,13 @@ class ifupdownMain(ifupdownBase):
|
|||||||
if not ifaceobjs:
|
if not ifaceobjs:
|
||||||
err_iface += ' ' + ri
|
err_iface += ' ' + ri
|
||||||
else:
|
else:
|
||||||
if utils.check_ifname_size_invalid(ri):
|
|
||||||
ifnamsiz_error += ' ' + ri
|
|
||||||
new_ifacenames.append(ri)
|
new_ifacenames.append(ri)
|
||||||
else:
|
else:
|
||||||
err_iface += ' ' + i
|
err_iface += ' ' + i
|
||||||
else:
|
else:
|
||||||
if utils.check_ifname_size_invalid(i):
|
|
||||||
ifnamsiz_error += ' ' + i
|
|
||||||
new_ifacenames.append(i)
|
new_ifacenames.append(i)
|
||||||
if err_iface:
|
if err_iface:
|
||||||
raise Exception('cannot find interfaces:%s' %err_iface)
|
raise Exception('cannot find interfaces:%s' %err_iface)
|
||||||
if ifnamsiz_error:
|
|
||||||
raise Exception('the following interface names are too long:%s' %ifnamsiz_error)
|
|
||||||
return new_ifacenames
|
return new_ifacenames
|
||||||
|
|
||||||
def _iface_whitelisted(self, auto, allow_classes, excludepats, ifacename):
|
def _iface_whitelisted(self, auto, allow_classes, excludepats, ifacename):
|
||||||
@@ -943,8 +936,6 @@ class ifupdownMain(ifupdownBase):
|
|||||||
else:
|
else:
|
||||||
self.populate_dependency_info(ops)
|
self.populate_dependency_info(ops)
|
||||||
|
|
||||||
if filtered_ifacenames:
|
|
||||||
filtered_ifacenames = self._preprocess_ifacenames(filtered_ifacenames)
|
|
||||||
try:
|
try:
|
||||||
self._sched_ifaces(filtered_ifacenames, ops,
|
self._sched_ifaces(filtered_ifacenames, ops,
|
||||||
skipupperifaces=skipupperifaces,
|
skipupperifaces=skipupperifaces,
|
||||||
@@ -1074,8 +1065,6 @@ class ifupdownMain(ifupdownBase):
|
|||||||
elif ops[0] == 'query-raw':
|
elif ops[0] == 'query-raw':
|
||||||
return self.print_ifaceobjs_raw(filtered_ifacenames)
|
return self.print_ifaceobjs_raw(filtered_ifacenames)
|
||||||
|
|
||||||
if filtered_ifacenames:
|
|
||||||
filtered_ifacenames = self._preprocess_ifacenames(filtered_ifacenames)
|
|
||||||
self._sched_ifaces(filtered_ifacenames, ops,
|
self._sched_ifaces(filtered_ifacenames, ops,
|
||||||
followdependents=True if self.WITH_DEPENDS else False)
|
followdependents=True if self.WITH_DEPENDS else False)
|
||||||
|
|
||||||
@@ -1160,7 +1149,6 @@ class ifupdownMain(ifupdownBase):
|
|||||||
return
|
return
|
||||||
self.logger.info('reload: scheduling up on interfaces: %s'
|
self.logger.info('reload: scheduling up on interfaces: %s'
|
||||||
%str(interfaces_to_up))
|
%str(interfaces_to_up))
|
||||||
interfaces_to_up = self._preprocess_ifacenames(interfaces_to_up)
|
|
||||||
self._sched_ifaces(interfaces_to_up, upops,
|
self._sched_ifaces(interfaces_to_up, upops,
|
||||||
followdependents=True if self.WITH_DEPENDS else False)
|
followdependents=True if self.WITH_DEPENDS else False)
|
||||||
if self.DRYRUN:
|
if self.DRYRUN:
|
||||||
@@ -1278,7 +1266,6 @@ class ifupdownMain(ifupdownBase):
|
|||||||
|
|
||||||
self.logger.info('reload: scheduling up on interfaces: %s'
|
self.logger.info('reload: scheduling up on interfaces: %s'
|
||||||
%str(filtered_ifacenames))
|
%str(filtered_ifacenames))
|
||||||
filtered_ifacenames = self._preprocess_ifacenames(filtered_ifacenames)
|
|
||||||
try:
|
try:
|
||||||
self._sched_ifaces(filtered_ifacenames, upops,
|
self._sched_ifaces(filtered_ifacenames, upops,
|
||||||
followdependents=True if self.WITH_DEPENDS else False)
|
followdependents=True if self.WITH_DEPENDS else False)
|
||||||
|
@@ -219,6 +219,10 @@ class networkInterfaces():
|
|||||||
iface_attrs = re.split(self._ws_split_regex, iface_line)
|
iface_attrs = re.split(self._ws_split_regex, iface_line)
|
||||||
ifacename = iface_attrs[1]
|
ifacename = iface_attrs[1]
|
||||||
|
|
||||||
|
if utils.check_ifname_size_invalid(ifacename):
|
||||||
|
self._parse_warn(self._currentfile, lineno,
|
||||||
|
'%s: interface name too long' %ifacename)
|
||||||
|
|
||||||
# in cases where mako is unable to render the template
|
# in cases where mako is unable to render the template
|
||||||
# or incorrectly renders it due to user template
|
# or incorrectly renders it due to user template
|
||||||
# errors, we maybe left with interface names with
|
# errors, we maybe left with interface names with
|
||||||
|
Reference in New Issue
Block a user