From 9bbcdcb1333b510d86c944f0ae6ac1e78837df87 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Mon, 10 Apr 2017 19:03:38 +0800 Subject: Integrate openssl metrics for qpi calculate Change-Id: I7319cd9b49cb27ba4fa367e395ceb2caa543c06e Signed-off-by: Yujun Zhang --- tests/integration/compute.yaml | 47 ++++++++++++++++++++++++++------ tests/integration/specs/compute.yaml | 36 ++++++++++++++++++++++++ tests/integration/tasks/openssl.yaml | 53 ++++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+), 8 deletions(-) create mode 100644 tests/integration/specs/compute.yaml create mode 100644 tests/integration/tasks/openssl.yaml (limited to 'tests/integration') diff --git a/tests/integration/compute.yaml b/tests/integration/compute.yaml index 576c6a19..cf9e6599 100644 --- a/tests/integration/compute.yaml +++ b/tests/integration/compute.yaml @@ -33,15 +33,46 @@ # collect system information - name: collect system information include: tasks/inxi.yaml + - name: ssl metrics + include: tasks/openssl.yaml -# TODO(yujunz) Calculate QPI from composed metrics -# e.g. -# qpi: -# score: 2048 -# spec: compute -# metrics: # values, not spec -# - ref_metric_a -# - ref_metric_b +- hosts: compute + tasks: + - name: calculate QPI of compute + calculate: + metrics: + ssl_rsa: "{{ openssl_rsa_metrics }}" + spec: # TODO(yujunz) load spec from file + name: compute + description: QTIP Performance Index of compute + formula: weighted arithmetic mean + sections: # split based on different application + - name: SSL + description: cryptography and SSL/TLS performance + formula: geometric mean + metrics: + - name: ssl_rsa + formual: geometric mean + workloads: + - name: rsa_sign_512 + description: RSA signature 512 bits + baseline: 14982.3 + - name: rsa_verify_512 + baseline: 180619.2 + - name: rsa_sign_1024 + baseline: 5037.7 + - name: rsa_verify_1024 + baseline: 67359.9 + - name: rsa_sign_2048 + baseline: 713.6 + - name: rsa_verify_2048 + baseline: 23458.0 + - name: rsa_sign_4096 + baseline: 102.1 + - name: rsa_verify_4096 + baseline: 6402.9 + register: compute_result + delegate_to: localhost # Generate and publish report - hosts: local diff --git a/tests/integration/specs/compute.yaml b/tests/integration/specs/compute.yaml new file mode 100644 index 00000000..0266ac8d --- /dev/null +++ b/tests/integration/specs/compute.yaml @@ -0,0 +1,36 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corporation and others. +# +# 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 +############################################################################## +name: compute +description: QTIP Performance Index of compute +formula: weighted arithmetic mean +sections: # split based on different application +- name: SSL + description: cryptography and SSL/TLS performance + formula: geometric mean + metrics: + - name: rsa + formual: geometric mean + workloads: + - name: rsa_sign_512 + description: RSA signature 512 bits + baseline: 14982.3 + - name: rsa_verify_512 + baseline: 180619.2 + - name: rsa_sign_1024 + baseline: 5037.7 + - name: rsa_verify_1024 + baseline: 67359.9 + - name: rsa_sign_2048 + baseline: 713.6 + - name: rsa_verify_2048 + baseline: 23458.0 + - name: rsa_sign_4096 + baeline: 102.1 + - name: rsa_verify_4096 + baseline: 6402.9 diff --git a/tests/integration/tasks/openssl.yaml b/tests/integration/tasks/openssl.yaml new file mode 100644 index 00000000..0e70913e --- /dev/null +++ b/tests/integration/tasks/openssl.yaml @@ -0,0 +1,53 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# +# 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 +############################################################################## + +- name: install openssl - Cryptography and SSL/TLS Toolkit + package: + name: openssl + state: present + +- name: RSA signatures speed measurement + command: openssl speed rsa + register: openssl_rsa_log + +#- name: AES speed measurement +# command: openssl speed -evp aes-128-cbc +# register: openssl_aes_log + +- name: collect ssl metrics from openssl + collect: + string: "{{ openssl_rsa_log.stdout }}" + patterns: + - |- + ^rsa\s+512\sbits\s.+\s+ + ?(?P\d+\.\d)\s+ + ?(?P\d+\.\d)$ + - |- + ^rsa\s+1024\sbits\s.+\s+ + ?(?P\d+\.\d)\s+ + ?(?P\d+\.\d)$ + - |- + ^rsa\s+2048\sbits\s.+\s+ + ?(?P\d+\.\d)\s+ + ?(?P\d+\.\d)$ + - |- + ^rsa\s+4096\sbits\s.+\s+ + ?(?P\d+\.\d)\s+ + ?(?P\d+\.\d)$ + register: openssl_rsa_metrics + +# - filename: AES-128-CBC_dump +# grep: +# - |- +# ^aes-128-cbc\s+ +# ?(?P\d+\.\w+)\s+ +# ?(?P\d+\.\w+)\s+ +# ?(?P\d+\.\w+)\s+ +# ?(?P\d+\.\w+)\s+ +# ?(?P\d+\.\w+)$ -- cgit 1.2.3-korg