Commit Graph

38 Commits

Author SHA1 Message Date
Jean-Emile DARTOIS
4c3073efb4 Code refactoring - StrategyContext and Auditendpoint
This patchset aim to remove useless code in StrategyContext
and AuditEndPoint.
This patchset also add a parameter for strategy context to define the
numbers of thread of execute the strategies.

DocImpact
Change-Id: I83e87165b03b42fe6b863921502a300bd94d2982
2015-12-18 14:25:07 +00:00
Jean-Emile DARTOIS
69152f2449 Rename command to audit
This patchset is there to change the code structure.

Some Python class and packages need to be renamed
for a better compliance with the shared terminology
which provides a better understanding of Watcher
objects and components by every contributor.

This patchset is there to rename the folder command to audit

Partially implements: blueprint glossary-related-refactoring

Change-Id: I76616fb58d5e79a7dc209b80e882d216850d18a4
2015-12-16 10:23:44 +01:00
Jean-Emile DARTOIS
57cecb27f5 Remove pragma no cover from code
Add exclude_lines in the report section of .coveragerc to ignore
abstract in test coverage

Change-Id: I7863a8ba7e20358fb7cdf3cc7e4d83871a5104ef
2015-12-15 10:14:40 +01:00
Jean-Emile DARTOIS
62570525ad Tidy up - Watcher Decision Engine package
Some Python class and packages need to be renamed
for a better compliance with the shared terminology
which provides a better understanding of Watcher
objects and components by every contributor.

This patchset is there to change the code structure by adding the folder
"strategies" and "loading".

Partially implements: blueprint glossary-related-refactoring

Change-Id: I56fb24ee6762b3186eccde5983233e17bb227cc1
2015-12-14 14:33:56 +01:00
Gábor Antal
33ea5f96f8 Typo in ClusteStateNotDefined
ClusteStateNotDefined has a typo, it should be ClusterStateNotDefine

Change-Id: I727301786d47db847215d73722051e59d340f1c2
Closes-Bug: #1525818
2015-12-14 11:41:29 +01:00
Jenkins
916f4d0c08 Merge "Tidy up - Rename Base" 2015-12-14 10:27:47 +00:00
Jenkins
3fb5defc16 Merge "Removed H404, H405, H305 ignore in pep8" 2015-12-14 10:12:37 +00:00
Jean-Emile DARTOIS
35a1f0a657 Tidy up - Rename Base
Some Python class and packages need to be renamed
for a better compliance with the shared terminology
which provides a better understanding of Watcher
objects and components by every contributor.

This patchset add missing Base in class name

Partially implements: blueprint glossary-related-refactoring

Change-Id: I95a3e41fbd5fcd90a99d81c9cf278940f50c7732
2015-12-11 14:45:50 +01:00
Vincent Françoise
d934971458 Refactored Watcher codebase to add py34 support
Even though Watcher was mentioning python 3.4 as supported, it
really wasn't the case as all the unit tests were not passing in this
version of Python.

This patchset fixes all the failing tests in Python 3.4 while
keeping Watcher Python 2.7 compatible.

DocImpact
BugImpact
Change-Id: Ie74acc08ef0a2899349a4b419728c89e416a18cb
2015-12-11 13:24:02 +00:00
Jenkins
8a5eb4b6a1 Merge "Remove unreachable code in basic_consolidation.py" 2015-12-11 08:29:57 +00:00
Gábor Antal
1613bd6904 Removed H404, H405, H305 ignore in pep8
In the file tox.ini we have some pep8 rules disabled.
We should remove H404,H405,H305 from the ignore list.

Removed them from the ignore list, and got some errors.
I restructured the comments, and now with H404, H405, H305 enabled,
pep8 works without any failures.

Change-Id: Ic2aeb2a8bd47e92fbd2bb0f43fd00d44b6c220ca
Closes-Bug: #1523841
2015-12-10 19:35:52 +01:00
Gábor Antal
ba4f5569d1 Removed unnecessary code from basic_consolidation
In basic_consolidation.py has a method, called calculate_score_vm().
This method used to get vm's id as a parameter, but it was replaced
and now it gets the vm as a parameter. So we don't need to get the
vm from our vm's id, as we already have the vm.

