summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--opt/servers/inventory9
-rw-r--r--opt/servers/mongo.yml4
-rw-r--r--opt/servers/roles/mongo/tasks/main.yml10
-rw-r--r--opt/servers/roles/ngnix/defaults/main.yml3
-rw-r--r--opt/servers/roles/ngnix/tasks/main.yml1
-rw-r--r--opt/servers/roles/ngnix/templates/testapi.conf.j217
-rw-r--r--opt/servers/roles/ssh/tasks/main.yml5
-rw-r--r--opt/servers/roles/testapi/files/run_testapi.sh4
-rw-r--r--opt/servers/roles/testapi/tasks/main.yml4
-rw-r--r--opt/servers/ssh.yml2
-rw-r--r--opt/servers/testapi.yml4
-rw-r--r--qtip/cli/commands/cmd_ansible.py29
-rw-r--r--qtip/cli/commands/cmd_perftest.py2
-rw-r--r--qtip/cli/commands/cmd_suite.py3
-rw-r--r--qtip/cli/entry.py36
-rw-r--r--qtip/cli/helper.py2
-rw-r--r--qtip/utils/dashboard/pushtoDB.py8
-rw-r--r--setup.py4
18 files changed, 109 insertions, 38 deletions
diff --git a/opt/servers/inventory b/opt/servers/inventory
index b5d66985..65c6c35d 100644
--- a/opt/servers/inventory
+++ b/opt/servers/inventory
@@ -1,4 +1,5 @@
-qtip-dev ansible_host=dev.qtip.io
+qtip-dev ansible_host=dev.qtip.io
+qtip-test ansible_host=test.qtip.io
[elk-servers]
qtip-dev
@@ -8,3 +9,9 @@ qtip-dev
[qtip-servers]
qtip-dev
+
+[testapi-servers]
+qtip-dev
+
+[mongo-servers]
+qtip-dev
diff --git a/opt/servers/mongo.yml b/opt/servers/mongo.yml
new file mode 100644
index 00000000..e64c0c69
--- /dev/null
+++ b/opt/servers/mongo.yml
@@ -0,0 +1,4 @@
+---
+- hosts: mongo-servers
+ roles:
+ - mongo
diff --git a/opt/servers/roles/mongo/tasks/main.yml b/opt/servers/roles/mongo/tasks/main.yml
new file mode 100644
index 00000000..81fb49b5
--- /dev/null
+++ b/opt/servers/roles/mongo/tasks/main.yml
@@ -0,0 +1,10 @@
+---
+- name: pulling mongo
+ become: true
+ docker_image: name=mongo:3.2.1 state=present
+
+- name: setting up mongo
+ become: true
+ docker_container:
+ name: mongo
+ image: mongo:3.2.1
diff --git a/opt/servers/roles/ngnix/defaults/main.yml b/opt/servers/roles/ngnix/defaults/main.yml
index cb3b3934..cdd1d773 100644
--- a/opt/servers/roles/ngnix/defaults/main.yml
+++ b/opt/servers/roles/ngnix/defaults/main.yml
@@ -5,3 +5,6 @@ services:
qtip_services:
- { name: restful_api, upstream: 'http://127.0.0.1:5000' }
+
+testapi_services:
+ - { name: testapi, upstream: 'http://127.0.0.1:8000' }
diff --git a/opt/servers/roles/ngnix/tasks/main.yml b/opt/servers/roles/ngnix/tasks/main.yml
index ec146850..5c78166c 100644
--- a/opt/servers/roles/ngnix/tasks/main.yml
+++ b/opt/servers/roles/ngnix/tasks/main.yml
@@ -8,5 +8,6 @@
with_items:
- elk
- qtip
+ - testapi
notify:
- restart nginx
diff --git a/opt/servers/roles/ngnix/templates/testapi.conf.j2 b/opt/servers/roles/ngnix/templates/testapi.conf.j2
new file mode 100644
index 00000000..6a4d388b
--- /dev/null
+++ b/opt/servers/roles/ngnix/templates/testapi.conf.j2
@@ -0,0 +1,17 @@
+# {{ ansible_managed }}
+
+# servers
+#
+{% for service in testapi_services %}
+server {
+ listen 80;
+ listen 443 ssl;
+ server_name {{ service.name }}.qtip.openzero.net;
+ location / {
+ proxy_pass {{ service.upstream }};
+ sub_filter {{ service.upstream }} 'http://{{ service.name }}.qtip.openzero.net';
+ sub_filter_once off;
+ sub_filter_types text/html application/json;
+ }
+}
+{% endfor %}
diff --git a/opt/servers/roles/ssh/tasks/main.yml b/opt/servers/roles/ssh/tasks/main.yml
index 7de1e208..48318485 100644
--- a/opt/servers/roles/ssh/tasks/main.yml
+++ b/opt/servers/roles/ssh/tasks/main.yml
@@ -1,3 +1,6 @@
+- name: add group qtip
+ become: true
+ group: name=qtip state=present
- name: add users for ssh access
become: true
user:
@@ -23,4 +26,4 @@
owner: "{{ item.name }}"
group: "{{ item.name }}"
mode: 0600
- with_items: "{{ users }}" \ No newline at end of file
+ with_items: "{{ users }}"
diff --git a/opt/servers/roles/testapi/files/run_testapi.sh b/opt/servers/roles/testapi/files/run_testapi.sh
new file mode 100644
index 00000000..f9ba8387
--- /dev/null
+++ b/opt/servers/roles/testapi/files/run_testapi.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+envs="mongodb_url=mongodb://mongo:27017/ -e api_port=8000 -e swagger_url=http://testapi.qtip.openzero.net"
+docker run --name testapi --link mongo:mongo -p 8000:8000 -e $envs -d opnfv/testapi
diff --git a/opt/servers/roles/testapi/tasks/main.yml b/opt/servers/roles/testapi/tasks/main.yml
new file mode 100644
index 00000000..8ca91396
--- /dev/null
+++ b/opt/servers/roles/testapi/tasks/main.yml
@@ -0,0 +1,4 @@
+---
+- name: setting up testapi
+ become: true
+ script: ../files/run_testapi.sh
diff --git a/opt/servers/ssh.yml b/opt/servers/ssh.yml
index bd74ab3b..a7fbb1c0 100644
--- a/opt/servers/ssh.yml
+++ b/opt/servers/ssh.yml
@@ -1,4 +1,4 @@
---
-- hosts: elk-servers
+- hosts: all
roles:
- ssh
diff --git a/opt/servers/testapi.yml b/opt/servers/testapi.yml
new file mode 100644
index 00000000..556284db
--- /dev/null
+++ b/opt/servers/testapi.yml
@@ -0,0 +1,4 @@
+---
+- hosts: testapi-servers
+ roles:
+ - testapi
diff --git a/qtip/cli/commands/cmd_ansible.py b/qtip/cli/commands/cmd_ansible.py
index 001185a3..857e68e2 100644
--- a/qtip/cli/commands/cmd_ansible.py
+++ b/qtip/cli/commands/cmd_ansible.py
@@ -30,3 +30,32 @@ class Ansible:
def status(self):
click.echo("check connectivity")
pass
+
+
+@click.group()
+def cli():
+ pass
+
+_ansible = Ansible()
+
+
+@cli.group()
+@click.pass_context
+def ansible(ctx):
+ pass
+
+
+@ansible.command('prepare', help="Prepares the ansible environment. "
+ "This step is needed run benchmarks.")
+def ansible_prepare():
+ _ansible.prepare()
+
+
+@ansible.command('show', help="Shows the current ansible configuration.")
+def ansible_show():
+ _ansible.show()
+
+
+@ansible.command('status', help="Checks if ansible still connects to hosts.")
+def ansible_status():
+ _ansible.status()
diff --git a/qtip/cli/commands/cmd_perftest.py b/qtip/cli/commands/cmd_perftest.py
index 0eb6d062..5cfe4110 100644
--- a/qtip/cli/commands/cmd_perftest.py
+++ b/qtip/cli/commands/cmd_perftest.py
@@ -11,7 +11,7 @@ from prettytable import PrettyTable
import yaml
import click
import os
-from cli import helper
+from qtip.cli import helper
class PerfTest:
diff --git a/qtip/cli/commands/cmd_suite.py b/qtip/cli/commands/cmd_suite.py
index 757f11a1..f6c839ba 100644
--- a/qtip/cli/commands/cmd_suite.py
+++ b/qtip/cli/commands/cmd_suite.py
@@ -10,12 +10,13 @@
from prettytable import PrettyTable
import os
import click
+from qtip.cli import helper
class Suite:
def __init__(self):
- self.path = os.path.join(os.path.dirname(__file__), '..', '..', 'benchmarks/suite')
+ self.path = os.path.join(helper.fetch_root(), 'suite')
def list(self):
table = PrettyTable(["Name"])
diff --git a/qtip/cli/entry.py b/qtip/cli/entry.py
index f9dc440c..66e45ddc 100644
--- a/qtip/cli/entry.py
+++ b/qtip/cli/entry.py
@@ -8,37 +8,13 @@
##############################################################################
import click
-
-from cli.commands.ansible import Ansible
+from qtip.cli.commands import cmd_perftest
+from qtip.cli.commands import cmd_suite
+from qtip.cli.commands import cmd_ansible
CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
+cli = click.CommandCollection(sources=[cmd_perftest.cli, cmd_suite.cli, cmd_ansible.cli])
-@click.group(context_settings=CONTEXT_SETTINGS)
-@click.version_option(version='0.1.dev0')
-def cli():
- pass
-
-_ansible = Ansible()
-
-
-@cli.group()
-@click.pass_context
-def ansible(ctx):
- pass
-
-
-@ansible.command('prepare', help="Prepares the ansible environment. "
- "This step is needed run benchmarks.")
-def ansible_prepare():
- _ansible.prepare()
-
-
-@ansible.command('show', help="Shows the current ansible configuration.")
-def ansible_show():
- _ansible.show()
-
-
-@ansible.command('status', help="Checks if ansible still connects to hosts.")
-def ansible_status():
- _ansible.status()
+if __name__ == '__main__':
+ cli()
diff --git a/qtip/cli/helper.py b/qtip/cli/helper.py
index a5865bce..acfecf8d 100644
--- a/qtip/cli/helper.py
+++ b/qtip/cli/helper.py
@@ -11,4 +11,4 @@ import os
def fetch_root():
- return os.path.join(os.path.dirname(__file__), os.pardir, 'benchmarks/')
+ return os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, 'benchmarks/')
diff --git a/qtip/utils/dashboard/pushtoDB.py b/qtip/utils/dashboard/pushtoDB.py
index b901f542..427d39c4 100644
--- a/qtip/utils/dashboard/pushtoDB.py
+++ b/qtip/utils/dashboard/pushtoDB.py
@@ -28,6 +28,14 @@ def push_results_to_db(db_url, case_name, payload, installer, pod_name):
logger.info('pod_name:{0},installer:{1},creation_data:{2}'.format(pod_name,
installer,
creation_date))
+ # temporary code, will be deleted after Bigergia dashboard is ready
+ try:
+ qtip_testapi_url = "http://testapi.qtip.openzero.net/results"
+ qtip_testapi_r = requests.post(qtip_testapi_url, data=json.dumps(params), headers=headers)
+ logger.info('Pushing Results to qtip_testapi: %s'.format(qtip_testapi_r))
+ except:
+ logger.info("Pushing Results to qtip_testapi Error:{0}".format(sys.exc_info()[0]))
+
try:
r = requests.post(url, data=json.dumps(params), headers=headers)
logger.info(r)
diff --git a/setup.py b/setup.py
index e00e97ba..15900362 100644
--- a/setup.py
+++ b/setup.py
@@ -10,9 +10,9 @@ setup(
author='OPNFV',
author_email='zhang.yujunz@zte.com.cn',
install_requires=['click', 'pyyaml', 'prettytable'],
- packages=['cli'],
+ packages=['qtip.cli'],
entry_points={
- 'console_scripts': ['qtip=cli.entry:cli']
+ 'console_scripts': ['qtip=qtip.cli.entry:cli']
},
license='Apache-2.0',
keywords="performance benchmark opnfv",