Seen during QA today in the lab, in regiond.log.
2015-04-14 15:28:40 [HTTPChannel,43,127.0.0.1] 500 Error - /MAAS/metadata//2012-03-01/meta-data/local-hostname
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 206, in __call__
response = self.get_response(request)
File "/usr/lib/python2.7/dist-packages/maasserver/utils/views.py", line 213, in get_response
response = get_response(request)
File "/usr/lib/python2.7/dist-packages/maasserver/utils/views.py", line 187, in get_response
return django_get_response(request)
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 194, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 88, in get_response
response = middleware_method(request)
File "/usr/lib/python2.7/dist-packages/maasserver/middleware.py", line 169, in process_request
self._check_cluster_connectivity()
File "/usr/lib/python2.7/dist-packages/maasserver/middleware.py", line 162, in _check_cluster_connectivity
register_persistent_error(COMPONENT.CLUSTERS, message)
File "/usr/lib/python2.7/dist-packages/maasserver/components.py", line 42, in register_persistent_error
ComponentError.objects.create(component=component, error=error_message)
File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 157, in create
return self.get_queryset().create(**kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 319, in create
obj.save(force_insert=True, using=self.db)
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 573, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 654, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 687, in _do_insert
using=using, raw=raw)
File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 232, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 1511, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 898, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python2.7/dist-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 99, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/lib/python2.7/dist-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: duplicate key value violates unique constraint "maasserver_componenterror_component_key"
DETAIL: Key (component)=(clusters) already exists.
I suspect this is a symptom of temporarily reducing transaction isolation to READ COMMITTED.