diff --git a/lib/ansible/modules/network/eos/eos_banner.py b/lib/ansible/modules/network/eos/eos_banner.py index 3469631c371..113885720c1 100644 --- a/lib/ansible/modules/network/eos/eos_banner.py +++ b/lib/ansible/modules/network/eos/eos_banner.py @@ -102,7 +102,7 @@ def map_obj_to_commands(updates, module): want, have = updates state = module.params['state'] - if state == 'absent': + if state == 'absent' and have['text']: commands.append('no banner %s' % module.params['banner']) elif state == 'present': @@ -117,7 +117,7 @@ def map_config_to_obj(module): output = run_commands(module, ['show banner %s' % module.params['banner']]) obj = {'banner': module.params['banner'], 'state': 'absent'} if output: - obj['text'] = output + obj['text'] = output[0] obj['state'] = 'present' return obj @@ -155,7 +155,6 @@ def main(): result = {'changed': False} if warnings: result['warnings'] = warnings - want = map_params_to_obj(module) have = map_config_to_obj(module) diff --git a/test/units/modules/network/eos/test_eos_banner.py b/test/units/modules/network/eos/test_eos_banner.py index 04a5d20873c..e249ca993d3 100644 --- a/test/units/modules/network/eos/test_eos_banner.py +++ b/test/units/modules/network/eos/test_eos_banner.py @@ -40,7 +40,7 @@ class TestEosBannerModule(TestEosModule): self.mock_load_config.stop() def load_fixtures(self, commands=None): - self.run_commands.return_value = load_fixture('eos_banner_show_banner.txt').strip() + self.run_commands.return_value = [load_fixture('eos_banner_show_banner.txt').strip()] self.load_config.return_value = dict(diff=None, session='session') def test_eos_banner_create(self):