* Fix ignore diff lines issue in ios_config
* Pass `diff_ignore_lines` while creating
candidate and running configuration object
* Add fix for other platforms
* Fix ignore limes for block
* Update changelog
... | ... |
@@ -372,6 +372,8 @@ class NetworkConfig(object): |
372 | 372 |
# global config command |
373 | 373 |
if not parents: |
374 | 374 |
for line in lines: |
375 |
+ if ignore_line(line): |
|
376 |
+ continue |
|
375 | 377 |
item = ConfigLine(line) |
376 | 378 |
item.raw = line |
377 | 379 |
if item not in self.items: |
... | ... |
@@ -397,6 +399,8 @@ class NetworkConfig(object): |
397 | 397 |
|
398 | 398 |
# add child objects |
399 | 399 |
for line in lines: |
400 |
+ if ignore_line(line): |
|
401 |
+ continue |
|
400 | 402 |
# check if child already exists |
401 | 403 |
for child in ancestors[-1]._children: |
402 | 404 |
if child.text == line: |
... | ... |
@@ -273,7 +273,7 @@ from ansible.module_utils.network.eos.eos import check_args |
273 | 273 |
|
274 | 274 |
|
275 | 275 |
def get_candidate(module): |
276 |
- candidate = NetworkConfig(indent=3) |
|
276 |
+ candidate = NetworkConfig(indent=3, ignore_lines=module.params['diff_ignore_lines']) |
|
277 | 277 |
if module.params['src']: |
278 | 278 |
candidate.load(module.params['src']) |
279 | 279 |
elif module.params['lines']: |
... | ... |
@@ -292,7 +292,7 @@ def get_running_config(module, config=None): |
292 | 292 |
if module.params['defaults']: |
293 | 293 |
flags.append('all') |
294 | 294 |
contents = get_config(module, flags=flags) |
295 |
- return NetworkConfig(indent=3, contents=contents) |
|
295 |
+ return NetworkConfig(indent=3, contents=contents, ignore_lines=module.params['diff_ignore_lines']) |
|
296 | 296 |
|
297 | 297 |
|
298 | 298 |
def save_config(module, result): |
... | ... |
@@ -364,10 +364,11 @@ def main(): |
364 | 364 |
result['warnings'] = warnings |
365 | 365 |
|
366 | 366 |
config = None |
367 |
+ diff_ignore_lines = module.params['diff_ignore_lines'] |
|
367 | 368 |
|
368 | 369 |
if module.params['backup'] or (module._diff and module.params['diff_against'] == 'running'): |
369 | 370 |
contents = get_config(module) |
370 |
- config = NetworkConfig(indent=3, contents=contents) |
|
371 |
+ config = NetworkConfig(indent=3, contents=contents, ignore_lines=diff_ignore_lines) |
|
371 | 372 |
if module.params['backup']: |
372 | 373 |
result['__backup__'] = contents |
373 | 374 |
|
... | ... |
@@ -379,7 +380,7 @@ def main(): |
379 | 379 |
|
380 | 380 |
if match != 'none' and replace != 'config': |
381 | 381 |
config_text = get_running_config(module) |
382 |
- config = NetworkConfig(indent=3, contents=config_text) |
|
382 |
+ config = NetworkConfig(indent=3, contents=config_text, ignore_lines=diff_ignore_lines) |
|
383 | 383 |
path = module.params['parents'] |
384 | 384 |
configobjs = candidate.difference(config, match=match, replace=replace, path=path) |
385 | 385 |
else: |
... | ... |
@@ -413,8 +414,6 @@ def main(): |
413 | 413 |
running_config = module.params['running_config'] |
414 | 414 |
startup_config = None |
415 | 415 |
|
416 |
- diff_ignore_lines = module.params['diff_ignore_lines'] |
|
417 |
- |
|
418 | 416 |
if module.params['save_when'] == 'always' or module.params['save']: |
419 | 417 |
save_config(module, result) |
420 | 418 |
elif module.params['save_when'] == 'modified': |
... | ... |
@@ -360,11 +360,11 @@ def get_running_config(module, current_config=None, flags=None): |
360 | 360 |
else: |
361 | 361 |
contents = get_config(module, flags=flags) |
362 | 362 |
contents, banners = extract_banners(contents) |
363 |
- return NetworkConfig(indent=1, contents=contents), banners |
|
363 |
+ return NetworkConfig(indent=1, contents=contents, ignore_lines=module.params['diff_ignore_lines']), banners |
|
364 | 364 |
|
365 | 365 |
|
366 | 366 |
def get_candidate(module): |
367 |
- candidate = NetworkConfig(indent=1) |
|
367 |
+ candidate = NetworkConfig(indent=1, ignore_lines=module.params['diff_ignore_lines']) |
|
368 | 368 |
banners = {} |
369 | 369 |
|
370 | 370 |
if module.params['src']: |
... | ... |
@@ -445,11 +445,13 @@ def main(): |
445 | 445 |
result['warnings'] = warnings |
446 | 446 |
|
447 | 447 |
config = None |
448 |
+ diff_ignore_lines = module.params['diff_ignore_lines'] |
|
449 |
+ |
|
448 | 450 |
flags = get_defaults_flag(module) if module.params['defaults'] else [] |
449 | 451 |
|
450 | 452 |
if module.params['backup'] or (module._diff and module.params['diff_against'] == 'running'): |
451 | 453 |
contents = get_config(module, flags=flags) |
452 |
- config = NetworkConfig(indent=1, contents=contents) |
|
454 |
+ config = NetworkConfig(indent=1, contents=contents, ignore_lines=diff_ignore_lines) |
|
453 | 455 |
if module.params['backup']: |
454 | 456 |
result['__backup__'] = contents |
455 | 457 |
|
... | ... |
@@ -496,8 +498,6 @@ def main(): |
496 | 496 |
running_config = module.params['running_config'] |
497 | 497 |
startup_config = None |
498 | 498 |
|
499 |
- diff_ignore_lines = module.params['diff_ignore_lines'] |
|
500 |
- |
|
501 | 499 |
if module.params['save_when'] == 'always' or module.params['save']: |
502 | 500 |
save_config(module, result) |
503 | 501 |
elif module.params['save_when'] == 'modified': |
... | ... |
@@ -296,11 +296,11 @@ def get_running_config(module, config=None): |
296 | 296 |
else: |
297 | 297 |
flags = ['all'] |
298 | 298 |
contents = get_config(module, flags=flags) |
299 |
- return NetworkConfig(indent=2, contents=contents) |
|
299 |
+ return NetworkConfig(indent=2, contents=contents, ignore_lines=module.params['diff_ignore_lines']) |
|
300 | 300 |
|
301 | 301 |
|
302 | 302 |
def get_candidate(module): |
303 |
- candidate = NetworkConfig(indent=2) |
|
303 |
+ candidate = NetworkConfig(indent=2, ignore_lines=module.params['diff_ignore_lines']) |
|
304 | 304 |
if module.params['src']: |
305 | 305 |
if module.params['replace'] != 'config': |
306 | 306 |
candidate.load(module.params['src']) |