summaryrefslogtreecommitdiffstats
path: root/tests/integration/compute.yaml
blob: 1f5ec8dd469bd6a0e25ddce704545d2fdf8190fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
##############################################################################
# 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
##############################################################################

---
# Prepare connection to SUT (System Under Test)
- hosts: fuel-master
  gather_facts: no
  tasks:
  - name: collect facts of fuel hosts
    fuel:
  - name: add compute node to ansible inventory
    add_host:
      name: "{{ hosts_meta[item]['ip'] }}"
      groups: compute
      ansible_user: root
      ansible_ssh_common_args: '-o StrictHostKeyChecking=No -o ProxyJump=fuel-master'
    with_items: "{{ hosts.compute }}"

# Execute compute benchmark plan and collect data
# - system information
# - test condition
# - performance metrics
- hosts: compute
  tasks:
  - name: check ssh connection
    ping:
  # collect system information
  - name: collect system information
    include: tasks/inxi.yaml
  - name: ssl metrics
    include: tasks/openssl.yaml

- 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: qpi_result
    delegate_to: localhost

# Generate and publish report
- hosts: local
  tasks:
  - name: create system information report
    local_action: template src=templates/system-info.j2 dest=reports/system-info
    delegate_to: localhost
  # TODO(yujunz) push test result to testapi
  - name: create qpi report
    template: src=templates/qpi-report.j2 dest=reports/qpi-report