Dantali0n b24bd7a3bb Generalize exceptions & structure of strategies
Many strategies execute very similar statements especially in
pre_execute and some might raise errors that others might not. This
same pattern of many similar statements can also be observed in
strategies their tests.

This patch addresses these issues, firstly; the BaseStrategy class gets
1 additional method _pre_execute which allows for general logic that
most strategies perform at that stage. This method can be executed
before the similarly named method of the superclass. A notable change
is that _pre_execute now handles common exception handling for
ClusterStateStale & ClusterStateNotDefined exceptions.

A similar pattern is applied to the test classes of the strategies
each of these classes now inherits from the TestBaseStrategy class.
This class provides the common attributes almost every test class for
the strategies requires such as: The mocked compute_model, mocked
audit_scope and an instance of FakerModelCollector.

Finally, some minor changes were required in test_strategy_context
& test_audit_handlers and exceptions around 0 nodes in cluster or
storage are removed.

Change-Id: Ia7154376b2448aac65cf17999cc8c3e1c8309b5b
2019-03-08 08:14:48 +01:00
2019-01-24 16:01:19 +08:00
2019-01-14 17:21:52 +03:00
2019-01-24 17:14:35 +08:00
2017-12-11 15:19:10 +03:00
2018-02-14 16:45:13 +09:00
2018-10-29 08:45:32 +00:00
2015-10-22 16:34:14 +02:00
2015-06-04 15:27:57 +02:00
2018-07-10 15:38:50 +07:00
2015-06-04 15:27:57 +02:00
2017-04-07 10:55:59 +08:00
2018-02-28 03:58:07 +00:00
2015-06-04 15:27:57 +02:00
2018-04-12 00:35:31 -07:00
2018-10-31 13:05:51 +00:00
2017-03-07 02:08:03 +00:00
2019-01-09 23:54:55 +08:00
2019-01-24 17:09:47 +08:00

========================
Team and repository tags
========================

.. image:: https://governance.openstack.org/tc/badges/watcher.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

.. Change things from this point on

..
      Except where otherwise noted, this document is licensed under Creative
      Commons Attribution 3.0 License.  You can view the license at:

          https://creativecommons.org/licenses/by/3.0/

=======
Watcher
=======

OpenStack Watcher provides a flexible and scalable resource optimization
service for multi-tenant OpenStack-based clouds.
Watcher provides a robust framework to realize a wide range of cloud
optimization goals, including the reduction of data center
operating costs, increased system performance via intelligent virtual machine
migration, increased energy efficiency and more!

* Free software: Apache license
* Wiki: https://wiki.openstack.org/wiki/Watcher
* Source: https://github.com/openstack/watcher
* Bugs: https://bugs.launchpad.net/watcher
* Documentation: https://docs.openstack.org/watcher/latest/
* Release notes: https://docs.openstack.org/releasenotes/watcher/
Description
No description provided
Readme 32 MiB
Languages
Python 99.7%
Shell 0.3%