aboutsummaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-keystone/convert_keystone_backend.py
blob: eebd59d90f4af599149b60ab703c195ea49e009a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/python

import sys
import ConfigParser 
import shutil

path = "/etc/keystone/keystone.conf"

if len(sys.argv) != 2:
	sys.stderr.write("Usage: "+sys.argv[0]+" [sql|hybrid]\n")
	sys.exit(1)

backend = sys.argv[1]
if backend == "hybrid":
	identity_backend = 'keystone.identity.backends.hybrid_identity.Identity'
	assignment_backend = 'keystone.assignment.backends.hybrid_assignment.Assignment'
elif backend == "sql":
	identity_backend = 'keystone.identity.backends.sql.Identity'
	assignment_backend = 'keystone.assignment.backends.sql.Assignment'
else:
	sys.stderr.write("Usage: "+sys.argv[0]+" [sql|hybrid]\n")
	sys.exit(1)

shutil.copyfile(path, path + ".bak")

cfg = ConfigParser.ConfigParser()
c = cfg.read(path)

if not cfg.has_section("identity"):
	cfg.add_section("identity")

cfg.set("identity", "driver", identity_backend)

if not cfg.has_section("assignment"):
	cfg.add_section("assignment")

cfg.set("assignment", "driver", assignment_backend)

fp = open(path, "w")
cfg.write(fp)
fp.close()

exit(0)