Christopher DeMarco wrote:
I have a custom schema, which defines an objectclass to which all of my "users" belong. I'd like to add a required ("MUST") attribute to that objectclass, but I'm frightened of destroying my users :-)
Is the following procedure safe?
1. Add the desired attribute as optional ("MAY") to the objectclass in my schema. Restart slapd. 2. Apply an LDIF change to every node with that particular objectclass, setting that new attribute to some acceptable value. 3. Ensure that my "create a new user" tools will set that attribute. 4. Change my schema to require ("MUST") that attribute within that objectclass. Restart slapd.
Note that modifications are guaranteed to be atomic. A modify request complies to the schema and optional additional constraints or the modify request is completely discarded. If the LDIF you use in step 2. solely adds a single additional attribute it really makes no difference to do step 4. as step 1. in the above procedure.
And if you implement schema changes and custom scripts while having high availability requirements you should have a test system at hand for playing anyway...
Ciao, Michael.