BIND 10 #2607: DHCP Extended Testing
BIND 10 Development
do-not-reply at isc.org
Wed Mar 20 14:22:30 UTC 2013
#2607: DHCP Extended Testing
-------------------------------------+-------------------------------------
Reporter: stephen | Owner: tmark
Type: task | Status:
Priority: medium | reviewing
Component: dhcp | Milestone:
Keywords: | Sprint-DHCP-20130328
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 => tmark
Comment:
Reviewed commit 11bbfbe186125f95b691719221dbcfe9f941375a.
'''v4.stability.1.txt''':
The test procedure operates on !''example!'' which complicates the
procedure quite a bit. I suggest that the test procedure mandates certain
settings. This would simplify the text (so as it is easier to follow) and
it will be consistent with the configuration file which has these values
hardcoded. If we want to keep the test procedure more generic for any
reason, we could maybe use explicit values and add a warning note in the
Test Setup that !''if for any reason the subnet configuration in the test
procedure is in conflict with the test environment, use different subnet
settings and modify the configuration file accordingly!''
(1.3.) !''For KEA see the file: kea.v4.stability.cfg!'': First of all it
should be !''kea.v4.stability.1.cfg!''. Secondly, it instructs to
configure the server while the server is not turned on (the 1.2 only
instructed to install the server which is different). Note that kea
support online configuration. Thirdly, there is no reference to the
instructions how to configure the server. Perhaps, adding a reference to
the doc/kea-test-config.txt would solve this problem.
(4.) I suggest that we avoid shorts like !''sever lease
statistics/logs!''. Note that it can be read as !''capture lease log!''
instead of !''capture server log!''. I suggest splitting !''statistics!''
and !''logs!'' into separate lines.
(5.) The step to configure the client's interface is missed. Since
interface configuration is explicitly mentioned for relay and server it
should be probably also mentioned for client.
Why not to give the instruction to run the client in the debug mode (-d)
and redirect its output to a file on the beginning of this step? If a test
executor fails to read the whole procedure before running the test, he may
start the client in the non-debug mode and then realize that he has done
wrong. This may be frustrating... especially that he may need to remove
the lease file, perhaps restart the whole test procedure, or at least he
doesn't know what to do.
(6.) How do I ensure that I received leases? If I am using dhclient I have
at least two options:
- Check that the IPv4 address has been assigned to the interface
- Check the lease file.
I would prefer to have a look into lease file because dhclient may receive
a lease but do not configure the interface as the script to configure the
interface is not specified in the command line used to run the client.
This step could probably give some guidance as how to check that.
'''kea.v4.stability.1.cfg''':
If I purely follow the instructions in the test procedure and use this
config file I am probably going to end-up running Kea using the Memfile
backend. In some tests I have overcome this problem by including the kea
configuration for data base from tests/include. This file configures the
database to use kea/kea/kea as dbname, user and password so it may not
well fit into test lab configuration but it may be tweaked to fit. The
backend selection is important step in the server configuration so it
should be mentioned somewhere.
'''v4.general.junk-reject'''
The test identifier is !''v4.general.junk-reject.1!'' while the file name
is !''v4.junk-reject.1.txt!''. Shouldn't they be consistent?
(Test Setup): Perhaps !''dig!'' could be taken into double quotes so as it
is clear it is a name of the tool. Also, the !''Dhcp6!'' should be
replaced with !''Dhcp4!''.
Test procedure:
(1.1.) !''...on which test to test!'' - this is confusing.
(2.) You may want to consider use of scripts/kea/kea-start-fresh-root.sh
and scripts/kea/kea.py to start the server and configure it using the
specified configuration file. This would also sort out the problem of
collecting the bidn10 log and kea log.
Also, the server is started but not configured.
(3.) Everything below !''Use dig to generate DNS query packets!'' better
fits to pass criteria rather than test procedure section.
(Pass criteria): The second point says that there are no errors emitted
which is contrary to the fact that we expect server to report (error) that
it was unable to parse the packet.
Gerenal comment: again the, server configuration does not select MySQL
backend to store leases. It may not be the problem because this test
should not result in creation of any lease but I would recommend running
the test against the configuration that will be used in the production
environment. Otherwise, we may test slightly different paths in the code
and who knows how that may affect the test results one day.
'''v6.stability.1.txt'''
The same comments as above for !''v4.stability.1.txt!''
'''v6.junk-reject.1.txt'''
The same comments as for !''v4.junk-reject.1.txt!''
'''both.stability.1.txt'''
It is good approach in my opinion to make use of the other test procedures
in the composite test procedure. This eliminates the need to maintain two
documents having the same content. A few minor issues...
(Test setup & Test procedure): The document says that the SAME server is
used to run Kea. It is worth to mention that clients may or may not run on
the same machine.
(References): The document refers to other test procedures. Thus, they
could be listed in the !''References!'' section.
--
Ticket URL: <http://bind10.isc.org/ticket/2607#comment:6>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list