<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Good morning. (It’s morning where I am.)</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">I’ve written several plugins for my deployment, including a DHCP plugin, and I’m trying to figure out the best way to deploy them onto production servers.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Let’s start with the schema. I could copy a schema file (e.g., 89dhcp.ldif and others) into /etc/dirsrv/slapd-REALM/schema and do a schema reload, or I could use ldapmodify to write the schema directly into the running system so it gets written into /etc/dirsrv/slapd-REALM/schema/99user.ldif.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Is there any reason to prefer one over the other? Doing it the first way seems more tidy to me, but it has to be done on each server separately, which makes me wonder if it might cause things to get weird with respect to replication during that short span of time when one server has the schema and the other doesn’t. The Red Hat Directory Server documentation stops short of saying that local schemata should always be installed with ldapmodify into 99user.ldif, but it seems to kind of head-fake in that direction, so I’m not sure what the right method is.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Then there are the update files. For the DHCP plugin, for instance, I have a short update file that initializes a few objects (see below). Is it better to just RUN this update against a live server with ipa-ldap-updater, or is it better to INSTALL this file in /usr/share/ipa/updates so it stays on the server permanently? Will the second approach be better in case of upgrades or whatever?</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Thanks very much for taking the time. I hope my questions made sense.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Jeffery</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">DHCP update file for reference, if necessary:</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><div id="bloop_customfont" style="margin: 0px;">dn: cn=dhcp,$SUFFIX</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: top</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: dhcpService</div><div id="bloop_customfont" style="margin: 0px;">add: dhcpStatements: authoritative</div><div id="bloop_customfont" style="margin: 0px;">add: dhcpStatements: default-lease-time 43200</div><div id="bloop_customfont" style="margin: 0px;">add: dhcpStatements: max-lease-time 86400</div><div id="bloop_customfont" style="margin: 0px;">add: dhcpStatements: one-lease-per-client on</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">dn: cn=dhcpHosts,cn=Schema Compatibility,cn=plugins,cn=config</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: top</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: extensibleObject</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-container-group: cn=hosts,cn=dhcp,$SUFFIX</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-search-base: cn=computers,cn=accounts,$SUFFIX</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-search-filter: (&(macAddress=*)(fqdn=*)(objectClass=ipaHost))</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-entry-rdn: cn=%{fqdn}</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-entry-attribute: objectClass=dhcpHost</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-entry-attribute: dhcpHWAddress=ethernet %{macAddress}</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-entry-attribute: dhcpStatements=fixed-address %{fqdn}</div><div id="bloop_customfont" style="margin: 0px;">add: schema-compat-entry-attribute: dhcpOption=host-name "%{fqdn}"</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">dn: cn=DHCP Administrators,cn=privileges,cn=pbac,$SUFFIX</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: top</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: groupofnames</div><div id="bloop_customfont" style="margin: 0px;">add: objectClass: nestedgroup</div><div id="bloop_customfont" style="margin: 0px;">only: description: DHCP Administrators</div><div id="bloop_customfont" style="margin: 0px;"><br></div><div id="bloop_customfont" style="margin: 0px;">plugin: update_managed_permissions</div></div><br><div class="bloop_sign" id="bloop_sign_1462806811806416128"></div></body></html>