From Fedora Project Wiki

Revision as of 06:23, 16 May 2014 by Amsharma (talk | contribs) (Created page with "= Allow turningoff vattr Test Plan for 389 = == Approvals & Version History == {| border="1" width="50%" cellspacing="3" cellpadding="2" style="" |- | bgcolor="#cc0000"...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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
dn: cn=config
changetype: modify
replace: nsslapd-ignore-virtual-attrs
nsslapd-ignore-virtual-attrs: ON
> EOF
ldapmodify -x -h localhost -D "cn=Directory Manager" -w Secret123 -p 389 << EOF
dn: cn=config
changetype: modify
replace: nsslapd-ignore-virtual-attrs
nsslapd-ignore-virtual-attrs: OFF
> 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
dn: cn=config
changetype: modify
replace: nsslapd-ignore-virtual-attrs
nsslapd-ignore-virtual-attrs: #$0n
> EOF

Error should come as ::

ldap_modify: Operations error (1)
    additional info: nsslapd-ignore-virtual-attrs: invalid value "@ ON". Valid values are "on" or "off".

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