Artem 9be96b50c6 Small changing of system tests
Change-Id: Ibc88c59ebd972933172e017afa4e2472ad71513b
2016-07-28 14:33:17 +03:00

137 lines
4.6 KiB
Python

# Copyright 2016 Mirantis, Inc.
#
# 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 fuelweb_test.helpers.decorators import log_snapshot_after_test
from proboscis import test
from stacklight_tests.ceilometer_redis import api
@test(groups=["plugins"])
class TestNodesCeilometerRedisPlugin(api.CeilometerRedisPluginApi):
"""Class for system tests for Ceilometer-Redis plugin."""
@test(depends_on_groups=["deploy_ceilometer_redis"],
groups=["check_scaling_ceilometer_redis", "scaling",
"ceilometer_redis", "system",
"add_remove_controller_ceilometer_redis"])
@log_snapshot_after_test
def add_remove_controller_ceilometer_redis(self):
"""Verify that the number of controllers can scale up and down
Scenario:
1. Revert snapshot with 5 deployed nodes in HA configuration
2. Remove one controller node and redeploy the cluster
3. Check that Ceilometer-Redis are running
4. Run OSTF
5. Add one controller node (return previous state) and
redeploy the cluster
6. Check that Ceilometer-Redis are running
7. Run OSTF
Duration 120m
"""
self.env.revert_snapshot("deploy_ceilometer_redis")
target_node = {'slave-02': ['controller', 'mongo']}
# Remove a controller
self.helpers.remove_nodes_from_cluster(target_node)
self.check_plugin_online()
# After removing a controller, one OSTF test should fail
self.run_ostf()
# Add a controller
self.helpers.add_nodes_to_cluster(target_node)
self.check_plugin_online()
self.run_ostf()
@test(depends_on_groups=["deploy_ceilometer_redis"],
groups=["check_scaling_ceilometer_redis", "scaling",
"ceilometer_redis", "system",
"add_remove_compute_ceilometer_redis"])
@log_snapshot_after_test
def add_remove_compute_ceilometer_redis(self):
"""Verify that the number of computes can scale up and down
Scenario:
1. Revert snapshot with 5 deployed nodes in HA configuration
2. Remove one controller node and redeploy the cluster
3. Check that Ceilometer-Redis are running
4. Run OSTF
5. Add one compute node (return previous state) and
redeploy the cluster
6. Check that Ceilometer-Redis are running
7. Run OSTF
Duration 120m
"""
self.env.revert_snapshot("deploy_ceilometer_redis")
target_node = {'slave-05': ['compute', 'cinder']}
# Remove a compute
self.helpers.remove_nodes_from_cluster(target_node)
self.check_plugin_online()
# After removing a compute, one OSTF test should fail
self.run_ostf()
# Add a compute
self.helpers.add_nodes_to_cluster(target_node)
self.check_plugin_online()
self.run_ostf()
@test(depends_on_groups=["prepare_slaves_5"],
groups=["ceilometer_redis_createmirror_deploy_plugin",
"system", "ceilometer_redis", "createmirror"])
@log_snapshot_after_test
def ceilometer_redis_createmirror_deploy_plugin(self):
"""Run fuel-createmirror and deploy environment
Scenario:
1. Copy the Ceilometer-Redis plugin to the Fuel Master node and
install the plugin.
2. Run the following command on the master node:
fuel-createmirror
3. Create an environment with enabled plugin in the
Fuel Web UI and deploy it.
4. Run OSTF.
Duration 60m
"""
self.env.revert_snapshot("ready_with_5_slaves")
self.prepare_plugin()
self.helpers.fuel_createmirror()
self.helpers.create_cluster(name=self.__class__.__name__,
settings={'ceilometer': True})
self.activate_plugin()
self.helpers.deploy_cluster(self.settings.base_nodes)
self.check_plugin_online()
self.run_ostf()