user_gen_group.add_option('--group-memberships', type='int', default=0,
help='Total memberships to assign across all '
'test users and all groups')
+ user_gen_group.add_option('--max-members', type='int', default=None,
+ help='Max users to add to any one group')
parser.add_option_group(user_gen_group)
sambaopts = options.SambaOptions(parser)
duration = opts.duration
except ValueError as e:
- if not e.message.startswith('need more than'):
+ if not str(e).startswith('need more than'):
raise
model = traffic.TrafficModel()
sys.exit(1)
if opts.generate_users_only:
+ # generate computer accounts for added realism. Assume there will be
+ # some overhang with more computer accounts than users
+ computer_accounts = int(1.25 * number_of_users)
traffic.generate_users_and_groups(ldb,
opts.instance_id,
opts.fixed_password,
opts.number_of_users,
opts.number_of_groups,
- opts.group_memberships)
+ opts.group_memberships,
+ opts.max_members,
+ machine_accounts=computer_accounts,
+ traffic_accounts=False)
sys.exit()
tempdir = tempfile.mkdtemp(prefix="samba_tg_")
opts.fixed_password,
number_of_users,
opts.number_of_groups,
- opts.group_memberships)
+ opts.group_memberships,
+ opts.max_members,
+ machine_accounts=len(conversations),
+ traffic_accounts=True)
accounts = traffic.generate_replay_accounts(ldb,
opts.instance_id,