Comment 10 for bug 1395896

Revision history for this message
mahmoh (mahmoh) wrote :

I can reproduce I believe:

$ Jun 17 12:25:22 maas maas.calls: [INFO] Starting task 'write_full_dns_config' with args: () {'zones': [<provisioningserver.dns.zoneconfig.DNSForwardZoneConfig object at 0x7f7e90c10dd0>, <provisioningserver.dns.zoneconfig.DNSReverseZoneConfig object at 0x7f7e92521d90>], 'callback': provisioningserver.tasks.rndc_command([u'reload'], False), 'upstream_dns': u'8.8.8.8', 'trusted_networks': u'192.168.2.0/24;'}
Jun 17 12:25:22 maas maas.calls: [INFO] Starting task 'rndc_command' with args: ([u'reload'], False) {}
Jun 17 12:25:22 maas maas.tasks: [ERROR] rndc_command failed: Command `rndc -c /etc/bind/maas/rndc.conf.maas reload` returned non-zero exit status 1:#012rndc: connection to remote host closed#012This may indicate that#012* the remote server is using an older version of the command protocol,#012* this host is not authorized to connect,#012* the clocks are not synchronized, or#012* the key is invalid.
Jun 17 12:25:22 maas maas.tasks: [ERROR] rndc_command: Command `rndc -c /etc/bind/maas/rndc.conf.maas reload` returned non-zero exit status 1:#012rndc: connection to remote host closed#012This may indicate that#012* the remote server is using an older version of the command protocol,#012* this host is not authorized to connect,#012* the clocks are not synchronized, or#012* the key is invalid.
Jun 17 12:25:22 maas maas.tasks: [ERROR] write_full_dns_config: Command `rndc -c /etc/bind/maas/rndc.conf.maas reload` returned non-zero exit status 1:#012rndc: connection to remote host closed#012This may indicate that#012* the remote server is using an older version of the command protocol,#012* this host is not authorized to connect,#012* the clocks are not synchronized, or#012* the key is invalid.
ERROR 2015-06-17 12:25:22,493 django.request Internal Server Error: /MAAS/clusters/6e051520-ed1c-4d2a-a1df-7ea93a35e175/interfaces/eth0/edit/
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 112, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/dist-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 69, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 87, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/edit.py", line 228, in post
    return super(BaseUpdateView, self).post(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/edit.py", line 171, in post
    return self.form_valid(form)
  File "/usr/lib/python2.7/dist-packages/maasserver/views/clusters.py", line 224, in form_valid
    return super(ClusterInterfaceEdit, self).form_valid(form)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/edit.py", line 147, in form_valid
    self.object = form.save()
  File "/usr/lib/python2.7/dist-packages/maasserver/forms.py", line 1510, in save
    interface = super(NodeGroupInterfaceForm, self).save(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/forms/models.py", line 446, in save
    construct=False)
  File "/usr/lib/python2.7/dist-packages/django/forms/models.py", line 99, in save_instance
    instance.save()
  File "/usr/lib/python2.7/dist-packages/maasserver/models/cleansave.py", line 38, in save
    return super(CleanSave, self).save(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/maasserver/models/timestampedmodel.py", line 55, in save
    return super(TimestampedModel, self).save(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 545, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 582, in save_base
    update_fields=update_fields, raw=raw, using=using)
  File "/usr/lib/python2.7/dist-packages/django/dispatch/dispatcher.py", line 185, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/usr/lib/python2.7/dist-packages/maasserver/dns/connect.py", line 61, in dns_post_save_NodeGroupInterface
    write_full_dns_config()
  File "/usr/lib/python2.7/dist-packages/maasserver/utils/__init__.py", line 193, in call_with_lock
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/maasserver/dns/config.py", line 142, in write_full_dns_config
    trusted_networks=get_trusted_networks())
  File "/usr/lib/python2.7/dist-packages/celery/app/task.py", line 452, in delay
    return self.apply_async(args, kwargs)
  File "/usr/lib/python2.7/dist-packages/celery/app/task.py", line 546, in apply_async
    link=link, link_error=link_error, **options)
  File "/usr/lib/python2.7/dist-packages/celery/app/task.py", line 727, in apply
    request=request, propagate=throw)
  File "/usr/lib/python2.7/dist-packages/celery/app/trace.py", line 315, in eager_trace_task
    uuid, args, kwargs, request)
  File "/usr/lib/python2.7/dist-packages/celery/app/trace.py", line 218, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/logger/utils.py", line 42, in wrapper
    func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/tasks.py", line 52, in wrapper
    func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/tasks.py", line 116, in write_full_dns_config
    callback.delay()
  File "/usr/lib/python2.7/dist-packages/celery/canvas.py", line 167, in delay
    return self.apply_async(partial_args, partial_kwargs)
  File "/usr/lib/python2.7/dist-packages/celery/canvas.py", line 237, in apply_async
    return _apply(args, kwargs, **options)
  File "/usr/lib/python2.7/dist-packages/celery/app/task.py", line 546, in apply_async
    link=link, link_error=link_error, **options)
  File "/usr/lib/python2.7/dist-packages/celery/app/task.py", line 727, in apply
    request=request, propagate=throw)
  File "/usr/lib/python2.7/dist-packages/celery/app/trace.py", line 315, in eager_trace_task
    uuid, args, kwargs, request)
  File "/usr/lib/python2.7/dist-packages/celery/app/trace.py", line 218, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/logger/utils.py", line 42, in wrapper
    func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/tasks.py", line 52, in wrapper
    func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/tasks.py", line 83, in rndc_command
    execute_rndc_command(arguments)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dns/config.py", line 170, in execute_rndc_command
    call_and_check(rndc_cmd)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/utils/shell.py", line 146, in call_and_check
    raise ExternalProcessError(process.returncode, command, output=stderr)
ExternalProcessError: Command `rndc -c /etc/bind/maas/rndc.conf.maas reload` returned non-zero exit status 1:
rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not synchronized, or
* the key is invalid.

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:1b:c5:09:24:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global p4p1
       valid_lft forever preferred_lft forever
    inet6 fe80::21b:c5ff:fe09:2497/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:80:8e:8a:8e:38 brd ff:ff:ff:ff:ff:ff
    inet 10.19.83.182/24 brd 10.19.83.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::280:8eff:fe8a:8e38/64 scope link
       valid_lft forever preferred_lft forever

$ cat /etc/maas/maas_cluster.conf /etc/maas/maas_local_settings.py /etc/maas/pserv.yaml
cat: /etc/maas/maas_cluster.conf: Permission denied
cat: /etc/maas/maas_local_settings.py: Permission denied
##
## Provisioning Server (pserv) configuration.
##

## Where to log. This log can be rotated by sending SIGUSR1 to the
## running server.
#
# logfile: "pserv.log"
logfile: "/var/log/maas/pserv.log"

## TFTP configuration.
#
tftp:
  # The "root" setting has been replaced by "resource_root". The old setting
  # is used one final time when upgrading a pre-14.04 cluster controller to a
  # 14.04 version. After that upgrade, it can be removed.
  #
  # resource_root: /var/lib/maas/boot-resources/current/

  # port: 69
  ## The URL to be contacted to generate PXE configurations.
  # generator: http://localhost/MAAS/api/1.0/pxeconfig/
  generator: http://localhost/MAAS/api/1.0/pxeconfig/