Bug 659014
| Summary: | Luci returns an Error 500 when accessing node configuration with FQDN names | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Carlos Maiolino <cmaiolin> |
| Component: | luci | Assignee: | Ryan McCabe <rmccabe> |
| Status: | CLOSED ERRATA | QA Contact: | Cluster QE <mspqa-list> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.0 | CC: | bbrock, chakkerz, cluster-maint, jlabocki, toarney |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | luci-0.23.0-3.el6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-05-19 13:56:47 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
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. 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? 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 *** Bug 666881 has been marked as a duplicate of this bug. *** 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 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'}) ------------------------------------------------------------ (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 |
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.