Opened 6 years ago

Closed 6 years ago

#3391 closed task (complete)

Remove all disabled DNS stuff, configure.ac update based on whole directories

Reported by: marcin Owned by: marcin
Priority: medium Milestone: Kea0.9
Component: build system Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 4
Total Hours: 4 Internal?: no

Description

This task involves removing code from kea.git that is related to BIND10 DNS (but not the framework). The task requires:

  • Removing the disabled DNS directories/libraries and updating Makefile.am files to skip those removed directories.
  • Updating configure.ac to remove the --disable-dns and --disable-dhcp options and the DNS tests.
  • Ensuring the Doxygen files are altered to remove links to the DNS documentation.
  • Disable the Lettuce tests: a number of DNS-based Lettuce features may be needed for the DDNS tests, and it will be useful if the code is available. It can be removed later.
  • Disable the building of the "examples" directory. At present, it contains a "host" program. This can be removed later when the examples hooks library is moved to that location.

Subtickets

Attachments (1)

dns-python-removal.patch (728 bytes) - added by tomek 6 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 6 years ago by marcin

  • Owner changed from marcin to UnAssigned
  • Status changed from new to reviewing

I removed all the DNS components which weren't build when the --disable-dns flag configuration flag was specified. Although not built, some of these components had header files used by other bits of bind10, so I had compilation issues when removed them. Therefore, I had to make some minimal changes to the code to not include those removed header files. Thankfully, apart from including them the code didn't really use them.

I made some changes to Doxygen. In particular I removed the DNS-related sections. In a few places I also replaced bind10 with Kea, but there is still a lot of places where that has to be revisited. And it was not the point of this ticket. The followup ticket about passing through Doxygen is #3392.

I checked that the code compiles on Ubuntu and that the distcheck goes through. I also compiled the code on Debian7 and started Kea (to make sure that removing the code didn't break anything).

Proposed ChangeLog entry:

779.	[build]*	marcin
	Removed DNS specific components from the source code tree,
	leaving only the pieces required by Kea to build. Lettuce
	DNS tests have been left but are not built.
	(Trac #3391, git abc)

comment:2 Changed 6 years ago by tomek

  • Owner changed from UnAssigned to tomek

comment:3 Changed 6 years ago by tomek

  • Add Hours to Ticket changed from 0 to 4
  • Total Hours changed from 0 to 4

Reviewing commit b6e72599dab828c5aa2a0cd04e99d7d024060fec.

Reviewing this was a bit of a challenge. But I installed git-meld script to be
able to compare branches visually and it worked great. Indeed most changes were
simply removals.

sockcreator was not removed. I presume the idea here is to reuse it eventually, right?

src/lib/asiodns/dns_service.h
Feel free to remove resolver_interface.h include rather than commenting it out.

src/lib/testutils/mockups.h
Feel free to remove xfrout_client.h include rather than commenting it out.

src/lib/dns/Makefile.am
I tried to remove python from SUBDIRS here, but later the tests failed in
src/bin/cfgmgr/plugins/tests/, complaining that TSIG python module couldn't be
loaded. After removing tsig_keys_test.py from PYTESTS, it compiled ok.
See attached patch.

I don't know the DNS part of the code well enough to say whether this is good
move or not, but getting rid of 54 cc/h files with tons of python around them
looks like a step in right direction.

configure.ac
Can you update it to show "Kea source configure results" rather than
"BIND10 source configure results"? It's just one string, but it's
a bit symbolic. Please keep the other stuff as it is now. Renaming
tons of B10_* variables will be a separate ticket on its own...


We should rename --with-dhcp-{mysql,pgsql} to --with-{mysql,pgsql} one
day, but it can wait. We should do that before 0.9, though.

What about src/bin/sysinfo? Do we want to keep it?

I suppose we need to keep stats (src/bin/stats) for a while, as
bind10-init will refuse to start if stats is missing. Oh well,
we'll get rid of it with the rest of the framework.


Changes look good. Regardless if you choose to take my patch for python in libdns
or not, the ticket is ready to go.

Changed 6 years ago by tomek

comment:4 Changed 6 years ago by tomek

  • Component changed from dhcp to build system
  • Owner changed from tomek to marcin

comment:5 Changed 6 years ago by marcin

  • Resolution set to complete
  • Status changed from reviewing to closed

Merged with commit a4991d9c514ff68478d6966296988e6bd9c2c933

Note: See TracTickets for help on using tickets.