Add test plan/results for fuel-ccp
Change-Id: Ice1e61362748a31fae6ebb10e42e5e550831686c
573
doc/source/test_plans/fuel_ccp/plan.rst
Normal file
@ -0,0 +1,573 @@
|
|||||||
|
.. _fuel_ccp_test_plan:
|
||||||
|
|
||||||
|
====================================================
|
||||||
|
Fuel Containerized Control Plane performance testing
|
||||||
|
====================================================
|
||||||
|
|
||||||
|
:status: **ready**
|
||||||
|
:version: 1.0
|
||||||
|
|
||||||
|
:Abstract:
|
||||||
|
|
||||||
|
This test plan aims to provide set of tests to identify OpenStack
|
||||||
|
performance against given containerized OpenStack cloud (installed
|
||||||
|
on the top of pre-deployed Kubernetes cluster) using simple minimalistic set
|
||||||
|
of Rally tests.
|
||||||
|
|
||||||
|
Test Plan
|
||||||
|
=========
|
||||||
|
|
||||||
|
This document is inspired by
|
||||||
|
:ref:`openstack_control_plane_performance_test_plan`, and aims to cover
|
||||||
|
baseline cloud operations and extend this test suite to verify containerized
|
||||||
|
deployment approach. As :ref:`openstack_control_plane_performance_test_plan`
|
||||||
|
this test plan covers basic cloud operations e.g. VMs creation, work with the
|
||||||
|
security groups, authentication and more, as well as long-running test suites
|
||||||
|
to verify cloud stability.
|
||||||
|
|
||||||
|
Test Environment
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Preparation
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
This test plan is performed against existing OpenStack cloud installed on top
|
||||||
|
of pre-deployed Kubernetes cluster with `fuel-ccp`_ tool with pre-installed Rally
|
||||||
|
framework.
|
||||||
|
|
||||||
|
.. _fuel-ccp: http://fuel-ccp.readthedocs.io/en/latest/
|
||||||
|
|
||||||
|
Environment description
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The environment description includes hardware specification of servers,
|
||||||
|
network parameters, operation system and OpenStack deployment characteristics.
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
This section contains list of all types of hardware nodes (table below is
|
||||||
|
an example).
|
||||||
|
|
||||||
|
+-----------+-------+----------------------------------------------------+
|
||||||
|
| Parameter | Value | Comments |
|
||||||
|
+-----------+-------+----------------------------------------------------+
|
||||||
|
| model | | e.g. Supermicro X9SRD-F |
|
||||||
|
+-----------+-------+----------------------------------------------------+
|
||||||
|
| CPU | | e.g. 6 x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz |
|
||||||
|
+-----------+-------+----------------------------------------------------+
|
||||||
|
| role | | e.g. compute or network |
|
||||||
|
+-----------+-------+----------------------------------------------------+
|
||||||
|
|
||||||
|
Network
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
This section contains list of interfaces and network parameters. For
|
||||||
|
complicated cases this section may include topology diagram and switch
|
||||||
|
parameters (table below is an example).
|
||||||
|
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| Parameter | Value | Comments |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| network role | | e.g. provider or public |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| card model | | e.g. Intel |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| driver | | e.g. ixgbe |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| speed | | e.g. 10G or 1G |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| MTU | | e.g. 9000 |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
| offloading modes | | e.g. default |
|
||||||
|
+------------------+-------+-------------------------+
|
||||||
|
|
||||||
|
Software
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
This section describes installed software (table below is an example).
|
||||||
|
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| Parameter | Value | Comments |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| OS | | e.g. Ubuntu 14.04.3 |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| OpenStack | | e.g. Mitaka |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| Hypervisor | | e.g. KVM |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| Neutron plugin | | e.g. ML2 + OVS |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| L2 segmentation | | e.g. VLAN / VxLAN / GRE |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
| virtual routers | | e.g. HA / DVR |
|
||||||
|
+-----------------+-------+---------------------------+
|
||||||
|
|
||||||
|
Test tool
|
||||||
|
---------
|
||||||
|
|
||||||
|
**Rally** is a benchmarking tool that was designed specifically for OpenStack
|
||||||
|
API testing. To make this possible, **Rally** automates and unifies multi-node
|
||||||
|
OpenStack deployment, cloud verification, benchmarking & profiling. This is a
|
||||||
|
simple way to check cloud workability and performance of control plane
|
||||||
|
operations running on it.
|
||||||
|
|
||||||
|
Test Case 1: Boot and delete server
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
The most user-facing control plane operation is new virtual machine creation.
|
||||||
|
This scenario covers the most basic OpenStack server creation to present the
|
||||||
|
baseline numbers for Nova (OpenStack Compute) control plane.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|Name | Description |
|
||||||
|
+=========================+=========================================+
|
||||||
|
|IMAGE | Image from which boot server |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|FLAVOR | Flavor type from which boot server |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|ASSIGN_NIC | Bool, whether or not to auto assign |
|
||||||
|
| | NICs in Rally scenario |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|CONCURRENCY | Amount of parallel executors |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|ITERATIONS | Total amount of iterations processed by |
|
||||||
|
| | all executors |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
List of performance metrics
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
| Priority | Value | Measurement Units | Description |
|
||||||
|
+==========+=======+===================+===========================+
|
||||||
|
| 1 | | sec | Time of atomic operations |
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
|
||||||
|
Measuring performance values
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
1. Create server with FLAVOR flavor from IMAGE image through Nova API
|
||||||
|
2. Delete server through Nova API.
|
||||||
|
|
||||||
|
These 2 steps executed successively in CONCURRENCY parallel executors.
|
||||||
|
ASSIGN_NIC parameter reflects Rally scenario configuration whether to assign
|
||||||
|
NIC to the booted server in automatic fashion.
|
||||||
|
|
||||||
|
One cycle of these 2 steps is called an iteration.
|
||||||
|
ITERATIONS is a total amount of iterations which was processed by executors.
|
||||||
|
|
||||||
|
At the end of this test case you should calculate average, 90% percentile,
|
||||||
|
50% percentile, minimum and maximum for each step. You need to fill the
|
||||||
|
following tables with calculated values:
|
||||||
|
|
||||||
|
Nova
|
||||||
|
----
|
||||||
|
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+===============+======+========+========+=======+=======+
|
||||||
|
| create_server | | | | | |
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
| delete_server | | | | | |
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
Example of Rally scenario configuration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: test_plans/021-nova-boot-and-delete-baseline.yaml
|
||||||
|
:language: bash
|
||||||
|
|
||||||
|
Test Case 2: Boot and delete server with security groups
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
The most user-facing control plane operation is new virtual machine creation.
|
||||||
|
At the same time security groups management is very time consuming operation
|
||||||
|
in case of lots VMs attached to the same security group, therefore it's vital
|
||||||
|
to understand these operations performance. Standard Rally scanario is used for
|
||||||
|
this purpose (comparing with
|
||||||
|
:ref:`openstack_control_plane_performance_test_plan` fuel-ccp does not support
|
||||||
|
yet Cinder installation or appropriate Nova configuration to support live
|
||||||
|
migrations, so there is no need to write separated plugin to cover these
|
||||||
|
operations).
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|Name | Description |
|
||||||
|
+=========================+=========================================+
|
||||||
|
|IMAGE | Image from which boot server |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|FLAVOR | Flavor type from which boot server |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|SEC_GROUP_COUNT | Count of security groups |
|
||||||
|
| | to be created in one iteration |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|RULES_PER_SECURITY_GROUP | Count of rules to be added to |
|
||||||
|
| | each security group |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|CONCURRENCY | Amount of parallel executors |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|ITERATIONS | Total amount of iterations processed by |
|
||||||
|
| | all executors |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
List of performance metrics
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
| Priority | Value | Measurement Units | Description |
|
||||||
|
+==========+=======+===================+===========================+
|
||||||
|
| 1 | | sec | Time of atomic operations |
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
|
||||||
|
Measuring performance values
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
1. Successively create SEC_GROUP_COUNT security groups through Nova API.
|
||||||
|
Duration of this step represent time that control plane process
|
||||||
|
create_SEC_GROUP_COUNT_security_groups atomic operation.
|
||||||
|
2. Successively create RULES_PER_SECURITY_GROUP rules for security
|
||||||
|
groups through Nova API.
|
||||||
|
3. Create server with FLAVOR flavor from IMAGE image through Nova API
|
||||||
|
4. List all security groups through Nova API.
|
||||||
|
5. Delete server through Nova API.
|
||||||
|
6. Successively delete SEC_GROUP_COUNT security group through Nova API.
|
||||||
|
|
||||||
|
These 6 steps executed successively in CONCURRENCY parallel executors.
|
||||||
|
One cycle of these 6 steps is called an iteration.
|
||||||
|
|
||||||
|
ITERATIONS is a total amount of iterations which was processed by executors.
|
||||||
|
|
||||||
|
At the end of this test case you should calculate average, 90% percentile,
|
||||||
|
50% percentile, minimum and maximum for each step. You need to fill the
|
||||||
|
following tables with calculated values:
|
||||||
|
|
||||||
|
Neutron
|
||||||
|
-------
|
||||||
|
|
||||||
|
+--------------------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==========================+======+========+========+=======+=======+
|
||||||
|
| create_N_security_groups | | | | | |
|
||||||
|
+--------------------------+------+--------+--------+-------+-------+
|
||||||
|
| delete_N_security_groups | | | | | |
|
||||||
|
+--------------------------+------+--------+--------+-------+-------+
|
||||||
|
| create_M_rules | | | | | |
|
||||||
|
+--------------------------+------+--------+--------+-------+-------+
|
||||||
|
| delete_M_rules | | | | | |
|
||||||
|
+--------------------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Change operation name to appropriate regarding SEC_GROUP_COUNT and
|
||||||
|
RULES_PER_SECURITY_GROUP values.
|
||||||
|
|
||||||
|
Nova
|
||||||
|
----
|
||||||
|
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+===============+======+========+========+=======+=======+
|
||||||
|
| create_server | | | | | |
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
| delete_server | | | | | |
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
Example of Rally scenario configuration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: test_plans/041-nova-boot-and-delete-with-secgroups-baseline.yaml
|
||||||
|
:language: bash
|
||||||
|
|
||||||
|
|
||||||
|
Test Case 3: Boot and list servers
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
This scenario covers density aspect of server creation control plane
|
||||||
|
operation and checks how many virtual machines can be booted on top
|
||||||
|
of containerized OpenStack.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|Name | Description |
|
||||||
|
+=========================+=========================================+
|
||||||
|
|IMAGE | Image from which boot server |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|FLAVOR | Flavor type from which boot server |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|CONCURRENCY | Amount of parallel executors |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|ITERATIONS | Total amount of iterations processed by |
|
||||||
|
| | all executors |
|
||||||
|
+-------------------------+-----------------------------------------+
|
||||||
|
|
||||||
|
List of performance metrics
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
| Priority | Value | Measurement Units | Description |
|
||||||
|
+==========+=======+===================+===========================+
|
||||||
|
| 1 | | sec | Time of atomic operations |
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
|
||||||
|
Measuring performance values
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
1. Create server with FLAVOR flavor from IMAGE image through Nova API
|
||||||
|
2. List all existing servers through Nova API.
|
||||||
|
|
||||||
|
These 2 steps executed successively in CONCURRENCY parallel executors.
|
||||||
|
|
||||||
|
One cycle of these 2 steps is called an iteration.
|
||||||
|
ITERATIONS is a total amount of iterations which was processed by executors.
|
||||||
|
|
||||||
|
At the end of this test case you should calculate average, 90% percentile,
|
||||||
|
50% percentile, minimum and maximum for each step. You need to fill the
|
||||||
|
following tables with calculated values:
|
||||||
|
|
||||||
|
Nova
|
||||||
|
----
|
||||||
|
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+===============+======+========+========+=======+=======+
|
||||||
|
| create_server | | | | | |
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
| list_servers | | | | | |
|
||||||
|
+---------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
Example of Rally scenario configuration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: test_plans/051-nova-boot-and-list-baseline.yaml
|
||||||
|
:language: bash
|
||||||
|
|
||||||
|
Test Case 4: Create and delete image
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
To cover Glance control plane operations simple create and delete image
|
||||||
|
scenario can be used.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|Name | Description |
|
||||||
|
+=================+=========================================+
|
||||||
|
|IMAGE | Image to upload to glance |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|CONTAINER_FORMAT | Container format to create |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|DISK_FORMAT | Disk format to create |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|CONCURRENCY | Amount of parallel executors |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|ITERATIONS | Total amount of iterations processed by |
|
||||||
|
| | all executors |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|
||||||
|
List of performance metrics
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
| Priority | Value | Measurement Units | Description |
|
||||||
|
+==========+=======+===================+===========================+
|
||||||
|
| 1 | | sec | Time of atomic operations |
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
|
||||||
|
Measuring performance values
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
1. Create image from IMAGE with CONTAINER_FORMAT container format and
|
||||||
|
DISK_FORMAT disk format through Glance API.
|
||||||
|
2. Delete image from Glance through Glance API.
|
||||||
|
|
||||||
|
These 2 steps executed successively in CONCURRENCY parallel executors.
|
||||||
|
One cycle of thee 2 steps is called an iteration.
|
||||||
|
|
||||||
|
ITERATIONS is a total amount of iterations which was processed by executors.
|
||||||
|
|
||||||
|
At the end of this test case you should calculate average, 90% percentile,
|
||||||
|
50% percentile, minimum and maximum for each step. You need to fill the
|
||||||
|
following tables with calculated values:
|
||||||
|
|
||||||
|
Glance
|
||||||
|
------
|
||||||
|
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+======+========+========+=======+=======+
|
||||||
|
| create_image | | | | | |
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
| delete_image | | | | | |
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
Example of Rally scenario configuration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: test_plans/011-glance-create-and-delete-1g-image.yaml
|
||||||
|
:language: bash
|
||||||
|
|
||||||
|
Test Case 5: Create and list images
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
To cover Glance control plane operations simple create and list images scenario
|
||||||
|
can be used.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|Name | Description |
|
||||||
|
+=================+=========================================+
|
||||||
|
|IMAGE | Image to upload to glance |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|CONTAINER_FORMAT | Container format to create |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|DISK_FORMAT | Disk format to create |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|CONCURRENCY | Amount of parallel executors |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|ITERATIONS | Total amount of iterations processed by |
|
||||||
|
| | all executors |
|
||||||
|
+-----------------+-----------------------------------------+
|
||||||
|
|
||||||
|
List of performance metrics
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
| Priority | Value | Measurement Units | Description |
|
||||||
|
+==========+=======+===================+===========================+
|
||||||
|
| 1 | | sec | Time of atomic operations |
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
|
||||||
|
Measuring performance values
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
1. Create image from IMAGE with CONTAINER_FORMAT container format and
|
||||||
|
DISK_FORMAT disk format through Glance API.
|
||||||
|
2. List existing images through Glance API.
|
||||||
|
|
||||||
|
These 2 steps executed successively in CONCURRENCY parallel executors.
|
||||||
|
One cycle of thee 2 steps is called an iteration.
|
||||||
|
|
||||||
|
ITERATIONS is a total amount of iterations which was processed by executors.
|
||||||
|
|
||||||
|
At the end of this test case you should calculate average, 90% percentile,
|
||||||
|
50% percentile, minimum and maximum for each step. You need to fill the
|
||||||
|
following tables with calculated values:
|
||||||
|
|
||||||
|
Glance
|
||||||
|
------
|
||||||
|
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+======+========+========+=======+=======+
|
||||||
|
| create_image | | | | | |
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
| list_images | | | | | |
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
Example of Rally scenario configuration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: test_plans/012-glance-create-and-list-image.yaml
|
||||||
|
:language: bash
|
||||||
|
|
||||||
|
Test case 6: Keystone authentication
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
Description
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
To cover Keystone control plane operations simple authenticate
|
||||||
|
scenario can be used.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
+------------------+-----------------------------------------+
|
||||||
|
| Name | Description |
|
||||||
|
+==================+=========================================+
|
||||||
|
| RPS | Generated load |
|
||||||
|
+------------------+-----------------------------------------+
|
||||||
|
| ITERATIONS | Total amount of iterations processed by |
|
||||||
|
| | all executors |
|
||||||
|
+------------------+-----------------------------------------+
|
||||||
|
|
||||||
|
Measuring performance values
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
1. Authenticate in Keystone through Keystone API.
|
||||||
|
|
||||||
|
This step is executed in parallel on multiple executors to generate
|
||||||
|
RPS load.
|
||||||
|
|
||||||
|
Execution of this step is called an iteration.
|
||||||
|
|
||||||
|
ITERATIONS is a total amount of iterations which was processed by executors.
|
||||||
|
|
||||||
|
At the end of this test case you should calculate average, 90% percentile,
|
||||||
|
50% percentile, minimum and maximum for each step. You need to fill the
|
||||||
|
following tables with calculated values:
|
||||||
|
|
||||||
|
Keystone
|
||||||
|
--------
|
||||||
|
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
| Operation | Mean | 90%ile | 50%ile | Max | Min |
|
||||||
|
| | (sec)| (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+======+========+========+=======+=======+
|
||||||
|
| authenticate | | | | | |
|
||||||
|
+--------------+------+--------+--------+-------+-------+
|
||||||
|
|
||||||
|
List of performance metrics
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
| Priority | Value | Measurement Units | Description |
|
||||||
|
+==========+=======+===================+===========================+
|
||||||
|
| 1 | | sec | Time of atomic operations |
|
||||||
|
+----------+-------+-------------------+---------------------------+
|
||||||
|
|
||||||
|
Example of Rally scenario configuration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: test_plans/001-keystone-authenticate-90-rps.yaml
|
||||||
|
:language: bash
|
||||||
|
|
||||||
|
Reports
|
||||||
|
=======
|
||||||
|
|
||||||
|
Test plan execution reports:
|
||||||
|
|
||||||
|
* :ref:`fuel_ccp_test_report`
|
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
Authenticate.keystone:
|
||||||
|
-
|
||||||
|
runner:
|
||||||
|
type: "rps"
|
||||||
|
times: 120000
|
||||||
|
rps: 60
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
Authenticate.keystone:
|
||||||
|
-
|
||||||
|
runner:
|
||||||
|
type: "rps"
|
||||||
|
times: 120000
|
||||||
|
rps: 90
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
Authenticate.keystone:
|
||||||
|
-
|
||||||
|
runner:
|
||||||
|
type: "rps"
|
||||||
|
times: 120000
|
||||||
|
rps: 120
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
Authenticate.keystone:
|
||||||
|
-
|
||||||
|
runner:
|
||||||
|
type: "rps"
|
||||||
|
times: 120000
|
||||||
|
rps: 180
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
GlanceImages.create_and_delete_image:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
image_location: "{{ image_server_url }}/cirros.img"
|
||||||
|
container_format: "bare"
|
||||||
|
disk_format: "qcow2"
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 400
|
||||||
|
concurrency: 50
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 2
|
||||||
|
users_per_tenant: 3
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
GlanceImages.create_and_delete_image:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
image_location: "{{ image_server_url }}/1g.img"
|
||||||
|
container_format: "bare"
|
||||||
|
disk_format: "qcow2"
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 400
|
||||||
|
concurrency: 50
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 2
|
||||||
|
users_per_tenant: 3
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
GlanceImages.create_and_list_image:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
image_location: "{{ image_server_url }}/cirros.img"
|
||||||
|
container_format: "bare"
|
||||||
|
disk_format: "qcow2"
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: 200
|
||||||
|
concurrency: 50
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 2
|
||||||
|
users_per_tenant: 3
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
force_delete: false
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 1 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
force_delete: false
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 5 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
force_delete: false
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 40 * computes_count }}
|
||||||
|
concurrency: 10
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
auto_assign_nic: true
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 1 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
network:
|
||||||
|
start_cidr: "{{ network_cidr }}"
|
||||||
|
networks_per_tenant: 2
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
auto_assign_nic: true
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 5 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
network:
|
||||||
|
start_cidr: "{{ network_cidr }}"
|
||||||
|
networks_per_tenant: 2
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
auto_assign_nic: true
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 40 * computes_count }}
|
||||||
|
concurrency: 10
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
network:
|
||||||
|
start_cidr: "{{ network_cidr }}"
|
||||||
|
networks_per_tenant: 2
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
NovaSecGroup.boot_and_delete_server_with_secgroups:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
security_group_count: 2
|
||||||
|
rules_per_security_group: 10
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 1 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
# it's important to have only 1 tenant to have single network to load
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 10
|
||||||
|
network:
|
||||||
|
start_cidr: "{{ network_cidr }}"
|
||||||
|
networks_per_tenant: 1
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
NovaSecGroup.boot_and_delete_server_with_secgroups:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
security_group_count: 2
|
||||||
|
rules_per_security_group: 10
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 5 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
# it's important to have only 1 tenant to have single network to load
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 10
|
||||||
|
network:
|
||||||
|
start_cidr: "{{ network_cidr }}"
|
||||||
|
networks_per_tenant: 1
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
NovaSecGroup.boot_and_delete_server_with_secgroups:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
security_group_count: 2
|
||||||
|
rules_per_security_group: 10
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 40 * computes_count }}
|
||||||
|
concurrency: 10
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
# it's important to have only 1 tenant to have single network to load
|
||||||
|
tenants: 1
|
||||||
|
users_per_tenant: 10
|
||||||
|
network:
|
||||||
|
start_cidr: "{{ network_cidr }}"
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_list_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
detailed: True
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 1 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_list_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
detailed: True
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 5 * computes_count }}
|
||||||
|
concurrency: 5
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_list_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
detailed: True
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 40 * computes_count }}
|
||||||
|
concurrency: 10
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_list_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
detailed: True
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 40 * computes_count }}
|
||||||
|
concurrency: 40
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
NovaServers.boot_and_list_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
flavor:
|
||||||
|
name: "^scaletest$"
|
||||||
|
image:
|
||||||
|
name: "^cirros$"
|
||||||
|
detailed: True
|
||||||
|
runner:
|
||||||
|
type: "constant"
|
||||||
|
times: {{ 80 * computes_count }}
|
||||||
|
concurrency: 80
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
tenants: 10
|
||||||
|
users_per_tenant: 10
|
||||||
|
quotas:
|
||||||
|
nova:
|
||||||
|
instances: -1
|
||||||
|
cores: -1
|
||||||
|
ram: -1
|
||||||
|
floating_ips: -1
|
||||||
|
security_groups: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
security_group: -1
|
||||||
|
security_group_rule: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
BIN
doc/source/test_results/fuel_ccp/configs/Network_Scheme.png
Normal file
After Width: | Height: | Size: 12 KiB |
373
doc/source/test_results/fuel_ccp/index.rst
Normal file
@ -0,0 +1,373 @@
|
|||||||
|
.. _`fuel_ccp_test_report`:
|
||||||
|
|
||||||
|
===================================================
|
||||||
|
Fuel Containerized Control Plane performance report
|
||||||
|
===================================================
|
||||||
|
|
||||||
|
:Abstract:
|
||||||
|
|
||||||
|
This document includes Fuel CCP control plane performance test results for
|
||||||
|
various environments (from 50 to 350 nodes). All tests have been performed
|
||||||
|
regarding :ref:`fuel_ccp_test_plan`
|
||||||
|
|
||||||
|
Environment description
|
||||||
|
=======================
|
||||||
|
|
||||||
|
For Kubernetes pre-deployment `Kargo tool`_ was used. More information about
|
||||||
|
*fuel-ccp* and how it can be installed can be found in
|
||||||
|
`official documentation`_.
|
||||||
|
|
||||||
|
.. _Kargo tool: https://github.com/kubespray/kargo
|
||||||
|
.. _official documentation: http://fuel-ccp.readthedocs.io/en/latest/
|
||||||
|
|
||||||
|
Hardware configuration of each server
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
All servers have 3 types of configuration describing in table below
|
||||||
|
|
||||||
|
.. table:: Description of servers hardware type 1
|
||||||
|
|
||||||
|
+-------+----------------+---------------------------------+
|
||||||
|
|server |vendor,model |Dell PowerEdge R630 |
|
||||||
|
+-------+----------------+---------------------------------+
|
||||||
|
|CPU |vendor,model |Intel,E5-2680 v3 |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |processor_count |2 |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |core_count |12 |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |frequency_MHz |2500 |
|
||||||
|
+-------+----------------+---------------------------------+
|
||||||
|
|RAM |vendor,model |Samsung, M393A2G40DB0-CPB |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |amount_MB |262144 |
|
||||||
|
+-------+----------------+---------------------------------+
|
||||||
|
|NETWORK|interface_name s|eno1, eno2 |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |vendor,model |Intel,X710 Dual Port |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |bandwidth |10G |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |interface_names |enp3s0f0, enp3s0f1 |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |vendor,model |Intel,X710 Dual Port |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |bandwidth |10G |
|
||||||
|
+-------+----------------+---------------------------------+
|
||||||
|
|STORAGE|dev_name |/dev/sda |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |vendor,model | | raid1 - Dell, PERC H730P Mini |
|
||||||
|
| | | | 2 disks Intel S3610 |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |SSD/HDD |SSD |
|
||||||
|
| +----------------+---------------------------------+
|
||||||
|
| |size | 3,6TB |
|
||||||
|
+-------+----------------+---------------------------------+
|
||||||
|
|
||||||
|
.. table:: Description of servers hardware type 2
|
||||||
|
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|server |vendor,model |Lenovo ThinkServer RD550 |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|CPU |vendor,model |Intel,E5-2680 v3 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |processor_count |2 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |core_count |12 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |frequency_MHz |2500 |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|RAM |vendor,model |Samsung, M393A2G40DB0-CPB |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |amount_MB |262144 |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|NETWORK|interface_name s|enp3s0f0, enp3s0f1 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model |Intel,X710 Dual Port |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |bandwidth |10G |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |interface_names |ens2f0, ens2f1 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model |Intel,X710 Dual Port |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |bandwidth |10G |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|STORAGE|dev_name |/dev/sda |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model | | raid1 - Lenovo 720ix |
|
||||||
|
| | | | 2 disks Intel S3610 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |SSD/HDD |SSD |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |size |799GB |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|
||||||
|
.. table:: Description of servers hardware type 3
|
||||||
|
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|server |vendor,model |Lenovo ThinkServer RD650 |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|CPU |vendor,model |Intel,E5-2670 v3 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |processor_count |2 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |core_count |12 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |frequency_MHz |2500 |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|RAM |vendor,model |Samsung, M393A2G40DB0-CPB |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |amount_MB |131916 |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|NETWORK|interface_name s|enp3s0f0, enp3s0f1 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model |Intel,X710 Dual Port |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |bandwidth |10G |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |interface_names |ens2f0, ens2f1 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model |Intel,X710 Dual Port |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |bandwidth |10G |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|STORAGE|dev_name |/dev/sda |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model | | raid1 - Lenovo 720ix |
|
||||||
|
| | | | 2 disks Intel S3610 |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |SSD/HDD |SSD |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |size |799GB |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |dev_name |/dev/sdb |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |vendor,model | | raid10 - Lenovo 720ix |
|
||||||
|
| | | | 10 disks 2T |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |SSD/HDD |HDD |
|
||||||
|
| +----------------+-------------------------------+
|
||||||
|
| |size |9999GB |
|
||||||
|
+-------+----------------+-------------------------------+
|
||||||
|
|
||||||
|
Network configuration of each server
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
All servers have same network configuration:
|
||||||
|
|
||||||
|
.. image:: configs/Network_Scheme.png
|
||||||
|
:alt: Network Scheme of the environment
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
Test results
|
||||||
|
============
|
||||||
|
|
||||||
|
Test Case 1: Boot and delete server
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
The following set of results is dedicated to investigate how Nova installed
|
||||||
|
against Kubernetes cluster via fuel-ccp tool is behaving on various scale.
|
||||||
|
|
||||||
|
200 nodes OpenStack cluster, concurrency 5, 910 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
NovaServers.boot_and_delete_server scenario in
|
||||||
|
:download:`nova_200_nodes.html <reports/nova_200_nodes.html>`
|
||||||
|
|
||||||
|
.. image:: reports/200_nodes_boot_and_delete.png
|
||||||
|
:alt: Boot and delete servers Rally scenario (200 nodes)
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+======================+===========+===========+===========+===========+===========+
|
||||||
|
| boot_server | 4.001 | 5.001 | 5.135 | 7.686 | 3.785 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| delete_server | 2.346 | 2.487 | 2.517 | 3.769 | 2.297 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
|
||||||
|
350 nodes OpenStack cluster, concurrency 5, 1750 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
NovaServers.boot_and_delete_server scenario in
|
||||||
|
:download:`nova_350_nodes.html <reports/nova_350_nodes.html>`
|
||||||
|
|
||||||
|
.. image:: reports/350_nodes_boot_and_delete.png
|
||||||
|
:alt: Boot and delete servers Rally scenario (350 nodes)
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+======================+===========+===========+===========+===========+===========+
|
||||||
|
| boot_server | 12.679 | 16.853 | 18.539 | 71.071 | 3.899 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| delete_server | 6.261 | 8.365 | 8.613 | 14.747 | 0.842 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
|
||||||
|
Test Case 2: Boot and list servers
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
The following set of results is dedicated to investigate how Nova installed
|
||||||
|
against Kubernetes cluster via fuel-ccp tool is behaving on various scale.
|
||||||
|
|
||||||
|
150 nodes OpenStack cluster, concurrency 20, 5520 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Tested density: 40 VMs per compute node
|
||||||
|
|
||||||
|
NovaServers.boot_and_list_server scenario in
|
||||||
|
:download:`nova_150_nodes_20.html <reports/nova_150_nodes_20.html>`
|
||||||
|
|
||||||
|
.. image:: reports/150_nodes_boot_and_list_20.png
|
||||||
|
:alt: Boot and list servers Rally scenario (150 nodes)
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+======================+===========+===========+===========+===========+===========+
|
||||||
|
| list_servers | 4.381 | 7.135 | 7.69 | 172.788 | 0.105 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| boot_server | 16.931 | 21.05 | 22.203 | 102.507 | 4.717 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
|
||||||
|
150 nodes OpenStack cluster, concurrency 40, 5520 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Tested density: 40 VMs per compute node
|
||||||
|
|
||||||
|
NovaServers.boot_and_list_server scenario in
|
||||||
|
:download:`nova_150_nodes_40.html <reports/nova_150_nodes_40.html>`
|
||||||
|
|
||||||
|
.. image:: reports/150_nodes_boot_and_list_40.png
|
||||||
|
:alt: Boot and list servers Rally scenario (150 nodes)
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+======================+===========+===========+===========+===========+===========+
|
||||||
|
| list_servers | 4.656 | 7.607 | 7.963 | 166.783 | 0.188 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| boot_server | 19.773 | 25.958 | 29.396 | 197.92 | 9.574 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
|
||||||
|
200 nodes OpenStack cluster, concurrency 5, 910 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Tested density: 5 VMs per compute node
|
||||||
|
|
||||||
|
NovaServers.boot_and_list_server scenario in
|
||||||
|
:download:`nova_200_nodes.html <reports/nova_200_nodes.html>`
|
||||||
|
|
||||||
|
.. image:: reports/200_nodes_boot_and_list_5.png
|
||||||
|
:alt: Boot and list servers Rally scenario (200 nodes)
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+======================+===========+===========+===========+===========+===========+
|
||||||
|
| list_servers | 0.272 | 0.424 | 0.476 | 0.644 | 0.106 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| boot_server | 4.017 | 5.037 | 5.13 | 5.437 | 3.794 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
|
||||||
|
200 nodes OpenStack cluster, concurrency 40, 7280 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Tested density: 40 VMs per compute node
|
||||||
|
|
||||||
|
NovaServers.boot_and_list_server [2] scenario in
|
||||||
|
:download:`nova_200_nodes.html <reports/nova_200_nodes.html>`
|
||||||
|
|
||||||
|
.. image:: reports/200_nodes_boot_and_list_40.png
|
||||||
|
:alt: Boot and list servers Rally scenario (200 nodes)
|
||||||
|
:width: 650px
|
||||||
|
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+======================+===========+===========+===========+===========+===========+
|
||||||
|
| list_servers | 4.237 | 5.944 | 7.994 | 130.39 | 0.111 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
| boot_server | 11.978 | 15.767 | 17.764 | 55.431 | 3.911 |
|
||||||
|
+----------------------+-----------+-----------+-----------+-----------+-----------+
|
||||||
|
|
||||||
|
Test case 3: Keystone authentication
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
The following set of results is dedicated to investigate how Keystone installed
|
||||||
|
against Kubernetes cluster via fuel-ccp tool is behaving under various requests
|
||||||
|
per second load. For more information the full Rally report can be used:
|
||||||
|
:download:`keystone.html <reports/keystone_tuning.html>`. Failed scenarios are
|
||||||
|
related either to the Keystone configuration tuning under Containerized Control
|
||||||
|
Plane repository or to the huge enough RPS being set for all in one Keystone.
|
||||||
|
|
||||||
|
50 nodes OpenStack cluster, 30 RPS, 12000 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Authenticate.keystone [4] scenario in
|
||||||
|
:download:`keystone.html <reports/keystone_tuning.html>`
|
||||||
|
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+===========+==========+===========+==========+===========+
|
||||||
|
| authenticate | 0.08 | 0.102 | 0.113 | 1.015 | 0.06 |
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
|
||||||
|
50 nodes OpenStack cluster, 60 RPS, 12000 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Authenticate.keystone [6] scenario in
|
||||||
|
:download:`keystone.html <reports/keystone_tuning.html>`
|
||||||
|
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+===========+==========+===========+==========+===========+
|
||||||
|
| authenticate | 0.097 | 0.132 | 0.147 | 1.113 | 0.073 |
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
|
||||||
|
50 nodes OpenStack cluster, 90 RPS, 12000 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Authenticate.keystone [5] scenario in
|
||||||
|
:download:`keystone.html <reports/keystone_tuning.html>`
|
||||||
|
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+===========+==========+===========+==========+===========+
|
||||||
|
| authenticate | 0.128 | 0.179 | 0.199 | 1.111 | 0.082 |
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
|
||||||
|
50 nodes OpenStack cluster, 120 RPS, 12000 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Authenticate.keystone [7] scenario in
|
||||||
|
:download:`keystone.html <reports/keystone_tuning.html>`
|
||||||
|
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+===========+==========+===========+==========+===========+
|
||||||
|
| authenticate | 0.195 | 0.269 | 0.298 | 1.455 | 0.096 |
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
|
||||||
|
50 nodes OpenStack cluster, 150 RPS, 12000 iterations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Authenticate.keystone scenario in
|
||||||
|
:download:`keystone.html <reports/keystone_tuning.html>`
|
||||||
|
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
||||||
|
| Operation | Median| 90%ile | 95%ile | Max | Min |
|
||||||
|
| | (sec) | (sec) | (sec) | (sec) | (sec) |
|
||||||
|
+==============+===========+==========+===========+==========+===========+
|
||||||
|
| authenticate | 0.478 | 0.738 | 0.817 | 2.024 | 0.109 |
|
||||||
|
+--------------+-----------+----------+-----------+----------+-----------+
|
After Width: | Height: | Size: 147 KiB |
After Width: | Height: | Size: 186 KiB |
After Width: | Height: | Size: 145 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 175 KiB |