BIND 10 Sprint Planning Meeting

2011-05-03 14:30 UTC



Review of Past Sprint - Organisational

Did we achieve the goals of the Sprint?

The goals of the sprint were:

. TSIG sign/verify
. TSIG-enabled "host" command
. Python TSIG bindings
. Logging interface for 3 modules

(These can be found at can be found at

Did not achieve them. Suffered from fact that original crypto API ticket took so long.

Were there too many dependencies in the tasks?

At the teleconference on 2011-04-26 (, there was a lot of discussion about dependencies between the tasks. Did this hinder the sprint? If so, how can we avoid it in future?

Jinmei: Not sure - Python bindings depend on other tasks. There are dependencies, but not too many. Other problem is that we are not so sure about details of TSIG tasks. Some tasks are probably too big - if they were divided into sub-tasks, we could have parallelised the work. Feels that goal was a bit ambitious.

Stephen: Total estimated difficulty of completed tasks ~76 (two tasks to be estimated). Compares with total of 79 for last sprint.

Michal: When people looked at TSIG tasks and there were unsatisfied dependencies they started on something else. Then did not switch immediately when dependency was satisfied.

Stephen: So should we break tasks down more?

Larissa: Yes.

Michal: There is still a critical path - need to get used to it and estimate with the knowledge that it will be there.

Jinmei: Difficulty is that it's not so obvious how to break down a big task before starting it.

Jelte: Tasks were broken down, but crypto took so much time. Should have used a "higher bandwidth" way to get to final design - the current system of review took three iterations.

Stephen: Should we have put crypto design as a task in one sprint and then implementation in another?

Jelte: Yes. Also, it should not have been a single-person task.

Jinmei: Many integration issues because of introduction of Botan, and this took some time, which was part of reason we did not make progress. Should expect something like this if we are going to add dependency on external library. Should need to plan accordingly.

Jelte: Agreed - then it would not hold back other stuff.

Review of Past Sprint - Technical

Any technical problems that may have an impact on issues such as BIND 10 design, implementation, build procedures, testing etc?


Jinmei's status report on the various TSIG tickets:

Jinmei: Only completed some of the tasks. Only completed signing - need to complete verify. Need to add TSIG to b10-auth (#875, not originally planned). Suggest that we defer #856 (add ability to send TSIG query to src/bin/host) as this was added as a user-visible feature but we don't release "host".

Jinmei: A number of things are awaiting review and many thing depend on it (so do reviews). May be able to parallelise - do part of #815 (xfrin) if we assume that #814 (currently in review) is OK.

Jelte: If #813 is not OK, work we have already started needs to be changed, but it is a small amount of work. Not a reason not to start the work.

Stephen: Think that we should go ahead and run the risk of rework.

Jinmei: OK - but #814 still needs completing.

Stephen: To summarise - review tasks more important than new tasks, and TSIG-related tasks are the most important of the review tasks.

Jinmei: What about #856?

Jerry: Currently depends on #871. Not currently started.

Michal: Suggest we set it aside.

Stephen: Agree - Jerry will reset task to "UnAssigned" and it will be put on the task backlog.


Own logging code v log4cplus

Stephen: Can implement BIND 9 logging in BIND 10, but log4cplus seems to be OK (licence-wise). What should we do?

Michal: Prefer log4cplus - BIND 9 code brings in too much other stuff (in libisc). But is this a branch of log4cxx.

Jeremy: log4cplus adds a lot of Windows stuff. Would save time, as libisc does not provide all these features.

Jinmei: What's the current status of the logging?

Stephen: The current version is just a fix to cope with problems we had with log4cxx. Does not have full features - just logs to stdout.

Jinmei: Seem to be concentrating on BIND 9 and log4cplus - are we thinking about other things?

Jeremy: Have a third choice - write our own.

Michal: Importing BIND is less work that writing our own.

Stephen: log4cxx was chosen because it followed log4j and was written by Apache (so presumably was supported).

Jeremy: log4cplus is used for commercial software.

Stephen: Suggest we go for log4cplus. If it doesn't work, we can change it (it's hidden behind the BIND 10 logging interface).

Jinmei: Agree we should try dedicated library first.

Summary: Add task to current sprint to implement logging using log4cplus.

Michal: Suggest we concentrate on TSIG

Jelte: Should we have a task to check it works on all systems?

Jinmei: Agree.

Jeremy: Tested it on a few systems. Release notes suggests it works on a wide range of systems.

Jelte: (referred back to problems implementing Botan.)

Stephen: Suggest we do this as a separate task. Should log4cxx be a subproject of BIND 10 or should we require users to separately install it?

Michal: Prefer separate download.

Stephen: Suggest we add a task to check that log4cplus builds on all our tests systems.

Changing the form of message file

Stephen: Two things - changing format of message file, and use of positional parameters.

Michal: Currently have simple line of text then description paragraph with each line prefixed with a "+". Suggest that we prefix single line with a symbol and description text without a symbol - makes it easier to format the text in the message file.

Jermey: Sounds OK

Jelte: No objections.

Stephen: And positional parameters?

Michal: Good - should avoid problems if someone puts wrong format string in. Also solves problems for different word orders in different languages. And also will handle strings and the like - avoid need for constructs such as xxx.toText().c_str().

Summary: Stephen will create tickets for these changes and put in next sprint.

Sprint Planning

What are the goals for the forthcoming sprint?

This sprint will result in the release of a version of BIND 10. Shane has outlined the priorities for the next sprint in Reproduced here, these are:

. Finish TSIG
. Continue to add logging
. Update documentation on added features before the release (Jeremy has a list and will create tickets)
. Bug fixes (please nominate your favorites, I vote for #848 which should be a 1-line fix)

What tasks do we carry forwards? (Unfinished tasks in the current sprint can be found here.

What tasks do we add?

What unfinished tasks do we delete?

Stephen: take through all tasks in Jinmei's email message except #856.

Michal: Regarding logging, should we wait until change to interface is done, as change to logging interface will mean that changes are required to message files etc?

Stephen: Leave #743 in, but it becomes dependent on changes to logging interface. Tickets for this are:

  • update message file format (concerning "+' sign in description field)
  • update logging interface to use positional parameters
  • Update current logging code to use new interface

Update documentation. Jeremy will create one ticket listing changes.

Bug fixes: Jeremy nominates #833 and #870 and will add a further four bugs to the new sprint.

Any Other Business

Jeremy: Botan support for SunStudio not working yet. Botan does support some versions of SunStudio - Jeremy has been in contact with developers.

Jinmei: Should we consider supporting other crypto library. And have an internal library that does nothing (so we can disable dependency on Botan).

Stephen: Is this an option to build BIND 10 without crypto support at all?

Jinmei: Yes.

Michal: OK, but needs a warning message. Some circumstances where no crypto support is needed.

Jelte: Yes.

Stephen: How much work?

Jinmei: Quite easy - most logic limited to single file.

Jelte: What should you do in the null version? (No consensus reached.)

Stephen: Good idea - add to task list. (Jinmei: not for this sprint)

Michal: Could we do the logging in a similar way?

Stephen: Would be possible to link to logging library of choice. Will create ticket for consideration in the future.

Jinmei: Would be helpful to have small task when we introduce dependency, simply to add that dependency. Will then run it on buildbot to see if there are any problems.

Stephen: Is this just adding something to

Jinmei: No - adding a small test program to the build system.

Jeremy: Will do this for the log4cplus test.

Stephen: Not sure if we have enough tasks. However, it will do for now - if we don't have enough tasks, we can add some at the next BIND 10 meeting (on 10 May).

Summary of Actions

  • Jerry: Reset task #856 to "UnAssigned" and move to general task backlog (i.e. no milestone associated with it). (Done)
  • Stephen: Add task #875 (b10-auth needs to be able to handle TSIG) to current sprint. (Done)
  • Stephen: Add task to implement logging with log4cplus (to be done on the next sprint). (Done: #899)
  • Stephen: Add task to current sprint to check that log4cplus builds on all build-bot systems. (Done: #898)
  • Stephen: Add task to current sprint to change logging to use positional parameters (includes changing existing code). (Done: #901)
  • Stephen: Add task to current sprint to change format of message file (includes changing existing code). (Done: #900)
  • Jeremey: Add six bug-fix tasks to the current sprint (including #833 and #870).
  • Jinmei: Add task (not to current sprint) to write "null" crypto module. (Done: #895)
  • Stephen: Add task (not to current sprint) to allow for multiple logging back-ends. (Done: #902)
Last modified 9 years ago Last modified on May 4, 2011, 1:01:07 PM