update_leases called even if DHCP is not enabled on WebUI

Bug #1043300 reported by Andres Rodriguez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Invalid
Low
Unassigned

Bug Description

maas-dhcp package was installed, which creates a default DHCP network. However, DHCP is not being enabled on the WebUI and the following error is shown on the celery logfile:

[2012-08-29 09:01:46,523: ERROR/MainProcess] Task provisioningserver.tasks.upload_dhcp_leases[571027ae-538b-4abd-b35d-60e09ca2456a] raised exc
eption: IOError()
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/celery/execute/trace.py", line 47, in trace
    return cls(states.SUCCESS, retval=fun(*args, **kwargs))
  File "/usr/lib/python2.7/dist-packages/celery/app/task/__init__.py", line 247, in __call__
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/celery/app/__init__.py", line 175, in run
    return fun(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/tasks.py", line 255, in upload_dhcp_leases
    upload_leases()
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dhcp/leases.py", line 154, in upload_leases
    process_leases(timestamp, leases)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dhcp/leases.py", line 142, in process_leases
    send_leases(leases)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dhcp/leases.py", line 136, in send_leases
    api_path, 'update_leases', leases=json.dumps(leases))
  File "/usr/share/maas/apiclient/maas_client.py", line 175, in post
    url, method="POST", headers=headers, data=body)
  File "/usr/share/maas/apiclient/maas_client.py", line 86, in dispatch_query
    return urllib2.urlopen(req)
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 406, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/celery/execute/trace.py", line 47, in trace
    return cls(states.SUCCESS, retval=fun(*args, **kwargs))
  File "/usr/lib/python2.7/dist-packages/celery/app/task/__init__.py", line 247, in __call__
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/celery/app/__init__.py", line 175, in run
    return fun(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/tasks.py", line 255, in upload_dhcp_leases
    upload_leases()
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dhcp/leases.py", line 154, in upload_leases
    process_leases(timestamp, leases)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dhcp/leases.py", line 142, in process_leases
    send_leases(leases)
  File "/usr/lib/python2.7/dist-packages/provisioningserver/dhcp/leases.py", line 136, in send_leases
    api_path, 'update_leases', leases=json.dumps(leases))
  File "/usr/share/maas/apiclient/maas_client.py", line 175, in post
    url, method="POST", headers=headers, data=body)
  File "/usr/share/maas/apiclient/maas_client.py", line 86, in dispatch_query
    return urllib2.urlopen(req)
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 406, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError

Tags: tech-debt
Revision history for this message
Julian Edwards (julian-edwards) wrote :

The HTTP error was fixed in a branch earlier, it was a URL problem. The bug here is that the leases still get parsed when DHCP is not enabled.

summary: - MAAS DHCP Celery Failures even if DHCP is not enabled on WebUI
+ update_leases called even if DHCP is not enabled on WebUI
Changed in maas:
status: New → Triaged
importance: Undecided → High
Revision history for this message
Julian Edwards (julian-edwards) wrote :

Ultimately it won't cause much harm. All that happens is that the leases table is updated in the DB, but no further action is taken based on the DHCP enablement flag.

tags: added: tech-debt
Raphaël Badin (rvb)
Changed in maas:
importance: High → Low
Changed in maas:
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.