Bug 168715 - optional rndc command line arguments are not optional
Summary: optional rndc command line arguments are not optional
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: bind
Version: 4
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Martin Stransky
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-09-19 18:21 UTC by Chris Hapgood
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version: FC5
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-22 02:14:57 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Chris Hapgood 2005-09-19 18:21:50 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Tablet PC 1.7)

Description of problem:
Issuing commands via the rndc utility works fine UNLESS the command requires a zone argument.  For example, the "rndc restart" command works fine.  But the "rndc reload <zone>" and "rndc freeze <zone>" commands fail with the following error message:

   rndc: 'reload' failed: not found

This error is the same regardless of the zone that is supplied.

Now, supplying the (apparently) optional arguments for a class and view will solve the problem.

   rndc reload myzone.com IN private

Version-Release number of selected component (if applicable):
bind-9.3.1-10_FC4

How reproducible:
Always

Steps to Reproduce:
1. Run "rndc reload myzone.com"
2. 
3.
  

Actual Results:  The following error was reported:

    rndc: 'reload' failed: not found

Expected Results:  Probably, myzone.com should have been reloaded for all classes and all views.  But at a minimum, the error message should indicate that a class and view are required.

Additional info:

I am using views (public and private) with my zones.  But this problem occurs even for zones that are uniquely named across all views.

I am basing my belief that the class and view arguments are optional on the output of "rndc," the rndc man page and numerous examples on the internet.

Comment 1 Jason Vas Dias 2005-09-23 16:23:39 UTC
rndc reload class and view arguments are only optional if no views are defined
in the named configuration.

If any views are defined in the named configuration, then ALL zones must be
in a view, and the view name is required in order to identify a zone.

rndc does not read the named zone configuration; it just reports the named
server's response, which, if no zone could be identified, is simply "NOT FOUND".

rndc has no way of telling if the zone was not found because it was in a view
and no view name was given, or if it simply did not exist at all.

Zones in views have different zone database files, so it would not be 
appropriate for the server to attempt to search all views for names matching
the reload zone name and reload all zones in all views matching the name .
The 'rndc reload .. zone' must be specific to a single zone - people might
depend on this. The 'rndc reload' command without any zone name will load all 
zones with changed serial numbers.
 
The only documentation for the rndc reload command (or for any rndc command)
is in the administrator's reference manual (ARM), which states:
  'reload zone [class [view]]
         Reload the given zone.
  '
I agree this should be clarified to state 
  'For rndc commands affecting zones, the class and zone name must be 
   supplied if the named configuration contains views.'

I'll suggest this to the upstream ISC BIND maintainers and add this line
to the version of the ARM we ship.


Comment 2 Chris Hapgood 2005-09-23 22:46:02 UTC
"...this should be clarified..."
Sounds like a reasonable solution to me.

Comment 3 Bill Nottingham 2006-09-22 02:14:57 UTC
Closing bugs in MODIFIED state from prior Fedora releases. If this bug persists
in a current Fedora release (such as Fedora Core 5 or later), please reopen and
set the version appropriately.


Note You need to log in before you can comment on or make changes to this bug.