Skip to content

Commit c9147f7

Browse files
committed
Adds Keystone AD update script
1 parent f06fd5b commit c9147f7

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

keystone_update_ad_schema.py

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright 2015 Cloudbase Solutions Srl
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
# not use this file except in compliance with the License. You may obtain
5+
# a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12+
# License for the specific language governing permissions and limitations
13+
# under the License.
14+
15+
import ldap
16+
17+
ldap_server = "ldap://localhost"
18+
ldap_domain = "DC=osdemo,DC=local"
19+
ldap_user = "OSDEMO\\Administrator"
20+
ldap_password = "Passw0rd"
21+
22+
cn = "CN=Organizational-Role,CN=Schema,CN=Configuration,%s" % ldap_domain
23+
24+
l = ldap.initialize(ldap_server)
25+
l.simple_bind_s(ldap_user, ldap_password)
26+
org_role = l.search_s(cn, ldap.SCOPE_BASE)[0]
27+
28+
if not "groupOfNames" in org_role[1].get("possSuperiors", []):
29+
l.modify_s(cn, [(ldap.MOD_ADD, 'possSuperiors', 'groupOfNames')])
30+
31+
l.unbind()

0 commit comments

Comments
 (0)