BIND 10 #2604: DHCP Testing: V6 Options

BIND 10 Development do-not-reply at isc.org
Mon Feb 4 17:00:36 UTC 2013


#2604: DHCP Testing: V6 Options
-------------------------------------+-------------------------------------
            Reporter:  stephen       |                        Owner:  tomek
                Type:  task          |                       Status:
            Priority:  medium        |  reviewing
           Component:  dhcp          |                    Milestone:
            Keywords:                |  Sprint-DHCP-20130214
           Sensitive:  0             |                   Resolution:
         Sub-Project:  DHCP          |                 CVSS Scoring:
Estimated Difficulty:  0             |              Defect Severity:  N/A
         Total Hours:  0             |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Changes (by marcin):

 * owner:  marcin => tomek


Comment:

 First of all, this is going to be a really useful stuff. You used your
 contempt against manual testing in the right way. :-)

 '''info.txt'''
 Instead of:
 {{{
 wget scapy.net
 mv index.html scapy-latest.zip
 unzip scapy.zip
 }}}

 maybe something like this would be easier
 {{{
 wget http://www.secdev.org/projects/scapy/files/scapy-latest.zip
 unzip scapy-latest
 }}}
 ?

 BTW, the !''unzip scapy.zip!'' will fail because you renamed that to
 !''scapy-latest.zip!''.


 Also scapy has to be installed with the root privileges:
 {{{
 sudo python setup.py install
 }}}

 It should be mentioned that lettuce must be started as root, otherwise it
 will fail.

 It should be mentioned that these are the known issues with scapy:
 {{{
 WARNING: No route found for IPv6 destination :: (no default route?)
 /usr/local/lib/python2.6/dist-packages/scapy/crypto/cert.py:10:
 DeprecationWarning: the sha module is deprecated; use the hashlib module
 instead
   import os, sys, math, socket, struct, sha, hmac, string, time
 /usr/local/lib/python2.6/dist-packages/scapy/crypto/cert.py:11:
 DeprecationWarning: The popen2 module is deprecated.  Use the subprocess
 module.
   import random, popen2, tempfile

 }}}

 and that their occurrence has no impact on the test result. Otherwise,
 someone who has a little experience with scapy and is debugging the
 particular failure may think that issues mentioned in the warning messages
 are direct or indirect reasons for the failure (until he finds out that it
 is not the case, but the time has been wasted already).

 '''General to all tests'''
 There are no tests for options being sent in a REPLY message. In theory
 you could have all tests passing but no option would be sent to the user
 in a REPLY messages if we failed to append them to REPLY messages on the
 Kea side.

 Also, there is no test that checks if the server manages to send multiple
 options in a single packet. Can this be done with the current code by just
 adding test scenario which requests multiple options and checks them?
 Such a test would check that server is not limited to just adding a single
 option.

 There is no test that checks how the server behaves when the non-
 configured option is requested.

 I am aware of the time constraints so it may be unrealistic to write these
 tests before the Feb 12th deadline. If so it is alright to skip them for
 now. However the tests that check options being added to a REQUEST
 messages should be fairly simple given that the logic is very similar to
 tests that check ADVERTISE and I would suggest to assign them the highest
 priority if time permits to write any additional tests.

 '''Script files'''
 The dates in the copyright headers are randomly chosen between 2011, 2012
 and 2013. :-)

 '''msg6.py'''
 client_send_msg: inconsistency between various cases: SOLICIT is in upper
 case, other cases are in lower case. Personally, I prefer upper case.

 send_wait_for_message:
 The comment says that the function fails if the message is not found after
 10 seconds while the timeout value in the function body is set to 2 (I
 presume seconds).

 '''srv_control.py'''
 start_srv_isc_dhcp:
 {{{
     world.processes.add_process(step, "dibbler-server", args)
 }}}

 !''dibbler-server!'' should be changed to !''isc-dhcp-server!'' I belive.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2604#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list