<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <font face="Times New Roman, Times, serif">Hello,<br>
      <br>
      A performance bottleneck during provisioning was described
<a class="moz-txt-link-freetext" href="http://www.freeipa.org/page/V4/Performance_Improvements#typical_provisioning:_ldapadd_entries.2C_migrate-ds">http://www.freeipa.org/page/V4/Performance_Improvements#typical_provisioning:_ldapadd_entries.2C_migrate-ds</a>...<br>
      <br>
      I wrote the attached script that is following
      <a class="moz-txt-link-freetext" href="http://www.freeipa.org/page/V4/Performance_Improvements#Algorithm">http://www.freeipa.org/page/V4/Performance_Improvements#Algorithm</a><br>
      <br>
      This is a preliminary script that needs to be improved but just to
      check it matches basic requirements I am sending it to the alias
      to get some feedback.<br>
      <br>
      The output of a provisioning session is below. The steps are:<br>
    </font>
    <ul>
      <li><font face="Times New Roman, Times, serif">install
          freeipa-server</font></li>
      <li><font face="Times New Roman, Times, serif">create a
          provisioning file using
          <a class="moz-txt-link-freetext" href="https://github.com/freeipa/freeipa-tools/blob/master/create-test-data.py">https://github.com/freeipa/freeipa-tools/blob/master/create-test-data.py</a><br>
        </font></li>
      <li><font face="Times New Roman, Times, serif">ipa-provision.py
          prepare</font></li>
      <li><font face="Times New Roman, Times, serif">ipa-provision.py
          import</font></li>
      <li><font face="Times New Roman, Times, serif">ipa-provision.py
          finish</font></li>
    </ul>
    <p><font face="Times New Roman, Times, serif">Note: you will likely
        need to define the DM password with the option '-w <password>'</font><br>
    </p>
    <p><font face="Times New Roman, Times, serif">regards<br>
        thierry<br>
      </font></p>
    <br>
    <tt>/tmp/ipa-provision.py prepare -f
      /tmp/1K_users_800_hosts_groups_hostgroups_sudorules_hbac_rules.ldif 
      -d 1</tt><tt><br>
    </tt><tt>entrycache = 10485760</tt><tt><br>
    </tt><tt>dncache    = 10485760</tt><tt><br>
    </tt><tt>dbcache    = 209715200</tt><tt><br>
    </tt><tt>dblock     = 10000</tt><tt><br>
    </tt><tt>Preparation of the bulk import is now completed</tt><tt><br>
    </tt><tt>If you want to continue:</tt><tt><br>
    </tt><tt>  - run /tmp/ipa-provision.py import -f
      /tmp/1K_users_800_hosts_groups_hostgroups_sudorules_hbac_rules.ldif</tt><tt><br>
    </tt><tt>  - run /tmp/ipa-provision.py finish -b <suffix_dn></tt><tt><br>
    </tt><tt><br>
    </tt><tt>If you want to not continue:</tt><tt><br>
    </tt><tt>  - run /tmp/ipa-provision.py abort</tt><tt><br>
    </tt><tt></tt><tt><br>
    </tt><tt><br>
    </tt><tt><br>
    </tt><tt>/tmp/ipa-provision import -f
      /tmp/1K_users_800_hosts_groups_hostgroups_sudorules_hbac_rules.ldif
      -debug 2</tt><tt><br>
    </tt><tt>adding new entry
"uid=user0,cn=users,cn=accounts,dc=abc,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com"</tt><tt><br>
    </tt><tt><br>
    </tt><tt>adding new entry
"uid=user1,cn=users,cn=accounts,dc=abc,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com"</tt><tt><br>
    </tt><tt><br>
    </tt><tt>adding new entry
"uid=user2,cn=users,cn=accounts,dc=abc,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com"</tt><br>
    ...<br>
    <tt>adding new entry
"ipaUniqueID=autogenerate,cn=hbac,dc=abc,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com"</tt><tt><br>
    </tt><tt><br>
    </tt><tt>adding new entry
"ipaUniqueID=autogenerate,cn=hbac,dc=abc,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com"</tt><tt><br>
    </tt><tt></tt><tt><br>
    </tt><tt>Bulk import is now completed</tt><tt><br>
    </tt><tt>You need to run:</tt><tt><br>
    </tt><tt>  - run /tmp/ipa-provision.py finish -b <suffix_dn></tt><br>
    <br>
    <br>
    <br>
    <tt>/tmp/ipa-provision.py finish</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Waiting for (objectClass=inetorgperson) fixup to
      complete...</tt><tt><br>
    </tt><tt>Completed filter (objectClass=inetorgperson)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Waiting for (objectClass=ipausergroup) fixup to complete...</tt><tt><br>
    </tt><tt>Completed filter (objectClass=ipausergroup)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Waiting for (objectClass=ipahost) fixup to complete...</tt><tt><br>
    </tt><tt>Completed filter (objectClass=ipahost)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Waiting for (objectClass=ipahostgroup) fixup to complete...</tt><tt><br>
    </tt><tt>Completed filter (objectClass=ipahostgroup)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Waiting for (objectClass=ipasudorule) fixup to complete...</tt><tt><br>
    </tt><tt>Completed filter (objectClass=ipasudorule)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Waiting for (objectClass=ipahbacrule) fixup to complete...</tt><tt><br>
    </tt><tt>Completed filter (objectClass=ipahbacrule)</tt><tt><br>
    </tt><tt><br>
    </tt><tt>Bulk import and fixup tasks are now completed</tt><br>
    <br>
  </body>
</html>