diff options
author | Taseer Ahmed <taseer94@gmail.com> | 2018-03-24 10:39:16 +0500 |
---|---|---|
committer | Taseer Ahmed <taseer94@gmail.com> | 2018-04-14 00:04:45 +0500 |
commit | 4dccf13a77e11b3a4cd9066eebc0e61d62e0909b (patch) | |
tree | 19309385632a0fe5a0cb0667c1a52752531a24dc | |
parent | 839a14980c188d2f1a62808cb76679c95e970940 (diff) |
Add nettest ansible module
JIRA: QTIP-295
Change-Id: I7c14fa24a255812065414fea4233d88260b3ad42
Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
-rw-r--r-- | contrib/nettest_client/nettest_client.py | 15 | ||||
-rw-r--r-- | qtip/ansible_library/modules/nettest.py | 83 |
2 files changed, 91 insertions, 7 deletions
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() |