RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 659014 - Luci returns an Error 500 when accessing node configuration with FQDN names
Summary: Luci returns an Error 500 when accessing node configuration with FQDN names
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: luci
Version: 6.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Ryan McCabe
QA Contact: Cluster QE
URL:
Whiteboard:
: 666881 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-01 19:42 UTC by Carlos Maiolino
Modified: 2016-04-26 14:14 UTC (History)
5 users (show)

Fixed In Version: luci-0.23.0-3.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-05-19 13:56:47 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0655 0 normal SHIPPED_LIVE luci bug fix update 2011-05-19 09:47:45 UTC

Description Carlos Maiolino 2010-12-01 19:42:34 UTC
Description of problem:

When opening a node configuration via luci interface, it returns an error 500,




Version-Release number of selected component (if applicable):

0.22.2-14.el6_0.1

How reproducible:

Any time


Steps to Reproduce:
- Install luci
- Create a cluster
- Add a node to the cluster (not necessary more than 1 node)
- open the node settings:
      HomeBase -> Clusters -> <cluster_name> -> <cluster_node>

Actual results:

Error 500 is returned

Expected results:

Access node information to setup node specific settings, like fence devices.

Additional info:


Luci Backtrace:

================================
Error - <class 'genshi.template.eval.UndefinedError'>: {u'node3-r6.maiolino.org': <luci.lib.cluster_status.NodeStatus
 instance at 0x7fbc14585d88>, u'node2-r6.maiolino.org': <luci.lib.cluster_status.NodeStatus instance at 0x7fbc14585a7
0>, u'node1-r6.maiolino.org': <luci.lib.cluster_status.NodeStatus instance at 0x7fbc14585290>} has no member named "node1-r6.maiolino"

URL: https://node1-r6.maiolino.org:8084/cluster/rhel6/node1-r6.maiolino.org
File '/usr/lib/python2.6/site-packages/weberror/errormiddleware.py', line 162 in __call__
  app_iter = self.application(environ, sr_checker)
File '/usr/lib/python2.6/site-packages/tg/configuration.py', line 655 in wrapper
  return app(environ, start_response)
File '/usr/lib/python2.6/site-packages/tg/configuration.py', line 555 in remover
  return app(environ, start_response)
File '/usr/lib/python2.6/site-packages/repoze/tm/__init__.py', line 19 in __call__
  result = self.application(environ, save_status_and_headers)
File '/usr/lib/python2.6/site-packages/tw/core/middleware.py', line 43 in __call__
  return self.wsgi_app(environ, start_response)
File '/usr/lib/python2.6/site-packages/tw/core/middleware.py', line 68 in wsgi_app
  resp = req.get_response(self.application)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1325 in get_response
  application, catch_exc_info=False)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1293 in call_application
  app_iter = application(self.environ, start_response)
File '/usr/lib/python2.6/site-packages/tw/core/resource_injector.py', line 68 in _injector
  resp = req.get_response(app)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1325 in get_response
  application, catch_exc_info=False)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1293 in call_application
  app_iter = application(self.environ, start_response)
File '/usr/lib/python2.6/site-packages/beaker/middleware.py', line 73 in __call__
  return self.app(environ, start_response)
File '/usr/lib/python2.6/site-packages/beaker/middleware.py', line 152 in __call__
  return self.wrap_app(environ, session_start_response)
File '/usr/lib/python2.6/site-packages/routes/middleware.py', line 130 in __call__
  response = self.app(environ, start_response)
File '/usr/lib/python2.6/site-packages/pylons/wsgiapp.py', line 125 in __call__
  response = self.dispatch(controller, environ, start_response)
File '/usr/lib/python2.6/site-packages/pylons/wsgiapp.py', line 324 in dispatch
  return controller(environ, start_response)
File '/usr/lib/python2.6/site-packages/luci/controllers/root.py', line 43 in __call__
  return BaseController.__call__(self, environ, start_response)
File '/usr/lib/python2.6/site-packages/luci/lib/base.py', line 30 in __call__
  return TGController.__call__(self, environ, start_response)
File '/usr/lib/python2.6/site-packages/pylons/controllers/core.py', line 221 in __call__
  response = self._dispatch_call()
File '/usr/lib/python2.6/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call
  response = self._inspect_call(func)
File '/usr/lib/python2.6/site-packages/pylons/controllers/core.py', line 107 in _inspect_call
  result = self._perform_call(func, args)
File '/usr/lib/python2.6/site-packages/tg/controllers.py', line 857 in _perform_call
  self, controller, params, remainder=remainder)
File '/usr/lib/python2.6/site-packages/tg/controllers.py', line 182 in _perform_call
  response = self._render_response(controller, output)
File '/usr/lib/python2.6/site-packages/tg/controllers.py', line 358 in _render_response
  template_name=template_name)
File '/usr/lib/python2.6/site-packages/tg/render.py', line 141 in render
  return render_function(template_name, template_vars, **kwargs)
File '/usr/lib/python2.6/site-packages/tg/render.py', line 168 in render_genshi
  **kwargs)
File '/usr/lib/python2.6/site-packages/pylons/templating.py', line 338 in render_genshi
  ns_options=('method'), method=method)
File '/usr/lib/python2.6/site-packages/pylons/templating.py', line 249 in cached_template
  return render_func()
File '/usr/lib/python2.6/site-packages/pylons/templating.py', line 334 in render_template
  encoding=None))
File '/usr/lib64/python2.6/site-packages/genshi/core.py', line 179 in render
  return encode(generator, method=method, encoding=encoding, out=out)
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 60 in encode
  return _encode(u''.join(list(iterator)))
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 311 in __call__
  for kind, data, pos in stream:
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 592 in __call__
  for kind, data, pos in stream:
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 698 in __call__
  for kind, data, pos in chain(stream, [(None, None, None)]):
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 532 in __call__
  for ev in stream:
File '/usr/lib64/python2.6/site-packages/genshi/core.py', line 283 in _ensure
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 569 in _include
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/markup.py', line 279 in _match
  content = list(content)
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 569 in _include
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/markup.py', line 245 in _match
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/markup.py', line 234 in _strip
  event = stream.next()
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 543 in _exec
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 496 in _eval
  for kind, data, pos in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 558 in _flatten
  for event in self._flatten(substream, ctxt, **vars):
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 558 in _flatten
  for event in self._flatten(substream, ctxt, **vars):
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 558 in _flatten
  for event in self._flatten(substream, ctxt, **vars):
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 551 in _flatten
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/directives.py', line 737 in __call__
  value = _eval_expr(expr, ctxt, **vars)
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 286 in _eval_expr
  retval = expr.evaluate(ctxt)
File '/usr/lib64/python2.6/site-packages/genshi/template/eval.py', line 180 in evaluate
  return eval(self.code, _globals, {'__data__': data})
File '/usr/lib/python2.6/site-packages/luci/templates/node.html', line 186 in <Expression '?'>
  <py:otherwise py:with="details = cluster_status.nodes[name]">
File '/usr/lib64/python2.6/site-packages/genshi/template/eval.py', line 340 in lookup_item
  val = cls.undefined(key, owner=obj)
File '/usr/lib64/python2.6/site-packages/genshi/template/eval.py', line 410 in undefined
  raise UndefinedError(key, owner=owner)
UndefinedError: {u'node3-r6.maiolino.org': <luci.lib.cluster_status.NodeStatus instance at 0x7fbc14585d88>, u'node2-r6.maiolino.org': <luci.lib.cluster_status.NodeStatus instance at 0x7fbc14585a70>, u'node1-r6.maiolino.org': <luci.lib.cluster_status.NodeStatus instance at 0x7fbc14585290>} has no member named "node1-r6.maiolino"
CGI Variables
-------------
  AUTH_TYPE: 'cookie'
  CONTENT_LENGTH: '0'
  HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
  HTTP_ACCEPT_CHARSET: 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
  HTTP_ACCEPT_ENCODING: 'gzip,deflate'
  HTTP_ACCEPT_LANGUAGE: 'en-us,en;q=0.5'
  HTTP_CONNECTION: 'keep-alive'
  HTTP_COOKIE: 'luci=b83f4bedc7af34222476e01b1a294787c66556626af06f3e7bc58097ff04f274e70db901; auth_tkt="140abe6129a34482e6d193311a60f2924cf69ef6root!"'
  HTTP_HOST: 'node1-r6.maiolino.org:8084'
  HTTP_KEEP_ALIVE: '115'
  HTTP_REFERER: 'https://node1-r6.maiolino.org:8084/cluster/rhel6/nodes'
  HTTP_USER_AGENT: 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Red Hat/3.6.12-1.el6_0 Firefox/3.6.12'
  PATH_INFO: '/cluster/rhel6/node1-r6.maiolino.org'
  REMOTE_ADDR: '192.168.100.20'
  REMOTE_USER: 'root'
  REMOTE_USER_TOKENS: ['']
  REQUEST_METHOD: 'GET'
  SERVER_NAME: '0.0.0.0'
  SERVER_PORT: '8084'
  SERVER_PROTOCOL: 'HTTP/1.1'

WSGI Variables
--------------
  application: <function wrapper at 0x383ae60>
  beaker.cache: <beaker.cache.CacheManager object at 0x383cc90>
  beaker.get_session: <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x383cc10>>
  beaker.session: {'_accessed_time': 1291232062.7027099}
  paste.cookies: (<SimpleCookie: auth_tkt='140abe6129a34482e6d193311a60f2924cf69ef6root!' luci='b83f4bedc7af34222476e01b1a294787c66556626af06f3e7bc58097ff04f274e70db901'>, 'luci=b83f4bedc7af34222476e01b1a294787c66556626af06f3e7bc58097ff04f274e70db901; auth_tkt="140abe6129a34482e6d193311a60f2924cf69ef6root!"')
  paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x3884610>
  paste.registry: <paste.registry.Registry object at 0x388a950>
  paste.throw_errors: True
  pylons.action_method: <bound method RootController.routes_placeholder of <luci.controllers.root.RootController object at 0x7fbbf0d74c10>>
  pylons.controller: <luci.controllers.root.RootController object at 0x7fbbf0d74c10>
  pylons.environ_config: {'session': 'beaker.session', 'cache': 'beaker.cache'}
  pylons.pylons: <pylons.util.PylonsContext object at 0x7fbbf0d74210>
  pylons.routes_dict: {'url': u'cluster/rhel6/node1-r6.maiolino.org', 'action': u'routes_placeholder', 'controller': u'root'}
  repoze.tm.active: True
  repoze.what.credentials: {'repoze.what.userid': 'root', 'groups': ['managers'], 'permissions': ['manage']}
  repoze.who.identity: <repoze.who identity (hidden, dict-like) at 140445699197360>
  repoze.who.logger: <logging.Logger instance at 0x3881c20>
  repoze.who.plugins: {'luci.lib.pamplugin:PAMPlugin': <luci.lib.pamplugin.PAMPlugin object at 0x3846e90>, 'friendlyform': <FriendlyFormPlugin 58991824>, 'auth_tkt': <AuthTktCookiePlugin 59010640>}
  routes.route: <routes.route.Route object at 0x36cea90>
  routes.url: <routes.util.URLGenerator object at 0x7fbbf0d74b10>
  toscawidgets.framework: <tw.mods.base.HostFramework object at 0x383cd10>
  toscawidgets.javascript.require_once: False
  toscawidgets.prefix: '/toscawidgets'
  webob._parsed_query_vars: (MultiDict([]), '')
  webob.adhoc_attrs: {'start_response': <function repl_start_response at 0x7fbc14404a28>, 'response_ext': u'.org', 'identity': <repoze.who identity (hidden, dict-like) at 140445699197360>, 'language': 'en-us', 'response_type': 'application/vnd.lotus-organizer'}
  wsgi process: 'Multithreaded'
  wsgiorg.routing_args: (<routes.util.URLGenerator object at 0x7fbbf0d74b10>, {'url': u'cluster/rhel6/node1-r6.maiolino.org', 'action': u'routes_placeholder', 'controller': u'root'})
=========================

The backtrace says that there is no node named: "node1-r6.maiolino", but my cluster nodes have FQDN names:

node1-r6.maiolino.org
node2-r6.maiolino.org
node3-r6.maiolino.org

Looks like luci does not make requests using the fqdn, it is removing the .org when trying to access.

But the URL luci is trying to access is correct:
https://node1-r6.maiolino.org:8084/cluster/rhel6/node1-r6.maiolino.org

And also, luci shows all nodes named correctly on nodes list.

Comment 2 Carlos Maiolino 2010-12-01 19:56:45 UTC
Ok, the problem is when the nodes have FQDN names.

I tested the environment using common names and it worked normally.

But when using fqdns luci discards the last part of the name.

Comment 3 Ryan McCabe 2010-12-02 06:24:34 UTC
Do you have the hosts defined with the short names in /etc/hosts or something similar? What does 'cman_tool nodes' show when you run it on one of the cluster nodes?

Comment 4 Carlos Maiolino 2010-12-02 15:33:18 UTC
I have my hosts defined on /etc/hosts, I don't use DNS here on my lab.

Here is the hosts config I'm using on all 3 nodes:

10.0.10.10      node1-r6.maiolino.org node1-r6
10.0.10.20      node2-r6.maiolino.org node2-r6
10.0.10.30      node3-r6.maiolino.org node3-r6

Here is the output of clustat and cman_tool nodes

[root@node1-r6 ~]# clustat
Cluster Status for rhel6cluster @ Thu Dec  2 13:31:56 2010
Member Status: Quorate

 Member Name                                                   ID   Status
 ------ ----                                                   ---- ------
 node1-r6.maiolino.org                                             1 Online, Local
 node2-r6.maiolino.org                                             2 Online
 node3-r6.maiolino.org                                             3 Online


[root@node1-r6 ~]# cman_tool nodes
Node  Sts   Inc   Joined               Name
   1   M      4   2010-12-02 13:23:31  node1-r6.maiolino.org
   2   M     12   2010-12-02 13:23:31  node2-r6.maiolino.org
   3   M     12   2010-12-02 13:23:31  node3-r6.maiolino.org

Comment 5 Ryan McCabe 2011-01-16 22:04:17 UTC
*** Bug 666881 has been marked as a duplicate of this bug. ***

Comment 8 errata-xmlrpc 2011-05-19 13:56:47 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0655.html

Comment 9 james labocki 2011-06-30 15:08:34 UTC
I am running into this error in the Service

version: luci-0.23.0-13.el6.x86_64

Steps to reproduce: 
In Luci interface select "Service Groups" > and select a service (in this case a virtual machine named Satellite).

Workarounds attempted: 
I have tried short name, FQDN, and IP address with similar results. The same error occurs when adding a new service group. The FQDN and short name resolve correctly on both the host running luci and the host accessing luci via the browser.

output from /var/log/luci/luci.log when trying view details of a service group:

[root@cldmgr01 ~]# tail -f /var/log/luci/luci.log
Error - <class 'genshi.template.eval.UndefinedError'>: <luci.lib.ClusterConf.Vm.Vm object at 0x7fc94011d310> has no member named "getIndependentSubtree"
URL: https://10.0.3.13:8084/cluster/cldmgrcluster01/services/nfsvm
File '/usr/lib/python2.6/site-packages/weberror/errormiddleware.py', line 162 in __call__
  app_iter = self.application(environ, sr_checker)
File '/usr/lib/python2.6/site-packages/tg/configuration.py', line 655 in wrapper
  return app(environ, start_response)
File '/usr/lib/python2.6/site-packages/tg/configuration.py', line 555 in remover
  return app(environ, start_response)
File '/usr/lib/python2.6/site-packages/repoze/tm/__init__.py', line 19 in __call__
  result = self.application(environ, save_status_and_headers)
File '/usr/lib/python2.6/site-packages/tw/core/middleware.py', line 43 in __call__
  return self.wsgi_app(environ, start_response)
File '/usr/lib/python2.6/site-packages/tw/core/middleware.py', line 68 in wsgi_app
  resp = req.get_response(self.application)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1325 in get_response
  application, catch_exc_info=False)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1293 in call_application
  app_iter = application(self.environ, start_response)
File '/usr/lib/python2.6/site-packages/tw/core/resource_injector.py', line 68 in _injector
  resp = req.get_response(app)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1325 in get_response
  application, catch_exc_info=False)
File '/usr/lib/python2.6/site-packages/webob/__init__.py', line 1293 in call_application
  app_iter = application(self.environ, start_response)
File '/usr/lib/python2.6/site-packages/beaker/middleware.py', line 73 in __call__
  return self.app(environ, start_response)
File '/usr/lib/python2.6/site-packages/beaker/middleware.py', line 152 in __call__
  return self.wrap_app(environ, session_start_response)
File '/usr/lib/python2.6/site-packages/routes/middleware.py', line 130 in __call__
  response = self.app(environ, start_response)
File '/usr/lib/python2.6/site-packages/pylons/wsgiapp.py', line 125 in __call__
  response = self.dispatch(controller, environ, start_response)
File '/usr/lib/python2.6/site-packages/pylons/wsgiapp.py', line 324 in dispatch
  return controller(environ, start_response)
File '/usr/lib64/python2.6/site-packages/luci/controllers/root.py', line 48 in __call__
  return BaseController.__call__(self, environ, start_response)
File '/usr/lib64/python2.6/site-packages/luci/lib/base.py', line 48 in __call__
  return TGController.__call__(self, environ, start_response)
File '/usr/lib/python2.6/site-packages/pylons/controllers/core.py', line 221 in __call__
  response = self._dispatch_call()
File '/usr/lib/python2.6/site-packages/pylons/controllers/core.py', line 172 in _dispatch_call
  response = self._inspect_call(func)
File '/usr/lib/python2.6/site-packages/pylons/controllers/core.py', line 107 in _inspect_call
  result = self._perform_call(func, args)
File '/usr/lib/python2.6/site-packages/tg/controllers.py', line 857 in _perform_call
  self, controller, params, remainder=remainder)
File '/usr/lib/python2.6/site-packages/tg/controllers.py', line 182 in _perform_call
  response = self._render_response(controller, output)
File '/usr/lib/python2.6/site-packages/tg/controllers.py', line 358 in _render_response
  template_name=template_name)
File '/usr/lib/python2.6/site-packages/tg/render.py', line 141 in render
  return render_function(template_name, template_vars, **kwargs)
File '/usr/lib/python2.6/site-packages/tg/render.py', line 168 in render_genshi
  **kwargs)
File '/usr/lib/python2.6/site-packages/pylons/templating.py', line 338 in render_genshi
  ns_options=('method'), method=method)
File '/usr/lib/python2.6/site-packages/pylons/templating.py', line 249 in cached_template
  return render_func()
File '/usr/lib/python2.6/site-packages/pylons/templating.py', line 334 in render_template
  encoding=None))
File '/usr/lib64/python2.6/site-packages/genshi/core.py', line 179 in render
  return encode(generator, method=method, encoding=encoding, out=out)
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 60 in encode
  return _encode(u''.join(list(iterator)))
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 311 in __call__
  for kind, data, pos in stream:
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 592 in __call__
  for kind, data, pos in stream:
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 698 in __call__
  for kind, data, pos in chain(stream, [(None, None, None)]):
File '/usr/lib64/python2.6/site-packages/genshi/output.py', line 532 in __call__
  for ev in stream:
File '/usr/lib64/python2.6/site-packages/genshi/core.py', line 283 in _ensure
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 569 in _include
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/markup.py', line 279 in _match
  content = list(content)
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 569 in _include
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/markup.py', line 245 in _match
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/markup.py', line 234 in _strip
  event = stream.next()
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 543 in _exec
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 533 in _eval
  for event in substream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 533 in _eval
  for event in substream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 533 in _eval
  for event in substream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 496 in _eval
  for kind, data, pos in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 558 in _flatten
  for event in self._flatten(substream, ctxt, **vars):
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 558 in _flatten
  for event in self._flatten(substream, ctxt, **vars):
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 551 in _flatten
  for event in stream:
File '/usr/lib64/python2.6/site-packages/genshi/template/directives.py', line 175 in _generate
  attrs = _eval_expr(self.expr, ctxt, **vars)
File '/usr/lib64/python2.6/site-packages/genshi/template/base.py', line 286 in _eval_expr
  retval = expr.evaluate(ctxt)
File '/usr/lib64/python2.6/site-packages/genshi/template/eval.py', line 180 in evaluate
  return eval(self.code, _globals, {'__data__': data})
File '/usr/lib64/python2.6/site-packages/luci/templates/resource_list.html', line 21 in <Expression u"(res and res.getIndependentSubtree()) and {'checked':'checked'} or {}">
  <input type="checkbox" name="independent_subtree" class="checkbox subtree"
File '/usr/lib64/python2.6/site-packages/genshi/template/eval.py', line 326 in lookup_attr
  val = cls.undefined(key, owner=obj)
File '/usr/lib64/python2.6/site-packages/genshi/template/eval.py', line 410 in undefined
  raise UndefinedError(key, owner=owner)
UndefinedError: <luci.lib.ClusterConf.Vm.Vm object at 0x7fc94011d310> has no member named "getIndependentSubtree"


CGI Variables
-------------
  AUTH_TYPE: 'cookie'
  CONTENT_LENGTH: '0'
  HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
  HTTP_ACCEPT_CHARSET: 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
  HTTP_ACCEPT_ENCODING: 'gzip,deflate'
  HTTP_ACCEPT_LANGUAGE: 'en-us,en;q=0.5'
  HTTP_CONNECTION: 'keep-alive'
  HTTP_COOKIE: 'luci=2a6b74c033e5935646ef784bd3c8aba0a517174bbcc2267e2e956c38286c4c8bc9caa096; auth_tkt="3088256516ad7e26a4961d35d7635c124e0c4786root!"'
  HTTP_HOST: '10.0.3.13:8084'
  HTTP_KEEP_ALIVE: '115'
  HTTP_REFERER: 'https://10.0.3.13:8084/cluster/cldmgrcluster01/services?__logins=0'
  HTTP_USER_AGENT: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.10) Gecko/20101005 Fedora/3.6.10-1.fc14 Firefox/3.6.10'
  PATH_INFO: '/cluster/cldmgrcluster01/services/nfsvm'
  REMOTE_ADDR: '10.0.1.2'
  REMOTE_USER: 'root'
  REMOTE_USER_TOKENS: ['']
  REQUEST_METHOD: 'GET'
  SERVER_NAME: '10.0.3.13'
  SERVER_PORT: '8084'
  SERVER_PROTOCOL: 'HTTP/1.1'


