Add OpenStack Density test results
Change-Id: I3e406c89e5e9538656b93b7cc1c66d2d5382c9fd
This commit is contained in:
parent
30b4a3b20f
commit
431dde8b6a
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
@ -0,0 +1,62 @@
|
||||
{% set flavor_name = flavor_name or "m1.tiny" %}
|
||||
{% set image_name = image_name or "^(cirros.*uec|TestVM)$" %}
|
||||
{
|
||||
"NovaDensityPlugin.boot_attach_and_list_with_secgroups": [
|
||||
{
|
||||
"args": {
|
||||
"flavor": {
|
||||
"name": "{{flavor_name}}"
|
||||
},
|
||||
"image": {
|
||||
"name": "{{image_name}}"
|
||||
},
|
||||
"security_group_count": 10,
|
||||
"rules_per_security_group": 10,
|
||||
"boot_server_kwargs": { "auto_assign_nic" : true },
|
||||
"create_volume_kwargs": {},
|
||||
"volume_size": 1
|
||||
},
|
||||
"runner": {
|
||||
"type": "constant",
|
||||
"times": {{ 10 * compute }},
|
||||
"concurrency": {{concurrency}}
|
||||
},
|
||||
"context": {
|
||||
"users": {
|
||||
"tenants": 10,
|
||||
"users_per_tenant": 10
|
||||
},
|
||||
"quotas": {
|
||||
"neutron": {
|
||||
"network": -1,
|
||||
"security_group": -1,
|
||||
"security_group_rule": -1,
|
||||
"port": -1,
|
||||
"subnet": -1,
|
||||
"router": -1
|
||||
},
|
||||
"nova": {
|
||||
"instances": -1,
|
||||
"cores": -1,
|
||||
"ram": -1,
|
||||
"floating_ips": -1,
|
||||
"security_groups": -1,
|
||||
"security_group_rules": -1
|
||||
},
|
||||
"cinder": {
|
||||
"volumes": -1,
|
||||
"gigabytes": -1,
|
||||
"snapshots": -1
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"start_cidr": "{{ "100.1.0.0/25" if gre_enabled else "1.0.0.0/25" }}",
|
||||
"networks_per_tenant": 10
|
||||
}
|
||||
},
|
||||
"sla": {
|
||||
"failure_rate": { "max": 0 }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,173 @@
|
||||
# Copyright 2016: Mirantis Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from rally import consts
|
||||
from rally.plugins.openstack import scenario
|
||||
from rally.plugins.openstack.scenarios.cinder import utils as cinder_utils
|
||||
from rally.plugins.openstack.scenarios.nova import utils
|
||||
from rally.task import types
|
||||
from rally.task import validation
|
||||
|
||||
|
||||
class NovaDensityPlugin(utils.NovaScenario, cinder_utils.CinderScenario):
|
||||
"""boot_attach_and_list_with_secgroups"""
|
||||
@types.convert(image={"type": "glance_image"},
|
||||
flavor={"type": "nova_flavor"})
|
||||
@validation.image_valid_on_flavor("flavor", "image")
|
||||
@validation.required_parameters("security_group_count",
|
||||
"rules_per_security_group")
|
||||
@validation.required_contexts("network")
|
||||
@validation.required_services(consts.Service.NOVA)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["cinder", "nova"]})
|
||||
def boot_attach_and_list_with_secgroups(
|
||||
self, image, flavor,
|
||||
volume_size,
|
||||
security_group_count,
|
||||
rules_per_security_group,
|
||||
do_delete=False,
|
||||
detailed=True,
|
||||
boot_server_kwargs=None,
|
||||
create_volume_kwargs=None
|
||||
):
|
||||
|
||||
if boot_server_kwargs is None:
|
||||
boot_server_kwargs = {}
|
||||
if create_volume_kwargs is None:
|
||||
create_volume_kwargs = {}
|
||||
|
||||
security_groups = self._create_security_groups(
|
||||
security_group_count)
|
||||
self._create_rules_for_security_group(security_groups,
|
||||
rules_per_security_group)
|
||||
|
||||
secgroups_names = [sg.name for sg in security_groups]
|
||||
"""boot server"""
|
||||
server = self._boot_server(image, flavor,
|
||||
security_groups=secgroups_names,
|
||||
**boot_server_kwargs)
|
||||
|
||||
volume = self._create_volume(volume_size, **create_volume_kwargs)
|
||||
self._attach_volume(server, volume)
|
||||
|
||||
self._list_security_groups()
|
||||
self._list_servers(detailed)
|
||||
|
||||
if do_delete:
|
||||
self._detach_volume(server, volume)
|
||||
self._delete_server(server)
|
||||
self._delete_volume(volume)
|
||||
self._delete_security_groups(security_groups)
|
||||
|
||||
"""boot_and_list_with_secgroups"""
|
||||
@types.convert(image={"type": "glance_image"},
|
||||
flavor={"type": "nova_flavor"})
|
||||
@validation.image_valid_on_flavor("flavor", "image")
|
||||
@validation.required_parameters("security_group_count",
|
||||
"rules_per_security_group")
|
||||
@validation.required_contexts("network")
|
||||
@validation.required_services(consts.Service.NOVA)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["nova"]})
|
||||
def boot_and_list_with_secgroups(
|
||||
self, image, flavor,
|
||||
security_group_count,
|
||||
rules_per_security_group,
|
||||
do_delete=False,
|
||||
detailed=True,
|
||||
boot_server_kwargs=None
|
||||
):
|
||||
|
||||
if boot_server_kwargs is None:
|
||||
boot_server_kwargs = {}
|
||||
|
||||
security_groups = self._create_security_groups(
|
||||
security_group_count)
|
||||
self._create_rules_for_security_group(security_groups,
|
||||
rules_per_security_group)
|
||||
|
||||
secgroups_names = [sg.name for sg in security_groups]
|
||||
"""boot server"""
|
||||
server = self._boot_server(image, flavor,
|
||||
security_groups=secgroups_names,
|
||||
**boot_server_kwargs)
|
||||
|
||||
self._list_security_groups()
|
||||
self._list_servers(detailed)
|
||||
|
||||
if do_delete:
|
||||
self._delete_server(server)
|
||||
self._delete_security_groups(security_groups)
|
||||
|
||||
"""boot_attach_and_list"""
|
||||
@types.convert(image={"type": "glance_image"},
|
||||
flavor={"type": "nova_flavor"})
|
||||
@validation.image_valid_on_flavor("flavor", "image")
|
||||
@validation.required_services(consts.Service.NOVA)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["cinder", "nova"]})
|
||||
def boot_attach_and_list(
|
||||
self, image, flavor,
|
||||
volume_size,
|
||||
do_delete=False,
|
||||
detailed=True,
|
||||
boot_server_kwargs=None,
|
||||
create_volume_kwargs=None
|
||||
):
|
||||
|
||||
if boot_server_kwargs is None:
|
||||
boot_server_kwargs = {}
|
||||
if create_volume_kwargs is None:
|
||||
create_volume_kwargs = {}
|
||||
|
||||
"""boot server"""
|
||||
server = self._boot_server(image, flavor,
|
||||
**boot_server_kwargs)
|
||||
|
||||
volume = self._create_volume(volume_size, **create_volume_kwargs)
|
||||
self._attach_volume(server, volume)
|
||||
|
||||
self._list_servers(detailed)
|
||||
|
||||
if do_delete:
|
||||
self._detach_volume(server, volume)
|
||||
self._delete_server(server)
|
||||
self._delete_volume(volume)
|
||||
|
||||
"""boot_and_list"""
|
||||
@types.convert(image={"type": "glance_image"},
|
||||
flavor={"type": "nova_flavor"})
|
||||
@validation.image_valid_on_flavor("flavor", "image")
|
||||
@validation.required_services(consts.Service.NOVA)
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["nova"]})
|
||||
def boot_and_list(
|
||||
self, image, flavor,
|
||||
do_delete=False,
|
||||
detailed=True,
|
||||
boot_server_kwargs=None
|
||||
):
|
||||
|
||||
if boot_server_kwargs is None:
|
||||
boot_server_kwargs = {}
|
||||
|
||||
"""boot server"""
|
||||
server = self._boot_server(image, flavor,
|
||||
**boot_server_kwargs)
|
||||
|
||||
self._list_servers(detailed)
|
||||
|
||||
if do_delete:
|
||||
self._delete_server(server)
|
217
doc/source/test_results/controlplane_density/index.rst
Normal file
217
doc/source/test_results/controlplane_density/index.rst
Normal file
@ -0,0 +1,217 @@
|
||||
|
||||
.. _Results_of_OpenStack_services_density_testing:
|
||||
|
||||
*********************************************
|
||||
Results of OpenStack Services density testing
|
||||
*********************************************
|
||||
|
||||
:Abstract:
|
||||
|
||||
This document includes density test results of OpenStack
|
||||
services. All tests have been performed
|
||||
regarding :ref:`controlplane_density_`
|
||||
|
||||
Environment description
|
||||
=======================
|
||||
|
||||
Environment contains 5 types of servers:
|
||||
|
||||
- rally node
|
||||
- controller node
|
||||
- compute-osd node
|
||||
- compute node
|
||||
|
||||
.. table:: Amount of servers each role
|
||||
|
||||
+------------+--------------+
|
||||
|Role |Servers count |
|
||||
+============+==============+
|
||||
|rally |1 |
|
||||
+------------+--------------+
|
||||
|controller |3 |
|
||||
+------------+--------------+
|
||||
|compute |176 |
|
||||
+------------+--------------+
|
||||
|compute-osd |20 |
|
||||
+------------+--------------+
|
||||
|
||||
Hardware configuration of each server
|
||||
-------------------------------------
|
||||
All servers have same configuration describing in table below
|
||||
|
||||
.. table:: Description of servers hardware
|
||||
|
||||
+-------+----------------+-------------------------------+
|
||||
|server |vendor,model |HP,DL380 Gen9 |
|
||||
+-------+----------------+-------------------------------+
|
||||
|CPU |vendor,model |Intel,E5-2680 v3 |
|
||||
| +----------------+-------------------------------+
|
||||
| |processor_count |2 |
|
||||
| +----------------+-------------------------------+
|
||||
| |core_count |12 |
|
||||
| +----------------+-------------------------------+
|
||||
| |frequency_MHz |2500 |
|
||||
+-------+----------------+-------------------------------+
|
||||
|RAM |vendor,model |HP,752369-081 |
|
||||
| +----------------+-------------------------------+
|
||||
| |amount_MB |262144 |
|
||||
+-------+----------------+-------------------------------+
|
||||
|NETWORK|interface_name |p1p1 |
|
||||
| +----------------+-------------------------------+
|
||||
| |vendor,model |Intel,X710 Dual Port |
|
||||
| +----------------+-------------------------------+
|
||||
| |bandwidth |10G |
|
||||
+-------+----------------+-------------------------------+
|
||||
|STORAGE|dev_name |/dev/sda |
|
||||
| +----------------+-------------------------------+
|
||||
| |vendor,model | | raid10 - HP P840 |
|
||||
| | | | 12 disks EH0600JEDHE |
|
||||
| +----------------+-------------------------------+
|
||||
| |SSD/HDD |HDD |
|
||||
| +----------------+-------------------------------+
|
||||
| |size | 3,6TB |
|
||||
+-------+----------------+-------------------------------+
|
||||
|
||||
Network configuration of each server
|
||||
------------------------------------
|
||||
All servers have the similar network configuration:
|
||||
|
||||
.. image:: configs/Network_Scheme.png
|
||||
:alt: Network Scheme of the environment
|
||||
|
||||
Here is a part of switch configuration for each switch port which is
|
||||
connected to ens1f0 interface of a server:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
switchport mode trunk
|
||||
switchport trunk native vlan 600
|
||||
switchport trunk allowed vlan 600-602,630-649
|
||||
spanning-tree port type edge trunk
|
||||
spanning-tree bpduguard enable
|
||||
no snmp trap link-status
|
||||
|
||||
Software configuration on servers with controller and compute roles
|
||||
-------------------------------------------------------------------
|
||||
|
||||
.. table:: Services on servers by role
|
||||
|
||||
+------------+---------------------------+
|
||||
|Role |Service name |
|
||||
+============+===========================+
|
||||
|controller || horizon |
|
||||
| || keystone |
|
||||
| || nova-api |
|
||||
| || nava-scheduler |
|
||||
| || nova-cert |
|
||||
| || nova-conductor |
|
||||
| || nova-consoleauth |
|
||||
| || nova-consoleproxy |
|
||||
| || cinder-api |
|
||||
| || cinder-backup |
|
||||
| || cinder-scheduler |
|
||||
| || cinder-volume |
|
||||
| || glance-api |
|
||||
| || glance-glare |
|
||||
| || glance-registry |
|
||||
| || neutron-dhcp-agent |
|
||||
| || neutron-l3-agent |
|
||||
| || neutron-metadata-agent |
|
||||
| || neutron-openvswitch-agent|
|
||||
| || neutron-server |
|
||||
| || heat-api |
|
||||
| || heat-api-cfn |
|
||||
| || heat-api-cloudwatch |
|
||||
| || ceph-mon |
|
||||
| || rados-gw |
|
||||
| || heat-engine |
|
||||
+------------+---------------------------+
|
||||
|compute || nova-compute |
|
||||
| || neutron-l3-agent |
|
||||
| || neutron-metadata-agent |
|
||||
| || neutron-openvswitch-agent|
|
||||
+------------+---------------------------+
|
||||
|
||||
.. table:: Software version on servers with controller and compute roles
|
||||
|
||||
+------------+-------------------+
|
||||
|Software |Version |
|
||||
+============+===================+
|
||||
|OpenStack |Mitaka |
|
||||
+------------+-------------------+
|
||||
|Ceph |Hammer |
|
||||
+------------+-------------------+
|
||||
|Ubuntu |Ubuntu 14.04.3 LTS |
|
||||
+------------+-------------------+
|
||||
|
||||
You can find outputs of some commands and /etc folder in the following
|
||||
archives:
|
||||
|
||||
:download:`controller-1.tar.gz <configs/controller-1.tar.gz>`
|
||||
:download:`controller-2.tar.gz <configs/controller-2.tar.gz>`
|
||||
:download:`controller-3.tar.gz <configs/controller-3.tar.gz>`
|
||||
:download:`compute-1.tar.gz <configs/compute-1.tar.gz>`
|
||||
:download:`compute-osd-1.tar.gz <configs/compute-osd-1.tar.gz>`
|
||||
|
||||
Software configuration on servers with Rally role
|
||||
-------------------------------------------------
|
||||
|
||||
Rally should be installed manually on this server. The extended instructions
|
||||
can be found in `Rally installation documentation`_
|
||||
|
||||
.. table:: Software version on server with Rally role
|
||||
|
||||
+------------+-------------------+
|
||||
|Software |Version |
|
||||
+============+===================+
|
||||
|Rally |0.4.0 |
|
||||
+------------+-------------------+
|
||||
|Ubuntu |Ubuntu 14.04.3 LTS |
|
||||
+------------+-------------------+
|
||||
|
||||
|
||||
Test results
|
||||
============
|
||||
|
||||
As a result of this part we got the following HTML file:
|
||||
|
||||
:download:`rally_report.html <results/rally_report.html>`
|
||||
|
||||
All results added below are part of this report, all values are presented in
|
||||
seconds.
|
||||
|
||||
Cinder
|
||||
------
|
||||
+---------------+---------+----------+----------+---------+---------+
|
||||
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||
+===============+=========+==========+==========+=========+=========+
|
||||
| create_volume | 2.58966 | 2.7106 | 2.55807 | 3.81035 | 2.40941 |
|
||||
+---------------+---------+----------+----------+---------+---------+
|
||||
|
||||
Neutron
|
||||
-------
|
||||
+---------------------------+----------+-----------+----------+-----------+----------+
|
||||
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||
+===========================+==========+===========+==========+===========+==========+
|
||||
| create_100_rules | 90.6873 | 160.768 | 90.1278 | 176.444 | 21.1011 |
|
||||
+---------------------------+----------+-----------+----------+-----------+----------+
|
||||
| create_10_security_groups | 9.26443 | 16.6121 | 9.28746 | 21.1762 | 1.23875 |
|
||||
+---------------------------+----------+-----------+----------+-----------+----------+
|
||||
| list_security_groups | 3.34852 | 5.61315 | 3.45464 | 7.33637 | 0.13018 |
|
||||
+---------------------------+----------+-----------+----------+-----------+----------+
|
||||
|
||||
Nova
|
||||
----
|
||||
+---------------+----------+----------+----------+----------+-----------+
|
||||
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||
+===============+==========+==========+==========+==========+===========+
|
||||
| attach_volume | 2.85446 | 3.03082 | 2.74456 | 6.36683 | 2.49666 |
|
||||
+---------------+----------+----------+----------+----------+-----------+
|
||||
| boot_server | 19.064 | 24.7443 | 18.9116 | 28.9823 | 11.2053 |
|
||||
+---------------+----------+----------+----------+----------+-----------+
|
||||
| list_servers | 4.12437 | 7.17804 | 4.11694 | 9.48992 | 0.174039 |
|
||||
+---------------+----------+----------+----------+----------+-----------+
|
||||
|
||||
.. references:
|
||||
|
||||
.. _Rally installation documentation: https://rally.readthedocs.io/en/latest/install.html
|
File diff suppressed because one or more lines are too long
@ -23,4 +23,4 @@ Test Results
|
||||
1000_nodes/index
|
||||
reliability/index
|
||||
control_plane/main
|
||||
|
||||
controlplane_density/index
|
||||
|
Loading…
Reference in New Issue
Block a user