Change-Id: I96af7fbdbe85eda8d4fc44b4b162e8ba9d4967fa
2015-12-10 18:55:16 +01:00
Gábor Antal
a62553a6a5 Remove unreachable code in basic_consolidation.py
In basic_consolidation.py there is a method called calculate_score_vm()
which had two return statements following each other. The second one
(which equals the first one) is unreachable as the first one returns.

Change-Id: Ia4877c22188fae6217e07597a2dd939633414349
Closes-Bug: #1524911
2015-12-10 18:20:35 +01:00
Jenkins
df692a8215 Merge "Rename efficiency to efficacy" 2015-12-09 15:43:43 +00:00
Jenkins
0a44b2972e Merge "Rename Meta-Action to Action" 2015-12-09 10:59:14 +00:00
Jenkins
16705f68da Merge "Removed unused enum" 2015-12-08 23:14:03 +00:00
Vincent Françoise
531373cb84 Removed unused enum
This StrategyState Enum is not used anywhere in the codebase (and
shouldn't be), so I removed it.

Change-Id: I0b5d3102b4d08856dccd751313fdd097937d8ccf
2015-12-08 14:22:22 +01:00
Jean-Emile DARTOIS
087c4d49ed Rename Meta-Action to Action
Some Python class and packages need to be renamed
for a better compliance with the shared terminology
which provides a better understanding of Watcher
objects and components by every contributor.

This patchset is there to change Meta-Action to Action

Partially implements: blueprint glossary-related-refactoring

Change-Id: Ie67b800332179be93718030ddd7a36ddc76a544c
2015-12-08 11:53:29 +01:00
Jean-Emile DARTOIS
454f70a19f Rename efficiency to efficacy
Some Python class and packages need to be renamed
for a better compliance with the shared Terminology
which provides a better understanding of Watcher
objects and components by every contributor.

This patchset is there to change efficiency to efficacy

Partially implements: blueprint glossary-related-refactoring

Change-Id: I4c84192d49a147e0fd406da35e2805143b902331
2015-12-08 09:18:48 +00:00
Jean-Emile DARTOIS
4c2d0e6345 Cleanup deprecated documentation
Since vincent mahe created a great
documentation available in doc/source
this one is deprecated

Change-Id: I81ff633771570f28a38e3d277718f0a97a9d5090
2015-12-04 18:21:47 +01:00
Jean-Emile DARTOIS
da4c9125f7 Fixed missing attribute in the data model
Querying compute.node.* with Ceilometer requires some additional
information in the cluster data model in order to build the
resource_id. This patchset add the attribute hostname and change
the query.

Change-Id: Ifcefcd70a6d0f5967ab4f638ce077e38ef214f64
Closes-Bug: #1521559
2015-12-04 12:14:25 +01:00
Jenkins
2a06c2b7cc Merge "Fixed doc generation warning" 2015-12-03 13:28:38 +00:00
Jenkins
6d17426675 Merge "Fixed tense consistency (used past) in statuses" 2015-12-03 11:06:37 +00:00
Vincent Françoise
f555e66d75 Fixed doc generation warning
The BaseStrategy interface was moved to another location but the
documentation wasn't updated accordingly, so here I updated this
import path.
As an extra, I also updated the description of the Solution which
also had an outdated import path.

Closes-Bug: #1522034
Change-Id: I8cd43e84db6945391db06ec6dfe82ce02eccc7f4
2015-12-02 16:55:12 +01:00
Jenkins
8018f74a81 Merge "Removed 'watcher_messaging' to use oslo.messaging" 2015-12-02 11:16:53 +00:00
Vincent Françoise
1cf4e15276 Added priority level to Nop action
Change-Id: I166e9cc80b1d9e326c9d65b47e38da26dffb5004
Closes-Bug: #1521898
2015-12-02 11:04:07 +01:00
Vincent Françoise
8756c70060 Removed 'watcher_messaging' to use oslo.messaging
The old 'watcher_messaging' section of the Watcher configuration file
has now been replaced by the more standard oslo.configuration one.

DocImpact

Change-Id: Ie027df023e6133f3188e57b42846083f28c282bd
2015-12-01 16:02:03 +01:00
Vincent Françoise
9078e1e138 Added 'dummy' entrypoint within watcher_strategies
This should make our 'dummy' strategy available for use.
I also removed all previously defined default goals, which means
that they will have to define it themselves from now on.
This can also be useful for future integration tests.

Change-Id: I6c43eba941022a88851a199b56a6c20f017b9e71
DocImpact
Closes-Bug: #1520178
2015-11-30 16:06:45 +01:00
Gábor Antal
6e1e445e55 Fixed tense consistency (used past) in statuses
In several places in Watcher, there are statuses which corresponds
to a status in the respective life cycle. There were used past tense
everywhere, except "SUCCESS" which was written in present tense.

So I searched for all the occurences of this state, and replaced them
with their past tense form.

Change-Id: Ic41def96d1a608da06a1e394e24704d4f06ab32a
Closes-Bug: #1520276
2015-11-27 19:10:00 +01:00
David TARDIVEL
aa1b1da759 AMQP Channel have to be set espacially to 'watcher'
Default channel used is named 'openstack'. But Watcher AMQP topics are
bound to 'watcher' channel. So, on RCPClient init, we have to set
the channel name to 'watcher' for the target.

Change-Id: Ifdbb187f1ee60f898ef0340e0c037891350ce815
Closes-Bug: #1520599
2015-11-27 16:13:03 +01:00
Vincent Françoise
eb3870a4b3 Code refactoring - Watcher Decision Engine package
This patchset is there to change the code structure.
The objective is to flatten the project file tree by merging
'api/' and 'framework/' into a single package. This also contains
some tidy ups in package naming (like using only singular nouns).

This should only affect file/folder names and their subsequent
import paths wherever they were used.

Change-Id: Ie903ba20ca5cf03b0b42efa60131d1b919b0c2c9
2015-11-26 12:06:28 +01:00
Vincent Françoise
3a03eb930c Strategy plugins documentation
Following https://review.openstack.org/#/c/245903, this patchset
documents the implementation and integration of custom Strategies
with Watcher.

Change-Id: I573758695d67d523834f145824b6f6cfdd8997fe
2015-11-24 18:02:06 +01:00
Vincent Françoise
f8a80938ef Made Decision Engine extensible via stevedore
The objective for this is to give the ability to extend the default
set of placement algorithms (i.e. strategies) currently available
in Watcher using Stevedore.

Now, you can add your new strategy as an entry point under the
'[watcher_strategies]' section.

Change-Id: I4aecf629015e41b0389d07e47220333e50bbbe1a
2015-11-23 17:38:03 +01:00
Jean-Emile DARTOIS
827563608f Integration of Ceilometer in Watcher
In current implementation is not easy to use ceilometer.
Watcher must query metrics from the Telemetry v2 API to allow an easiest integration with OpenStack components (especially devstack).

blueprint telemetry-integration
Change-Id: Ide515472f1d160925d9f4aabf48c96dea4f6bc05
2015-11-23 15:29:28 +01:00
Zhenzan Zhou
a6db530c77 Avoid dividing zero
Some flavors may set disk size 0 byte, so disk_capacity may be 0.

Change-Id: I0f2cfd5ce9f64cd94e7b6ded7865384cb2b1e190
Closes-Bug: #1517033
2015-11-17 22:04:32 +08:00
unknown
0c348313a4 Use olso.log directly
As the openstack/common is deprecated, Watcher should use oslo lib
directly to run in the openstack env. So there is much work to do
with oslo. This patch fixed the log part.

Change-Id: I3145a842fe3a22b3d08fec60d180329073edd50f
2015-11-12 16:06:11 +08:00
Jean-Emile DARTOIS
74160c5e78 consolidation of watcher
Change-Id: I9c82ef4d8a81af98afdfc34f5ad496bcade4af6a
2015-10-22 17:04:14 +02:00
David TARDIVEL
d14e057da1 initial version
Change-Id: I699e0ab082657880998d8618fe29eb7f56c6c661
2015-06-04 15:27:57 +02:00