aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaseer Ahmed <taseer94@gmail.com>2018-03-24 10:39:16 +0500
committerTaseer Ahmed <taseer94@gmail.com>2018-04-14 00:04:45 +0500
commit4dccf13a77e11b3a4cd9066eebc0e61d62e0909b (patch)
tree19309385632a0fe5a0cb0667c1a52752531a24dc
parent839a14980c188d2f1a62808cb76679c95e970940 (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.py15
-rw-r--r--qtip/ansible_library/modules/nettest.py83
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()