Add a common generic dynamic loader for watcher

In watcher, an audit generates a set of actions which
aims at achieving a given goal (lower energy consumption, ...).
It is possible to configure different strategies in order to achieve
each goal. Each strategy is written as a Python class which produces
a set of actions. Today, the set of possible actions is fixed for a
given version of Watcher and enables optimization algorithms to
include actions such as instance migration, changing hypervisor state,
changing power state (ACPI level, ...).

This patchset add a common generic dynamic loader for plugins,
such as for custom Actions, Strategies, Planners, etc.

Partially implements: blueprint watcher-add-actions-via-conf

Change-Id: I59d031b93865fff2540e3973921e1bdafa95f88e
This commit is contained in:
Jean-Emile DARTOIS
2016-01-07 14:47:44 +01:00
parent 34ccb7c23e
commit c0306ea8f4
15 changed files with 244 additions and 65 deletions

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: python-watcher 0.21.1.dev32\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2016-01-05 14:22+0100\n"
"POT-Creation-Date: 2016-01-12 18:12+0100\n"
"PO-Revision-Date: 2015-12-11 15:42+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fr\n"
@@ -258,6 +258,11 @@ msgstr ""
msgid "The hypervisor could not be found"
msgstr ""
#: watcher/common/exception.py:303
#, fuzzy, python-format
msgid "Error loading plugin '%(name)s'"
msgstr "Erreur lors du chargement du module '%(name)s'"
#: watcher/common/keystone.py:59
msgid "No Keystone service catalog loaded"
msgstr ""
@@ -291,7 +296,7 @@ msgstr ""
msgid "'obj' argument type is not valid"
msgstr ""
#: watcher/decision_engine/strategy/selection/default.py:58
#: watcher/decision_engine/strategy/selection/default.py:59
#, python-format
msgid "Incorrect mapping: could not find associated strategy for '%s'"
msgstr ""

View File

@@ -7,9 +7,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: python-watcher 0.21.1.dev79\n"
"Project-Id-Version: python-watcher 0.22.1.dev9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2016-01-05 14:22+0100\n"
"POT-Creation-Date: 2016-01-12 18:12+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -256,6 +256,11 @@ msgstr ""
msgid "The hypervisor could not be found"
msgstr ""
#: watcher/common/exception.py:303
#, python-format
msgid "Error loading plugin '%(name)s'"
msgstr ""
#: watcher/common/keystone.py:59
msgid "No Keystone service catalog loaded"
msgstr ""
@@ -289,7 +294,7 @@ msgstr ""
msgid "'obj' argument type is not valid"
msgstr ""
#: watcher/decision_engine/strategy/selection/default.py:58
#: watcher/decision_engine/strategy/selection/default.py:59
#, python-format
msgid "Incorrect mapping: could not find associated strategy for '%s'"
msgstr ""