Ticket 47573: schema push can be erronously prevented
Bug Description:
With the ticket https://fedorahosted.org/389/ticket/47490, the schema is not pushed if the consumer schema is
a superset of the supplier schema.
To determine that a schema is a superset, for each objectclass, the required attributes on the supplier are compared
with the 'required' attribute on the consumer. Same thing for the 'may' attributes.
If we have an attribute that is moved on the supplier, from the 'MUST' list to the 'MAY' list.
The supplier objectclass is a superset of the consumer objectclass, but will be evaluated to be subset => prevent schema push
Fix Description:
When looking at each consumer OC, if a 'required' attribute in missing in the related supplier OC it checks
if the attribute is present in the 'allowed' attribute in the related supplier OC.
If it is, that means the attribure was moved from 'MUST' to 'MAY' in the new supplier schema and that any
existing entry with that OC, will conform the new supplier schema
https://fedorahosted.org/389/ticket/47573
Reviewed by: Rich Megginson
Platforms tested: F17/F19(jenkins)
Flag Day: no
Doc impact: no