BIND 10 #2488: Create DHCP Test Plan
BIND 10 Development
do-not-reply at isc.org
Thu Dec 6 18:07:01 UTC 2012
#2488: Create DHCP Test Plan
-------------------------------------+-------------------------------------
Reporter: stephen | Owner:
Type: task | stephen
Priority: medium | Status:
Component: | accepted
documentation | Milestone:
Keywords: | Sprint-DHCP-20121213
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
-------------------------------------+-------------------------------------
Comment (by stephen):
Comments from Jeff Wright on [attachment:kea-test-plan-v1.txt V1 of the
test plan]
===================
Kea Test Plan !Thoughts/Notes
===================
Overall:
* What about DHCP client - is that yet supported in Kea?
* Is DHCP v4 Relay the only way that DHCP v4 clients are supported?
If Kea supports direct-connect of v4 clients, we'll need to test
that as well
* How about server failover and/or load balancing; is that supported
yet?
* Can Kea use different ports than default (67/68)?
* Any need to test BOOTP?
Specific:
* Can you crash or hang Kea (either v4 or v6) by starting/stopping
repeatedly? Or very quickly?
* Can you send Start or Stop commands more than once in a row without
something weird happening (like multiple threads/processes spinning
off)?
* Might be good to see how performance tracks with logging
level...obviously we would expect more logging => less performance
* Config: I'd like to see a full list of all config options, and I'll
see if I can come up with interesting ways to combine them that
might cause problems
* The DHCPv4 and DHCPv6 Features sections seem to only address IP
address allocation. Should we not also test other network config
params that are typically doled out by a DHCP server (e.g. net mask,
gw, etc.)…perhaps this is what is addressed in the "Options (both V4
and V6)" section of your plan?
* Some areas for "adequate" performance to test would be: connections
per second (max sustainable); connections per second (max burst rate
over a given period, to simulate network outage and subsequent flood
of reconnects from clients); client request response time; max
client capacity
* I would also like to see a "longevity" test where we have many
clients with different settings/options set, continuously
releasing/renewing leases to make sure after a certain period of
time (days?) the server is still working properly. For this test,
we might want to record metrics on the server like CPU utilization,
memory consumption, etc over time to make sure we're not increasing
without bound.
* Lease pool "leak" test for various scenarios (single pool; multiple
pools)…pool starts full; empty it (and what happens when you then
try to go one beyond empty?); fill it back up again; empty it; etc.
many many times to make sure nothing is leaking
* Might make sense to throw in some static IPs that pools must "work
around"
Other general thoughts:
* Thinking toward the future, we will want to do some interop testing
with various flavors of clients (Windows, Linux, OSX/IOS;
device-related clients, wireless cards, etc.); and server-server
interop tests with BIND9 vs BIND10, other-than-ISC servers vs. BIND
10, etc. (I don't know if this makes sense or not…do DHCP servers
"talk"?)
* Also toward the future: we might consider testing in different
network topology situations (e.g. serving requests to local
networks; thru VPN tunnels)
* What kind of boundary and negative tests can we think of? This might
particularly be useful for testing config params.
* Vulnerability testing? Packet of death/fuzz tests? mmap has some
DHCP-specific plugins, and scaly might be a great tool to use for
pit-of-death scenarios.
--
Ticket URL: <https://bind10.isc.org/ticket/2488#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list