Allow turningoff vattr Test Plan for 389
Approvals & Version History
Name | Date | Revision | Approved By |
Amita | May 16, 2014 | Draft |
Feature Overview
systemtap and callgrind analysis show a lot of time spent in vattr_map_namespace_sp_getlist and slapi_vattr_namespace_values_get_sp - every time a search entry is compared against a search filter, and then again when the entry is sent to the client, to see if there are any virtual attributes to add - if a user does not want or care about virtual attributes at all, there should be a way to turn off this vattr checking using a config attribute
This feature is for performance tuning and it provides the attribute "nsslapd-ignore-virtual-attrs".
And if we switch it off, it will skip checking of virtual attributes during the search operation. It should skip the virtual attribute lookup.
What won't be Tested
- Stress and performance are not covered within the scope of this test plan.
389-RPMs Required
x86_64 ::
389-ds-base-1.3.1.6-25.el7.x86_64
NOTE :: The idea of test is to enable plugins for virtual attribute and check if turning nsslapd-ignore-virtual-attrs on/off impacting the seach results.
Test Cases
Name |
Purpose |
How |
Expected Results |
Actual Results |
Bug918705_01 |
check presence of new attribute | ldapsearch -x -h localhost -p 389 -D "cn=Directory Manager" -w Secret123 -b "cn=config" | grep nsslapd-ignore-virtual-attrs | It should return the attribute nsslapd-ignore-virtual-attrs. | PASS |
Bug918705_02 | check the default value of attribute | ldapsearch -x -h localhost -p 389 -D "cn=Directory Manager" -w Secret123 -b "cn=config" | grep nsslapd-ignore-virtual-attrs |
It should be off by default :: nsslapd-ignore-virtual-attrs: off |
PASS |
Bug918705_03 | positive - check the possible values can be set for attribute |
try setting on/off using ldapmodify :: ldapmodify -x -h localhost -D "cn=Directory Manager" -w Secret123 -p 389 << EOF
|
Both values should be accepted, modifying entry "cn=config" |
PASS |
Bug918705_04 | negitive - check the possible values can be set for attribute |
try setting some invalid values using ldapmodify :: ldapmodify -x -h localhost -D "cn=Directory Manager" -w Secret123 -p 389 << EOF |
Error should come as :: ldap_modify: Operations error (1) |
PASS |
Bug918705_05 | enable virtual attribute configuring COS to test nsslapd-ignore-virtual-attrs OFF |
0. Set nsslapd-ignore-virtual-attrs=off 1. Set up COS with cosAttribute: postalcode (in definition entry) and postalcode: 117 (in template entry). 2. Add test entry without postalcode. 3. search for the test entry using ldapsearch. |
Search should return postalcode as well. | PASS |
Bug918705_06 | enable virtual attribute configuring COS to test nsslapd-ignore-virtual-attrs ON |
0. Set nsslapd-ignore-virtual-attrs=on 1. Set up COS with cosAttribute: postalcode (in definition entry) and postalcode: 117 (in template entry). 2. Add test entry without postalcode. 3. search for the test entry using ldapsearch |
Search should not return postalcode. |
PASS |
References
Bugzilla
Upstream Tickets