Merge "Add Rally test to measure docker create/delete network with/without kuryr."

This commit is contained in:
Jenkins 2016-11-07 11:57:09 +00:00 committed by Gerrit Code Review
commit ba6b15f618
6 changed files with 96 additions and 21 deletions

View File

@ -3,8 +3,8 @@
- -
runner: runner:
type: "constant" type: "constant"
times: 40 times: 20
concurrency: 20 concurrency: 1
context: context:
users: users:
tenants: 2 tenants: 2
@ -16,12 +16,29 @@
failure_rate: failure_rate:
max: 0 max: 0
Kuryr.create_and_delete_networks: Kuryr.create_and_delete_networks_with_kuryr:
- -
runner: runner:
type: "constant" type: "constant"
times: 10 times: 20
concurrency: 4 concurrency: 1
context:
users:
tenants: 2
users_per_tenant: 2
quotas:
neutron:
network: -1
sla:
failure_rate:
max: 0
Kuryr.create_and_delete_networks_without_kuryr:
-
runner:
type: "constant"
times: 20
concurrency: 1
context: context:
users: users:
tenants: 2 tenants: 2

View File

@ -43,13 +43,28 @@ class Kuryr(utils.KuryrScenario):
self._list_networks(network_list_args or {}) self._list_networks(network_list_args or {})
@scenario.configure(context={"cleanup": ["kuryr"]}) @scenario.configure(context={"cleanup": ["kuryr"]})
def create_and_delete_networks(self, network_create_args=None): def create_and_delete_networks_with_kuryr(self, network_create_args=None):
"""Create and delete a network. """Create and delete a network with kuryr.
Measure the "docker network create" and "docker network rm" command Measure the "docker network create" and "docker network rm" command
performance. performance with kuryr driver.
:param network_create_args: dict as options to create the network :param network_create_args: dict as options to create the network
""" """
network = self._create_network(network_create_args or {}) network = self._create_network(is_kuryr=True,
network_create_args=network_create_args or {})
self._delete_network(network)
@scenario.configure(context={"cleanup": ["kuryr"]})
def create_and_delete_networks_without_kuryr(self,
network_create_args=None):
"""Create and delete a network without kuryr.
Measure the "docker network create" and "docker network rm" command
performance with default driver.
:param network_create_args: dict as options to create the network
"""
network = self._create_network(is_kuryr=False,
network_create_args=network_create_args or {})
self._delete_network(network) self._delete_network(network)

View File

@ -41,17 +41,32 @@ class KuryrScenario(scenario.OpenStackScenario):
return self.docker_client.networks(names, ids) return self.docker_client.networks(names, ids)
@atomic.action_timer("kuryr.create_network") @atomic.action_timer("kuryr.create_network")
def _create_network(self, network_create_args): def _create_network(self, is_kuryr=True, network_create_args=None):
"""Create Kuryr network. """Create network with kuryr or without kuryr.
:param network_create_args: dict: name, driver and others :param network_create_args: dict: name, driver and others
:returns: dict of the created network reference object :returns: dict of the created network reference object
""" """
name = self.generate_random_name() name = self.generate_random_name()
return self.docker_client.create_network(name=name, if is_kuryr:
driver='kuryr', ipam = {
options=network_create_args "Driver": "kuryr",
) "Options": {},
"Config": [
{
"Subnet": "20.0.0.0/24",
"IPRange": "20.0.0.0/24",
"Gateway": "20.0.0.1"
}
]
}
return self.docker_client.create_network(name=name,
driver='kuryr',
ipam=ipam,
options=network_create_args)
else:
return self.docker_client.create_network(name=name,
options=network_create_args)
@atomic.action_timer("kuryr.delete_network") @atomic.action_timer("kuryr.delete_network")
def _delete_network(self, network): def _delete_network(self, network):

View File

@ -1,10 +1,10 @@
{ {
"Kuryr.create_and_delete_networks": [ "Kuryr.create_and_delete_networks_with_kuryr": [
{ {
"runner": { "runner": {
"type": "constant", "type": "constant",
"concurrency": 2, "concurrency": 2,
"times": 4 "times": 20
}, },
"args": { "args": {
"network_create_args": {} "network_create_args": {}
@ -25,4 +25,4 @@
} }
} }
] ]
} }

View File

@ -0,0 +1,28 @@
{
"Kuryr.create_and_delete_networks_without_kuryr": [
{
"runner": {
"type": "constant",
"concurrency": 2,
"times": 20
},
"args": {
"network_create_args": {}
},
"context": {
"users": {
"project_domain": "default",
"users_per_tenant": 3,
"tenants": 3,
"resource_management_workers": 10,
"user_domain": "default"
},
"quotas": {
"neutron": {
"network": -1
}
}
}
}
]
}

View File

@ -3,8 +3,8 @@
{ {
"runner": { "runner": {
"type": "constant", "type": "constant",
"concurrency": 10, "concurrency": 2,
"times": 100 "times": 20
}, },
"args": { "args": {
"network_list_args": {} "network_list_args": {}
@ -25,4 +25,4 @@
} }
} }
] ]
} }