Repository: cloudstack
Updated Branches:
refs/heads/master b6bf093a3 -> 3c2e8b929
CLOUDSTACK-9463: Fix dynamic-roles migrate script for old format
The old commands.properties format included the full class name such as:
createAccount=com.cloud.api.commands.CreateAccountCmd;1
The migration script did not consider this format and fails. With this fix
the migration script will process both the formats, including processing a
commands.properties file with mixed format, for example:
$ cat commands.properties
### Account commands
createAccount=1
deleteAccount=2
markDefaultZoneForAccount=com.cloud.api.commands.MarkDefaultZoneForAccountCmd;3
$ python scripts/util/migrate-dynamicroles.py -d -f commands.properties
Apache CloudStack Role Permission Migration Tool
(c) Apache CloudStack Authors and the ASF, under the Apache License,
Version 2.0
Running this migration tool will remove any default-role permissions from
cloud.role_permissions. Do you want to continue? [y/N]y
The commands.properties file has been deprecated and moved at:
commands.properties.deprecated
Running SQL query: DELETE FROM `cloud`.`role_permissions` WHERE `role_id`
in (1,2,3,4);
Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`,
`role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 1, '*', 'ALLOW',
0);
Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`,
`role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 2,
'deleteAccount', 'ALLOW', 0);
Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`,
`role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 2,
'markDefaultZoneForAccount', 'ALLOW', 1);
Static role permissions from commands.properties have been migrated into
the db
Running SQL query: UPDATE `cloud`.`configuration` SET value='true' where
name='dynamic.apichecker.enabled'
Dynamic role based API checker has been enabled!
Signed-off-by: Rohit Yadav <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f699fd4a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f699fd4a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f699fd4a
Branch: refs/heads/master
Commit: f699fd4a15c8e58c534e98d8436beedf3b54fdc5
Parents: bdc409c
Author: Rohit Yadav <[email protected]>
Authored: Fri Aug 19 17:27:20 2016 +0530
Committer: Rohit Yadav <[email protected]>
Committed: Fri Aug 19 17:33:07 2016 +0530
----------------------------------------------------------------------
scripts/util/migrate-dynamicroles.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f699fd4a/scripts/util/migrate-dynamicroles.py
----------------------------------------------------------------------
diff --git a/scripts/util/migrate-dynamicroles.py
b/scripts/util/migrate-dynamicroles.py
index d2356fb..cbb83f9 100755
--- a/scripts/util/migrate-dynamicroles.py
+++ b/scripts/util/migrate-dynamicroles.py
@@ -107,10 +107,10 @@ def main():
apiMap = {}
with open(options.commandsfile) as f:
for line in f.readlines():
- if not line or line == '' or line == '\n' or line.startswith('#'):
+ if not line or line == '' or line == '\n' or line == '\r\n' or
line.startswith('#'):
continue
name, value = line.split('=')
- apiMap[name.strip()] = value.strip()
+ apiMap[name.strip()] = value.strip().split(';')[-1]
# Rename and deprecate old commands.properties file
if not dryrun: