Project

General

Profile

Segnalazione #154

Eccezione su cluster

Added by Christopher R. Gabriel over 7 years ago. Updated over 7 years ago.

Status:
Chiuso
Priority:
Normale
Start date:
01/18/2017
Due date:
% Done:

0%

Estimated time:

Description

Environment:

Request Method: GET
Request URL: http://localhost:8000/host/list/paperopoli

Django Version: 1.8.4
Python Version: 3.4.2
Installed Applications:
['django.contrib.sessions',
 'django.contrib.messages',
 'whitenoise.runserver_nostatic',
 'django.contrib.staticfiles',
 'octonet',
 'hostqueue.apps.HostQueue',
 'firewall.apps.Firewall',
 'dhcp.apps.Dhcp',
 'dansguardian.apps.DansGuardian',
 'host.apps.Host',
 'polygen.apps.Polygen',
 'upgrade.apps.Upgrade',
 'asterisk.apps.Asterisk',
 'samba.apps.Samba',
 'users.apps.Users',
 'script.apps.Script',
 'quota.apps.Quota',
 'printers.apps.Printers',
 'auth.apps.Auth']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'whitenoise.middleware.WhiteNoiseMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'octonet.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']

Template error:
In template /home/cgabriel/git/fuss/octonet/host/templates/host/list.html, error at line 60
   Reverse for 'host_edit' with arguments '()' and keyword arguments '{'name': '/'}' not found. 1 pattern(s) tried: ['host/edit/(?P<name>[^/]+)?$']

   50 :           <th>{% trans "Host" %}</th>

   51 :           <th>{% trans "Logged user" %}</th>

   52 :           <th>{% trans "Status" %}</th>

   53 :           <th>{% trans "Screen" %}</th>

   54 :           <th></th>

   55 :         </tr>

   56 :       </thead>

   57 :       <tbody>

   58 :         {% for host, info in all_info %}

   59 :         <tr>

   60 :           <td><a href=" {% url 'host:host_edit' name=host %} ">{{host}}</a></td>

   61 :           <td>{{info.logged_user|default:"-"}}</td>

   62 :           <td>

   63 :             {% if info.isup %}

   64 :             <span class="text-success"><span class="fa fa-thumbs-up"></span> {% trans "Up" %}</span>

   65 :             {% else %}

   66 :             <span class="text-danger"><span class="fa fa-thumbs-down"></span> {% trans "Down" %}</span>

   67 :             {% endif %}

   68 :           </td>

   69 :           <td>

   70 :             {% if info.screen_locked %}

Traceback:
File "/usr/local/lib/python3.4/dist-packages/django/core/handlers/base.py" in get_response
  164.                 response = response.render()
File "/usr/local/lib/python3.4/dist-packages/django/template/response.py" in render
  158.             self.content = self.rendered_content
File "/usr/local/lib/python3.4/dist-packages/django/template/response.py" in rendered_content
  135.         content = template.render(context, self._request)
File "/usr/local/lib/python3.4/dist-packages/django/template/backends/django.py" in render
  74.         return self.template.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  209.                     return self._render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in _render
  201.         return self.nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in _render
  201.         return self.nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in _render
  201.         return self.nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in _render
  201.         return self.nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/loader_tags.py" in render
  65.                 result = block.nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/loader_tags.py" in render
  65.                 result = block.nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/defaulttags.py" in render
  329.                 return nodelist.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/base.py" in render
  903.                 bit = self.render_node(node, context)
File "/usr/local/lib/python3.4/dist-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/usr/local/lib/python3.4/dist-packages/django/template/defaulttags.py" in render
  217.                             nodelist.append(node.render(context))
File "/usr/local/lib/python3.4/dist-packages/django/template/defaulttags.py" in render
  507.                         six.reraise(*exc_info)
File "/usr/local/lib/python3.4/dist-packages/django/utils/six.py" in reraise
  659.         raise value
File "/usr/local/lib/python3.4/dist-packages/django/template/defaulttags.py" in render
  493.             url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
File "/usr/local/lib/python3.4/dist-packages/django/core/urlresolvers.py" in reverse
  579.     return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
File "/usr/local/lib/python3.4/dist-packages/django/core/urlresolvers.py" in _reverse_with_prefix
  496.                              (lookup_view_s, args, kwargs, len(patterns), patterns))

Exception Type: NoReverseMatch at /host/list/paperopoli
Exception Value: Reverse for 'host_edit' with arguments '()' and keyword arguments '{'name': '/'}' not found. 1 pattern(s) tried: ['host/edit/(?P<name>[^/]+)?$']

Associated revisions

Revision b53b35e4 (diff)
Added by Mark Caglienzi over 7 years ago

Temporary workaround. refs #154 #153

Revision 52e380e5 (diff)
Added by Mark Caglienzi over 7 years ago

Fix comment. refs #153 #154

History

#1

Updated by Mark Caglienzi over 7 years ago

  • Status changed from Nuovo to In elaborazione
#2

Updated by Mark Caglienzi over 7 years ago

  • Status changed from In elaborazione to Commenti
  • Assignee changed from Mark Caglienzi to Christopher R. Gabriel

Corretto temporaneamente con un workaround in b53b35e4

Il problema è a monte. Viene permessa la creazione di un host con nome vuoto (#153), e nella view di dettagli cluster un host con nome vuoto viene reso come "/", cosa che fa fallire la regex di edit_host perché per nome prende tutto tranne la '/'.

Probabilmente questo workaround diventerà superfluo una volta che avrò corretto il problema a monte in #153, ma chiedo review e idee in merito, su come gestire al meglio questo problema.

Mergiato e pushato

#3

Updated by Christopher R. Gabriel over 7 years ago

  • Assignee changed from Christopher R. Gabriel to Mark Caglienzi

Ok, verificato.

Non lo considereei temporaneo, il controllo che hai introdotto rafforza la qualita' dei dati in uscita, quindi per me ok, chiudibile, correggere il commento lasciando il riferimento al ticket.

#4

Updated by Mark Caglienzi over 7 years ago

  • Status changed from Commenti to Chiuso

Corretto il commento in 52e380e5

Chiudo.

Also available in: Atom PDF