BIND 10 #1153: zonemgr exits on empty zones

BIND 10 Development do-not-reply at isc.org
Mon Aug 22 09:01:27 UTC 2011


#1153: zonemgr exits on empty zones
-------------------------------------+-------------------------------------
                   Reporter:  shane  |                 Owner:  zzchen_pku
                       Type:         |                Status:  reviewing
  defect                             |             Milestone:
                   Priority:  major  |  Sprint-20110830
                  Component:         |            Resolution:
  secondary manager                  |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:         |  Estimated Difficulty:  0
  Medium                             |           Total Hours:  0
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by vorner):

 * owner:  vorner => zzchen_pku


Comment:

 Hello

 I pushed small editorial fix.

 However, I have some questions, more from the design/UI point, than from
 code point:
  * This way, when I try to add a non-existent zone to the configuration,
 it will let me, right (not tested, just guessing from reading the code)?
 If it is true, maybe this isn't the best idea, user should be notified of
 typos and stuff right away, in the program where he typed the typo. So in
 that sense, it should be better to tell the user and reject the config if
 it comes from user and accept it when it is the first-time config and just
 skip the zone and log the information (so it is both logged and attention
 brought to it next time someone comes to configure something).
  * If there's a zone missing from database, it is currently considered to
 be up-to-date:
 {{{#!python
 -if (self._zone_is_expired(zone_name_class)):
 +if ((self._get_zone_soa_rdata(zone_name_class) is not None) and
 +     self._zone_is_expired(zone_name_class)):
      self._set_zone_state(zone_name_class, ZONE_EXPIRED)
  else:
      self._set_zone_state(zone_name_class, ZONE_OK)
 }}}
    I believe it might be better to consider such missing/empty zone as
 expired instead, which might (if the user is lucky) just fix itself by
 transfering/downloading the zone (Where do we take the primary master
 address? Config?).
  * Provided the first point is fixed and it is not possible to add a non-
 existent zone into the config in any „conventional“ way (except by
 manually transfering or editing the config file or messing with the DB),
 the level might better be ERROR than WARN, because in that case it should
 not happen in usual condition and the state indicates something is wrong
 for sure (it is OK not to terminate with ERROR, the one for termination-
 causing errors is FATAL).
  * You remove the try-except block with backing up original configuration
 in `ce3be84b9f772fda5f08947fec92764119989019`. Even when you remove the
 exception, there might be other future or unknown exceptions and the block
 still might be useful. Would it be possible to put it back, just in case?

 As it is a bugfix, it might use a changelog entry. Would you mind
 providing one, please?

 Thank you

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


More information about the bind10-tickets mailing list