diff options
-rw-r--r-- | opt/servers/inventory | 9 | ||||
-rw-r--r-- | opt/servers/mongo.yml | 4 | ||||
-rw-r--r-- | opt/servers/roles/mongo/tasks/main.yml | 10 | ||||
-rw-r--r-- | opt/servers/roles/ngnix/defaults/main.yml | 3 | ||||
-rw-r--r-- | opt/servers/roles/ngnix/tasks/main.yml | 1 | ||||
-rw-r--r-- | opt/servers/roles/ngnix/templates/testapi.conf.j2 | 17 | ||||
-rw-r--r-- | opt/servers/roles/ssh/tasks/main.yml | 5 | ||||
-rw-r--r-- | opt/servers/roles/testapi/files/run_testapi.sh | 4 | ||||
-rw-r--r-- | opt/servers/roles/testapi/tasks/main.yml | 4 | ||||
-rw-r--r-- | opt/servers/ssh.yml | 2 | ||||
-rw-r--r-- | opt/servers/testapi.yml | 4 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_ansible.py | 29 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_perftest.py | 2 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_suite.py | 3 | ||||
-rw-r--r-- | qtip/cli/entry.py | 36 | ||||
-rw-r--r-- | qtip/cli/helper.py | 2 | ||||
-rw-r--r-- | qtip/utils/dashboard/pushtoDB.py | 8 | ||||
-rw-r--r-- | setup.py | 4 |
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) @@ -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", |