From 4dccf13a77e11b3a4cd9066eebc0e61d62e0909b Mon Sep 17 00:00:00 2001 From: Taseer Ahmed Date: Sat, 24 Mar 2018 10:39:16 +0500 Subject: Add nettest ansible module JIRA: QTIP-295 Change-Id: I7c14fa24a255812065414fea4233d88260b3ad42 Signed-off-by: Taseer Ahmed --- contrib/nettest_client/nettest_client.py | 15 +++--- qtip/ansible_library/modules/nettest.py | 83 ++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 qtip/ansible_library/modules/nettest.py diff --git a/contrib/nettest_client/nettest_client.py b/contrib/nettest_client/nettest_client.py index ec16caf0..4e08cad3 100644 --- a/contrib/nettest_client/nettest_client.py +++ b/contrib/nettest_client/nettest_client.py @@ -146,19 +146,20 @@ class NettestClient(object): return ret -if __name__ == "__main__": +def run(public_network_name, stcv_image, stcv_flavor, + lab_server_ip, license_server_ip): nc = NettestClient(rest_server_ip="127.0.0.1", port=5000, version="1.0") stack_params = { - "name": 's2', + "name": "s2", "stack_type": "stcv", - "public_network_name": "public", + "public_network_name": public_network_name, "stcv_affinity": True, - "stcv_image": "STCv-4.80.2426", - "stcv_flavor": "small.shared", - "lab_server_ip": '10.61.67.53', - "license_server_ip": '10.140.88.61', + "stcv_image": stcv_image, + "stcv_flavor": stcv_flavor, + "lab_server_ip": lab_server_ip, + "license_server_ip": license_server_ip, } stack_id = nc.create_stack(**stack_params) diff --git a/qtip/ansible_library/modules/nettest.py b/qtip/ansible_library/modules/nettest.py new file mode 100644 index 00000000..5f141c95 --- /dev/null +++ b/qtip/ansible_library/modules/nettest.py @@ -0,0 +1,83 @@ +#!/usr/bin/python + +############################################################### +# Copyright (c) 2018 ZTE Corporation and Others +# taseer94@gmail.com +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import contrib.nettest_client.nettest_client as qtip_nettest +from ansible.module_utils.basic import AnsibleModule + + +ANSIBLE_METADATA = {'metadata_version': '1.0', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' +--- +module: nettest +short_description: execute Spirent testcases +description: + - Use this module to execute network performance benchmarking +version_added: "1.0" +author: "Taseer Ahmed" +''' + +RETURN = ''' +ansible_facts: + description: network benchmark tests + returned: success + type: dictionary + contains: + result: +''' + +EXAMPLES = ''' +--- +- hosts: apex-undercloud + tasks: + - name: execute network performance test + nettest: + name: s1, + stack_type: stcv, + public_network_name: public, + stcv_affinity: True, + stcv_image: STCv-4.80.2426, + stcv_flavor: small.shared, + lab_server_ip: 10.61.67.53, + license_server_ip: 10.140.88.61 +''' + + +def main(): + module = AnsibleModule( + argument_spec=dict( + public_network_name=dict(type='str'), + stcv_image=dict(type='str'), + stcv_flavor=dict(type='str'), + lab_server_ip=dict(type='str'), + license_server_ip=dict(type='str') + ) + ) + + public_network_name = module.params['public_network_name'] + stcv_image = module.params['stcv_image'] + stcv_flavor = module.params['stcv_flavor'] + lab_server_ip = module.params['lab_server_ip'] + license_server_ip = module.params['license_server_ip'] + + module.exit_json(changed=True, + ansible_facts=qtip_nettest.run(public_network_name, + stcv_image, + stcv_flavor, + lab_server_ip, + license_server_ip)) + + +if __name__ == '__main__': + main() -- cgit 1.2.3-korg