Skip to content

Commit 2aa4b73

Browse files
committed
RANGER-4105: updated stress_policy.py to create users/groups before creating policies - #2
(cherry picked from commit 8b1c1b1)
1 parent 2e3c8bf commit 2aa4b73

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

ranger-tools/src/main/python/stress/stress_policy.py

+33-6
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@
1717
# limitations under the License.
1818

1919

20-
from apache_ranger.model.ranger_service import *
21-
from apache_ranger.client.ranger_client import *
22-
from apache_ranger.model.ranger_policy import *
23-
from threading import Thread, Lock
24-
from datetime import datetime
25-
from random import randrange
20+
from apache_ranger.model.ranger_service import *
21+
from apache_ranger.client.ranger_client import *
22+
from apache_ranger.client.ranger_user_mgmt_client import *
23+
from apache_ranger.model.ranger_policy import *
24+
from threading import Thread, Lock
25+
from datetime import datetime
26+
from random import randrange
2627
import logging
2728

2829

@@ -201,6 +202,30 @@ def delete_policies(ranger, thread_idx):
201202

202203
lock_progress.release()
203204

205+
206+
##
207+
## create principals referenced in the policies
208+
##
209+
def init_principals(ranger):
210+
user_mgmt = RangerUserMgmtClient(ranger)
211+
212+
for u_idx in range(0, max_user_count):
213+
user_name = prefix_user + str(u_idx)
214+
existing = user_mgmt.get_user(user_name)
215+
216+
if existing is None:
217+
LOG.info(" CREATING USER: %s", user_name)
218+
user_mgmt.create_user(RangerUser({ 'name': user_name, 'firstName': user_name, 'emailAddress': user_name + '@example.com', 'password': 'rangerR0cks!' }))
219+
220+
for g_idx in range(0, max_group_count):
221+
group_name = prefix_group + str(g_idx)
222+
existing = user_mgmt.get_group(group_name)
223+
224+
if existing is None:
225+
LOG.info(" CREATING GROUP: %s", group_name)
226+
user_mgmt.create_group(RangerGroup({ 'name': group_name }))
227+
228+
204229
def get_next_resource():
205230
global lock_next_resource
206231
global next_db_idx, next_tbl_idx
@@ -339,6 +364,8 @@ def reset_counts():
339364
for i in range(0, thread_count):
340365
clients.append(RangerClient(ranger_url, ranger_auth, ranger_qparams, ranger_headers))
341366

367+
init_principals(clients[0])
368+
342369
##
343370
## create threads to create policies
344371
##

0 commit comments

Comments
 (0)