Merge "Add keystone validate token using ceilometer scenario"

This commit is contained in:
Jenkins 2016-07-01 10:37:21 +00:00 committed by Gerrit Code Review
commit 25af9a0a40
5 changed files with 76 additions and 0 deletions
rally-jobs
rally/plugins/openstack/scenarios/authenticate
samples/tasks/scenarios/authenticate
tests/unit/plugins/openstack/scenarios/authenticate

@ -705,6 +705,22 @@
failure_rate:
max: 0
Authenticate.validate_ceilometer:
-
args:
repetitions: 2
runner:
type: "constant"
times: 10
concurrency: 5
context:
users:
tenants: 3
users_per_tenant: 5
sla:
failure_rate:
max: 0
Authenticate.validate_glance:
-
args:

@ -68,6 +68,24 @@ class Authenticate(scenario.OpenStackScenario):
for i in range(repetitions):
nova_client.flavors.list()
@validation.number("repetitions", minval=1)
@validation.required_openstack(users=True)
@scenario.configure()
def validate_ceilometer(self, repetitions):
"""Check Ceilometer Client to ensure validation of token.
Creation of the client does not ensure validation of the token.
We have to do some minimal operation to make sure token gets validated.
:param repetitions: number of times to validate
"""
ceilometer_client = self.clients("ceilometer")
with atomic.ActionTimer(self,
"authenticate.validate_ceilometer_%s_times"
% repetitions):
for i in range(repetitions):
ceilometer_client.meters.list()
@validation.number("repetitions", minval=1)
@validation.required_openstack(users=True)
@scenario.configure()

@ -0,0 +1,20 @@
{
"Authenticate.validate_ceilometer": [
{
"args": {
"repetitions": 2
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 5
},
"context": {
"users": {
"tenants": 3,
"users_per_tenant": 5
}
}
}
]
}

@ -0,0 +1,13 @@
---
Authenticate.validate_ceilometer:
-
args:
repetitions: 2
runner:
type: "constant"
times: 10
concurrency: 5
context:
users:
tenants: 3
users_per_tenant: 5

@ -56,6 +56,15 @@ class AuthenticateTestCase(test.ScenarioTestCase):
self._test_atomic_action_timer(scenario_inst.atomic_actions(),
"authenticate.validate_nova_5_times")
def test_validate_ceilometer(self):
scenario_inst = authenticate.Authenticate()
scenario_inst.validate_ceilometer(5)
self.clients("ceilometer").meters.list.assert_has_calls(
[mock.call()] * 5)
self._test_atomic_action_timer(
scenario_inst.atomic_actions(),
"authenticate.validate_ceilometer_5_times")
def test_validate_cinder(self):
scenario_inst = authenticate.Authenticate()
scenario_inst.validate_cinder(5)