Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes bigip_config to remove from skip file #32409

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
72 changes: 39 additions & 33 deletions lib/ansible/modules/network/f5/bigip_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@
# Copyright (c) 2017 F5 Networks Inc.
# GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function
__metaclass__ = type


ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
'supported_by': 'community'}

DOCUMENTATION = '''
DOCUMENTATION = r'''
---
module: bigip_config
short_description: Manage BIG-IP configuration sections.
short_description: Manage BIG-IP configuration sections
description:
- Manages a BIG-IP configuration by allowing TMSH commands that
modify running configuration, or merge SCF formatted files into
Expand Down Expand Up @@ -69,48 +73,48 @@
- Tim Rupp (@caphrim007)
'''

EXAMPLES = '''
EXAMPLES = r'''
- name: Save the running configuration of the BIG-IP
bigip_config:
save: yes
server: "lb.mydomain.com"
password: "secret"
user: "admin"
validate_certs: "no"
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost

- name: Reset the BIG-IP configuration, for example, to RMA the device
bigip_config:
reset: yes
save: yes
server: "lb.mydomain.com"
password: "secret"
user: "admin"
validate_certs: "no"
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost

- name: Load an SCF configuration
bigip_config:
merge_content: "{{ lookup('file', '/path/to/config.scf') }}"
server: "lb.mydomain.com"
password: "secret"
user: "admin"
validate_certs: "no"
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost
'''

RETURN = '''
RETURN = r'''
stdout:
description: The set of responses from the options
returned: always
type: list
sample: ['...', '...']
description: The set of responses from the options
returned: always
type: list
sample: ['...', '...']

stdout_lines:
description: The value of stdout split into a list
returned: always
type: list
sample: [['...', '...'], ['...'], ['...']]
description: The value of stdout split into a list
returned: always
type: list
sample: [['...', '...'], ['...'], ['...']]
'''

import os
Expand All @@ -121,15 +125,17 @@
except ImportError:
from io import StringIO

from ansible.module_utils.f5_utils import (
AnsibleF5Client,
AnsibleF5Parameters,
HAS_F5SDK,
F5ModuleError,
iControlUnexpectedHTTPError,
iteritems,
defaultdict
)
from ansible.module_utils.f5_utils import AnsibleF5Client
from ansible.module_utils.f5_utils import AnsibleF5Parameters
from ansible.module_utils.f5_utils import HAS_F5SDK
from ansible.module_utils.f5_utils import F5ModuleError
from ansible.module_utils.six import iteritems
from collections import defaultdict

try:
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
except ImportError:
HAS_F5SDK = False


class Parameters(AnsibleF5Parameters):
Expand Down
1 change: 0 additions & 1 deletion test/sanity/import/skip.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py
lib/ansible/modules/cloud/webfaction/webfaction_site.py
lib/ansible/modules/clustering/consul_acl.py
lib/ansible/modules/network/cloudengine/ce_file_copy.py
lib/ansible/modules/network/f5/bigip_config.py
lib/ansible/modules/network/f5/bigip_configsync_actions.py
lib/ansible/modules/network/f5/bigip_gtm_pool.py
lib/ansible/modules/network/f5/bigip_gtm_wide_ip.py
Expand Down
20 changes: 4 additions & 16 deletions test/units/modules/network/f5/test_bigip_config.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,7 @@
# -*- coding: utf-8 -*-
#
# Copyright 2017 F5 Networks Inc.
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# Copyright (c) 2017 F5 Networks Inc.
# GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
Expand All @@ -38,11 +24,13 @@
from library.bigip_config import Parameters
from library.bigip_config import ModuleManager
from library.bigip_config import ArgumentSpec
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
except ImportError:
try:
from ansible.modules.network.f5.bigip_config import Parameters
from ansible.modules.network.f5.bigip_config import ModuleManager
from ansible.modules.network.f5.bigip_config import ArgumentSpec
from ansible.module_utils.f5_utils import iControlUnexpectedHTTPError
except ImportError:
raise SkipTest("F5 Ansible modules require the f5-sdk Python library")

Expand Down