summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPeter Stachowski <peter@tesora.com>2016-04-18 11:34:33 -0400
committerPeter Stachowski <peter@tesora.com>2016-12-26 05:35:39 +0000
commit85339a246ce569503de18fb72f17c37964705bf3 (patch)
treec1671d009e7df9dc581204eecaa2065e5ca42538 /tools
parent653406a85aadc08685253eb3dd71a0970058f7a7 (diff)
downloadtrove-85339a246ce569503de18fb72f17c37964705bf3.tar.gz
Add support for module ordering on apply
A method for specifying 'priority' modules plus a way to rank the order in which modules are applied has been added. Two new attributes 'priority_apply' and 'apply_order' are available in the payload on create and update. In addition, an is_admin flag was added as an automatic attribute, to be set when someone with admin credentials creates a module or updates an existing module with 'admin-only' options. This allows better control on the driver plugin side with regards to security concerns, etc. The attribute is now passed in to the guest 'apply' interface for use by the driver. All three of these attributes are stored in the Trove database. An admin can create a 'non-admin' module by passing in --full_access on the command line (or python interface). This will cause an error if any admin-only options are selected. Scenario tests have been added to verify that the modules are applied in the correct order. The timestamp for the 'updated' field on the guest was also enhanced to allow for fractional seconds, since most applies take less than a second. The issue where modules were allowed to be applied even if they belonged to a different datastore has been fixed and scenario tests added to check for this case. Change-Id: I7fcd0cf12790564ba62e7d6451fff96f763e539d Implements: blueprint module-management-ordering
Diffstat (limited to 'tools')
-rw-r--r--tools/trove-pylint.config14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/trove-pylint.config b/tools/trove-pylint.config
index ea041c5d..b67f5fa1 100644
--- a/tools/trove-pylint.config
+++ b/tools/trove-pylint.config
@@ -718,6 +718,18 @@
"upgrade"
],
[
+ "trove/db/sqlalchemy/migrate_repo/versions/040_module_priority.py",
+ "E1101",
+ "Instance of 'Table' has no 'create_column' member",
+ "upgrade"
+ ],
+ [
+ "trove/db/sqlalchemy/migrate_repo/versions/040_module_priority.py",
+ "no-member",
+ "Instance of 'Table' has no 'create_column' member",
+ "upgrade"
+ ],
+ [
"trove/db/sqlalchemy/migration.py",
"E0611",
"No name 'exceptions' in module 'migrate.versioning'",
@@ -1487,4 +1499,4 @@
"--rcfile=./pylintrc",
"-E"
]
-}
+} \ No newline at end of file