summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/proposal/storage-qpi.rst42
-rw-r--r--resources/ansible_roles/ceph-network-info/meta/main.yml14
-rw-r--r--resources/ansible_roles/ceph-network-info/tasks/main.yml37
-rw-r--r--tests/data/external/sysinfo/ceph-network-info.log7
4 files changed, 100 insertions, 0 deletions
diff --git a/docs/proposal/storage-qpi.rst b/docs/proposal/storage-qpi.rst
index af7c7954..8a82241e 100644
--- a/docs/proposal/storage-qpi.rst
+++ b/docs/proposal/storage-qpi.rst
@@ -13,6 +13,48 @@ The measurement is done by `StorPerf`_.
.. _StorPerf: https://wiki.opnfv.org/display/storperf
+System Information
+==================
+
+System Information are environmental parameters and factors may affect storage performance:
+
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| System Factors | Detail | Extraction Method |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Ceph Node List | List of nodes which has ceph-osd roles. | Getting from return result of installer node list CLI command. |
+| | For example [node-2, node-3, node-4]. | |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Ceph Client RDB Cache Mode | Values: "None", "write-through", "write-back". | Getting from value of "rbd cache" and "rbd cache max dirty" keys |
+| | | in client section of ceph configuration; To enable write-through mode, |
+| | | set rbd cache max dirty to 0. |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Ceph Client RDB Cache Size | The RBD cache size in bytes. Default is 32 MiB. | Getting from value of "rdb cache size" key in client section |
+| | | of ceph configuration. |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Ceph OSD Tier Cache Mode | Values: "None", "Write-back", "Readonly". | Getting from ceph CLI "ceph report" output info. |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Use SSD Backed OSD Cache | Values: "Yes", "No". | Getting from POD description and CEPH CLI "ceph-disk list" output info. |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Use SSD For Journal | Values: "Yes", "No". | Getting from POD description and CEPH CLI "ceph-disk list" output info. |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+| Ceph Cluster Network Bandwidth | Values: "1G", "10G", "40G". | Getting from physical interface information in POD description, |
+| | | "ifconfig" output info on ceph osd node, |
+| | | and value of "cluster network" key in global section of ceph configuration. |
++--------------------------------+-------------------------------------------------+-----------------------------------------------------------------------------+
+
+Test Condition
+==============
+
++-----------------------------+------------------------------------------+-------------------------------------------------------------+
+| Test Condition | Detail | Extraction Method |
++-----------------------------+------------------------------------------+-------------------------------------------------------------+
+| Number of Testing VMs | Number of VMs which are created, | It equals the number of Cinder nodes of the SUT. |
+| | during running Storperf test case. | |
++-----------------------------+------------------------------------------+-------------------------------------------------------------+
+| Distribution of Testing VMS | Number of VMs on each computer node, | Recording the distribution when runing Storperf test case. |
+| | for example [(node-2: 1), (node-3: 2))]. | |
++-----------------------------+------------------------------------------+-------------------------------------------------------------+
+
Baseline
========
diff --git a/resources/ansible_roles/ceph-network-info/meta/main.yml b/resources/ansible_roles/ceph-network-info/meta/main.yml
new file mode 100644
index 00000000..4f5b88d4
--- /dev/null
+++ b/resources/ansible_roles/ceph-network-info/meta/main.yml
@@ -0,0 +1,14 @@
+##############################################################################
+# 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
+##############################################################################
+
+---
+
+allow_duplicates: yes
+dependencies:
+ - { role: qtip-common, basename: ceph-network-info }
diff --git a/resources/ansible_roles/ceph-network-info/tasks/main.yml b/resources/ansible_roles/ceph-network-info/tasks/main.yml
new file mode 100644
index 00000000..7216d1a5
--- /dev/null
+++ b/resources/ansible_roles/ceph-network-info/tasks/main.yml
@@ -0,0 +1,37 @@
+##############################################################################
+# 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: get system network info
+ shell: netstat -nr |grep "U" | awk '{printf "interface %s network %s mask %s \n",$8,$1, $3 }'
+ register: ceph_network_out
+
+- name: saving output to log
+ copy:
+ content: "{{ ceph_network_out.stdout }}"
+ dest: "{{ logfile }}"
+ delegate_to: localhost
+
+- fetch:
+ src: /etc/ceph/ceph.conf
+ dest: "{{ qtip_results }}/sysinfo-{{ inventory_hostname }}/"
+ flat: yes
+
+- name: collect ceph system info from ceph.conf
+ set_fact: {"{{ item }}":"{{ lookup('ini', '{{ item }} section=global default='' file={{ qtip_results }}/sysinfo-{{ inventory_hostname }}/ceph.conf') }}"}
+ with_items:
+ - cluster_network
+ delegate_to: localhost
+
+- name: append
+ lineinfile:
+ dest: "{{ logfile }}"
+ line: "cluster_network {{ cluster_network }}"
+ insertafter: EOF
+ delegate_to: localhost
diff --git a/tests/data/external/sysinfo/ceph-network-info.log b/tests/data/external/sysinfo/ceph-network-info.log
new file mode 100644
index 00000000..5856ff52
--- /dev/null
+++ b/tests/data/external/sysinfo/ceph-network-info.log
@@ -0,0 +1,7 @@
+interface eth2 network 0.0.0.0 mask 0.0.0.0
+interface eth1 network 11.0.0.0 mask 255.255.255.0
+interface eth3 network 12.0.0.0 mask 255.255.255.0
+interface eth0 network 169.254.169.254 mask 255.255.255.255
+interface eth0 network 192.0.2.0 mask 255.255.255.0
+interface eth2 network 192.168.37.0 mask 255.255.255.0
+cluster_network 12.0.0.22/24