WSGI Variables
--------------
  application: <function wrapper at 0x307a2a8>
  beaker.cache: <beaker.cache.CacheManager object at 0x307db10>
  beaker.get_session: <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x307da90>>
  beaker.session: {'_accessed_time': 1309427956.354609}
  paste.cookies: (<SimpleCookie: auth_tkt='3088256516ad7e26a4961d35d7635c124e0c4786root!' luci='2a6b74c033e5935646ef784bd3c8aba0a517174bbcc2267e2e956c38286c4c8bc9caa096'>, 'luci=2a6b74c033e5935646ef784bd3c8aba0a517174bbcc2267e2e956c38286c4c8bc9caa096; auth_tkt="3088256516ad7e26a4961d35d7635c124e0c4786root!"')
  paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x30a75d0>
  paste.registry: <paste.registry.Registry object at 0x7fc9480bf590>
  paste.throw_errors: True
  pylons.action_method: <bound method RootController.routes_placeholder of <luci.controllers.root.RootController object at 0x7fc9388309d0>>
  pylons.controller: <luci.controllers.root.RootController object at 0x7fc9388309d0>
  pylons.environ_config: {'session': 'beaker.session', 'cache': 'beaker.cache'}
  pylons.pylons: <pylons.util.PylonsContext object at 0x7fc94011d690>
  pylons.routes_dict: {'url': u'cluster/cldmgrcluster01/services/nfsvm', 'action': u'routes_placeholder', 'controller': u'root'}
  repoze.tm.active: True
  repoze.what.credentials: {'repoze.what.userid': 'root', 'groups': ['managers'], 'permissions': ['manage']}
  repoze.who.identity: <repoze.who identity (hidden, dict-like) at 140502003430624>
  repoze.who.logger: None
  repoze.who.plugins: {'luci_sasl2auth': <luci.lib.plugin_sasl2auth.Sasl2AuthPlugin object at 0x30a7c90>, 'friendlyform': <FriendlyFormPlugin 51040976>, 'auth_tkt': <AuthTktCookiePlugin 51067600>}
  routes.route: <routes.route.Route object at 0x2f0df50>
  routes.url: <routes.util.URLGenerator object at 0x7fc94011d4d0>
  toscawidgets.framework: <tw.mods.base.HostFramework object at 0x307db90>
  toscawidgets.javascript.require_once: False
  toscawidgets.prefix: '/toscawidgets'
  webob._parsed_cookies: ({'luci': '2a6b74c033e5935646ef784bd3c8aba0a517174bbcc2267e2e956c38286c4c8bc9caa096', 'auth_tkt': '3088256516ad7e26a4961d35d7635c124e0c4786root!'}, 'luci=2a6b74c033e5935646ef784bd3c8aba0a517174bbcc2267e2e956c38286c4c8bc9caa096; auth_tkt="3088256516ad7e26a4961d35d7635c124e0c4786root!"')
  webob._parsed_query_vars: (MultiDict([]), '')
  webob.adhoc_attrs: {'start_response': <function repl_start_response at 0x7fc9481f1230>, 'response_ext': None, 'identity': <repoze.who identity (hidden, dict-like) at 140502003430624>, 'language': 'en-us', 'response_type': None}
  wsgi process: 'Multithreaded'
  wsgiorg.routing_args: (<routes.util.URLGenerator object at 0x7fc94011d4d0>, {'url': u'cluster/cldmgrcluster01/services/nfsvm', 'action': u'routes_placeholder', 'controller': u'root'})
------------------------------------------------------------

Comment 10 Ryan McCabe 2011-06-30 15:27:31 UTC
(In reply to comment #9)
> I am running into this error in the Service
> 
> version: luci-0.23.0-13.el6.x86_64
> 
> Steps to reproduce: 
> In Luci interface select "Service Groups" > and select a service (in this case
> a virtual machine named Satellite).
> 
> Workarounds attempted: 
> I have tried short name, FQDN, and IP address with similar results. The same
> error occurs when adding a new service group. The FQDN and short name resolve
> correctly on both the host running luci and the host accessing luci via the
> browser.
This is bug 711625


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