From e7402e3d5bf4f7ad307c7e162d2900bc979f728e Mon Sep 17 00:00:00 2001 From: Tim Rupp Date: Wed, 28 Jun 2017 09:35:00 -0700 Subject: [PATCH] Support full path templates (#26121) This patch allows the iapp service module to support full path templates instead of only relative templates --- .../modules/network/f5/bigip_iapp_service.py | 2 ++ .../network/f5/test_bigip_iapp_service.py | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lib/ansible/modules/network/f5/bigip_iapp_service.py b/lib/ansible/modules/network/f5/bigip_iapp_service.py index 4529000967..5efd2b9cf2 100644 --- a/lib/ansible/modules/network/f5/bigip_iapp_service.py +++ b/lib/ansible/modules/network/f5/bigip_iapp_service.py @@ -289,6 +289,8 @@ class Parameters(AnsibleF5Parameters): return None if self._values['template'].startswith("/" + self.partition): return self._values['template'] + elif self._values['template'].startswith("/"): + return self._values['template'] else: return '/{0}/{1}'.format( self.partition, self._values['template'] diff --git a/test/units/modules/network/f5/test_bigip_iapp_service.py b/test/units/modules/network/f5/test_bigip_iapp_service.py index 2b4358731e..b87b2104ae 100644 --- a/test/units/modules/network/f5/test_bigip_iapp_service.py +++ b/test/units/modules/network/f5/test_bigip_iapp_service.py @@ -197,6 +197,30 @@ class TestParameters(unittest.TestCase): assert p.tables[0]['rows'][0]['row'] == ['12.12.12.12', '80', '0'] assert p.tables[0]['rows'][1]['row'] == ['13.13.13.13', '443', '10'] + def test_module_template_same_partition(self): + args = dict( + template='foo', + partition='bar' + ) + p = Parameters(args) + assert p.template == '/bar/foo' + + def test_module_template_same_partition_full_path(self): + args = dict( + template='/bar/foo', + partition='bar' + ) + p = Parameters(args) + assert p.template == '/bar/foo' + + def test_module_template_different_partition_full_path(self): + args = dict( + template='/Common/foo', + partition='bar' + ) + p = Parameters(args) + assert p.template == '/Common/foo' + @patch('ansible.module_utils.f5_utils.AnsibleF5Client._get_mgmt_root', return_value=True)