In this changeset, I refactored the DB filter system to support
comparison operators using a django-like syntax.
A filter can take 2 forms:
- "<FIELDNAME>" which is a syntactic sugar for "<FIELDNAME>__eq"
- "<FIELDNAME>__<OPERATOR>" where <OPERATOR> is the comparison operator
to be used.
Here is the list of the supported operators:
- 'eq' (==)
- 'neq' (!=)
- 'gt' (>)
- 'gte' (>=)
- 'lt' (<)
- 'lte' (<=)
- 'in' (in)
- 'notin' (not in)
Change-Id: I53a61d50a3253342a40f0ff87cb5612ed57a3bd1
This patch fixes the StrategyContext to use the optional
attribute strategy_id.
Change-Id: Ib78581f564282de6cfc7f07495c846615ec1866a
Closed-bug: #1590357
In this changeset, I wrote a documentation detailing how one can
implement a new goal plugin. I also mention to define the efficacy
specification for a given goal.
Partially Implements: blueprint efficacy-indicator
Change-Id: Iba267ae312f248b49d4600504f11678cdc225622
I this changeset, I added the efficacy indicators both at the DB
and at the API level alongside the associated logic.
Partially Implements: blueprint efficacy-indicator
Change-Id: I824553637621da67966103c1b0c01348b09bd836
In this changeset, I broke down the execute() method to sequentially
call 3 methods:
- pre_execute()
- do_execute()
- post_execute()
This changeset also removes the cluster model parameter from the
execute() method to now become a `model` property of a strategy which
is lazy loaded whenever needed.
Partially Implements: blueprint efficacy-indicator
Change-Id: I2f697938db693acfa95b2c2fbecfdc1b733c93fd
In this changeset, I created the Watcher object for the efficacy
indicators as well as the API object which will be embedded into the
/action_plans endpoint.
Partially Implements: blueprint efficacy-indicator
Change-Id: Ibbe47613317d51a3829fe9de12540c048e8d7117
In this changeset, I added the new Efficacy, EfficacySpecification
and IndicatorSpecification classes which are the main components for
computing an efficacy.
Partially Implements: blueprint efficacy-indicator
Change-Id: I3a1d62569de2dd6bb6f9a52f6058313fa2b886ce
In this changeset, I created a new model named EfficacyIndicator
which is responsible for storing information regarding the efficacy
indicators that were computed by the strategy in its solution. Every
efficacy indicator should relate to a single Action Plan.
Partially Implements: blueprint efficacy-indicator
Change-Id: Ifc14ea5e16e92f032d7912c9b3fdc270af79cab6
In this changeset, I decoupled the notion of Goal from the Strategy
by making it a distinct object. Goals are plugins that can be loaded
just like for the strategies.
Partially Implements: blueprint efficacy-indicator
Change-Id: I4378dccd508170b305aa968843228bbc8af78895
This patch set removes normalizing for hardware.cpu.util meter
since the values that comes from ceilometer hardware.cpu.util
are already normalized.
Closes-Bug: #1588257
Change-Id: I9494f2cc9bbaa6dfd168fb515f679eb6d7f2398a
This is one of the algorithm of Intel thermal POC.
It's based on the VM workloads of hypervisors.
Change-Id: I45ab0cf0f05786e6f68025bdd315f38381900a68
blueprint: workload-balance-migration-strategy
In this changeset, I added the list of all the available plugins
for the current instance of any given Watcher service.
Partially Implements: blueprint plugins-parameters
Change-Id: I58c9724a229712b0322a578f0f89a61b38dfd80a
In this changeset, I added the possibility for all plugins to define
configuration parameters for themselves.
Partially Implements: blueprint plugins-parameters
Change-Id: I676b2583b3b4841c64c862b2b0c234b4eb5fd0fd
The main purpose of this strategy is to choose the pair VM:dest_host that
minimizes the standard deviation in a cluster best.
Change-Id: I95a31b7bcab83411ef6b6e1e01818ca21ef96883
Implements: blueprint watcher-overload-sd
Cold migration enables migrating some of the VMs which are not in active state (e.g. stopped). Cold migration can also be used for migrating active VM, although VM is shut down and hence unaccessible while migrating.
Change-Id: I89ad0a04d41282431c9773f6ae7feb41573368e3
Closes-Bug: #1564297
In this changeset, I added both the 'goal_name' and the 'strategy_name'
field.
Change-Id: Ic164df84d4e23ec75b2b2f4b358cf827d0ad7fa5
Related-Bug: #1573582
Replace assertEqual(None, *) with assertIsNone in tests to have
more clear messages in case of failure.
Change-Id: I98261ef7cca06447ea9d443a2c287c046f380f77
Closes-Bug: #1280522
In this changeset, I fix the issue caused by the use of lazy
translations within the 'watcher-db-manage purge' subcommand.
This is caused by the PrettyTable dependency which performs
addition operations to format its tables and the __add__ magic
method is not supported by oslo_i18n._message.Message objects.
Change-Id: Idd590e882c697957cfaf1849c3d51b52797230f6
Closes-Bug: #1584652
This patch set fixes aggregate parameter for statistic_aggregation
function so we may use it with any aggregate function.
Change-Id: If586d656aadd3d098a1610a97a2f315e70351de5
Closes-Bug: #1583610
In this changeset, I just generate the .pot file for all the new
translations that were added during the implementation of this BP
Partially Implements: blueprint get-goal-from-strategy
Change-Id: I2192508afda037510f8f91092c5cfde0115dae1d
In this changeset, I remove the now unused [watcher_goals] section.
Partially Implements: blueprint get-goal-from-strategy
Change-Id: I91e4e1ac3a58bb6f3e30b11449cf1a6eb18cd0ca
In this changeset, I updated the Watcher documentation to reflect
the changes that are introduced by this blueprint.
Partially Implements: blueprint get-goal-from-strategy
Change-Id: I40be39624097365220bf7d94cbe177bbf5bbe0ed
In this changeset, I updated the purge script to now take into
account the registered goals and strategies.
Partially Implements: blueprint get-goal-from-strategy
Change-Id: I2f1d58bb812fa45bc4bc6467760a071d8612e6a4
In this changeset, I introduce the syncing of audit templates.
Partially Implements: blueprint get-goal-from-strategy
Change-Id: Ie394c12fe51f73eff95465fd5140d82ebd212599