Add Gnocchi status scenario
This patch is based on [1] and adds 'Gnocchi.get_status' scenario. [1] https://review.openstack.org/#/c/453861/ Change-Id: I3f5a7d13dbc24840a4cc811f84d063d30339cef4 Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
This commit is contained in:
parent
2480e5da0e
commit
ed58dd4866
34
rally/plugins/openstack/scenarios/gnocchi/status.py
Normal file
34
rally/plugins/openstack/scenarios/gnocchi/status.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Copyright 2017 Red Hat, Inc. <http://www.redhat.com>
|
||||||
|
#
|
||||||
|
# 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.gnocchi import utils as gnocchiutils
|
||||||
|
from rally.task import validation
|
||||||
|
|
||||||
|
"""Scenarios for Gnocchi status."""
|
||||||
|
|
||||||
|
|
||||||
|
@validation.add("required_services",
|
||||||
|
services=[consts.Service.GNOCCHI])
|
||||||
|
@validation.add("required_platform", platform="openstack", admin=True)
|
||||||
|
@scenario.configure(name="Gnocchi.get_status")
|
||||||
|
class GetStatus(gnocchiutils.GnocchiBase):
|
||||||
|
|
||||||
|
def run(self, detailed=False):
|
||||||
|
"""Get the status of measurements processing.
|
||||||
|
|
||||||
|
:param detailed: get detailed output
|
||||||
|
"""
|
||||||
|
self.admin_gnocchi.get_status(detailed)
|
19
samples/tasks/scenarios/gnocchi/get-status.json
Normal file
19
samples/tasks/scenarios/gnocchi/get-status.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"Gnocchi.get_status": [
|
||||||
|
{
|
||||||
|
"args": {
|
||||||
|
"detailed": false
|
||||||
|
},
|
||||||
|
"runner": {
|
||||||
|
"type": "constant",
|
||||||
|
"times": 10,
|
||||||
|
"concurrency": 2
|
||||||
|
},
|
||||||
|
"sla": {
|
||||||
|
"failure_rate": {
|
||||||
|
"max": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
12
samples/tasks/scenarios/gnocchi/get-status.yaml
Normal file
12
samples/tasks/scenarios/gnocchi/get-status.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
Gnocchi.get_status:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
detailed: false
|
||||||
|
runner:
|
||||||
|
type: constant
|
||||||
|
times: 10
|
||||||
|
concurrency: 2
|
||||||
|
sla:
|
||||||
|
failure_rate:
|
||||||
|
max: 0
|
@ -0,0 +1,43 @@
|
|||||||
|
# Copyright 2017 Red Hat, Inc. <http://www.redhat.com>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
import mock
|
||||||
|
|
||||||
|
from rally.plugins.openstack.scenarios.gnocchi import status
|
||||||
|
from tests.unit import test
|
||||||
|
|
||||||
|
|
||||||
|
class GnocchiStatusTestCase(test.ScenarioTestCase):
|
||||||
|
|
||||||
|
def get_test_context(self):
|
||||||
|
context = super(GnocchiStatusTestCase, self).get_test_context()
|
||||||
|
context.update({
|
||||||
|
"admin": {
|
||||||
|
"user_id": "fake",
|
||||||
|
"credential": mock.MagicMock()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return context
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(GnocchiStatusTestCase, self).setUp()
|
||||||
|
patch = mock.patch(
|
||||||
|
"rally.plugins.openstack.services.gnocchi.metric.GnocchiService")
|
||||||
|
self.addCleanup(patch.stop)
|
||||||
|
self.mock_metric = patch.start()
|
||||||
|
|
||||||
|
def test_get_status(self):
|
||||||
|
metric_service = self.mock_metric.return_value
|
||||||
|
status.GetStatus(self.context).run(False)
|
||||||
|
metric_service.get_status.assert_called_once_with(False)
|
Loading…
Reference in New Issue
Block a user