Bug 624558

Summary: RFE: replace broadcast option with udpu
Product: Red Hat Enterprise Linux 6 Reporter: Perry Myers <pmyers>
Component: luciAssignee: Ryan McCabe <rmccabe>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: high    
Version: 6.0CC: bbrock, cluster-maint, donhoover, jkortus, liko, nyewale, sdake, snagar, ssaha, tcameron, tmarshal
Target Milestone: rcKeywords: FutureFeature, Reopened, TechPreview
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: luci-0.23.0-10.el6 Doc Type: Technology Preview
Doc Text:
Story Points: ---
Clone Of: 525802 Environment:
Last Closed: 2011-05-19 13:56:21 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:
Bug Depends On: 568164    
Bug Blocks:    

Comment 1 Perry Myers 2010-08-24 13:34:04 UTC
See https://bugzilla.redhat.com/show_bug.cgi?id=525802#c8

Comment 15 Jaroslav Kortus 2011-03-07 15:44:22 UTC
I can see following error (accompanied by 500 error in browser). That one happens when clicking through my added cluster -> click first (and only) node -> configure -> (network tab) apply.

cluster.conf:
<cluster  name="Z_Cluster4" config_version="3">
 <clusternodes>
    <clusternode name="z4" nodeid="2"/>
 </clusternodes>
</cluster>





Error - <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'delTransport'
URL: https://z4.lab.msp.redhat.com:8084/cluster/Z_Cluster4/configure_cmd
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 49 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 172 in _perform_call
  output = controller(*remainder, **dict(params))
File '/usr/lib64/python2.6/site-packages/luci/controllers/cluster.py', line 819 in configure_cmd
  vret = vcp.validate_cluster_config_form(self.model, **kw)
File '/usr/lib64/python2.6/site-packages/luci/widget_validators/validate_cluster_prop.py', line 454 in validate_cluster_config_form
  model.set_cluster_multicast()
File '/usr/lib64/python2.6/site-packages/luci/lib/ClusterConf/ModelBuilder.py', line 858 in set_cluster_multicast
  self.del_cluster_udpu()
File '/usr/lib64/python2.6/site-packages/luci/lib/ClusterConf/ModelBuilder.py', line 877 in del_cluster_udpu
  self.cman_ptr.delTransport()
AttributeError: 'NoneType' object has no attribute 'delTransport'

WSGI Variables
--------------
  application: <function wrapper at 0x27688c0>
  beaker.cache: <beaker.cache.CacheManager object at 0x276e210>
  beaker.get_session: <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x276e190>>
  beaker.session: {'_accessed_time': 1299512078.9440291, '_creation_time': 1299511020.523988}
  paste.cookies: (<SimpleCookie: __qca='1237200795-93482120-95287833' auth_tkt='5d61bfc2918342b7c12ef644a88030694d74f7c8root!' luci='995fbcd1263cd832a28f242705e355e91ac2c750b49cea11c9e07cea3381d603969dd3a7' rh_omni_itc='70160000000SwsuAAC' rh_omni_tc='70160000000T3BvAAK' s_nr='1298393708621' s_vi='' s_vnum='1300985515489%26vn%3D8' tabCookie='2'>, 'tabCookie=2; rh_omni_tc=70160000000T3BvAAK; s_vi=[CS]v1|49BE5B5A00005EB1-A3A0934000000A6[CE]; __qca=1237200795-93482120-95287833; rh_omni_itc=70160000000SwsuAAC; s_nr=1298393708621; s_vnum=1300985515489%26vn%3D8; luci=995fbcd1263cd832a28f242705e355e91ac2c750b49cea11c9e07cea3381d603969dd3a7; auth_tkt="5d61bfc2918342b7c12ef644a88030694d74f7c8root!"')
  paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x1219150>
  paste.registry: <paste.registry.Registry object at 0x7fc2cc214e90>
  paste.throw_errors: True
  pylons.action_method: <bound method RootController.routes_placeholder of <luci.controllers.root.RootController object at 0x7fc2d0330510>>
  pylons.controller: <luci.controllers.root.RootController object at 0x7fc2d0330510>
  pylons.environ_config: {'session': 'beaker.session', 'cache': 'beaker.cache'}
  pylons.pylons: <pylons.util.PylonsContext object at 0x7fc2cc226310>
  pylons.routes_dict: {'url': u'cluster/Z_Cluster4/configure_cmd', '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 140474422273056>
  repoze.who.logger: None
  repoze.who.plugins: {'luci_sasl2auth': <luci.lib.plugin_sasl2auth.Sasl2AuthPlugin object at 0x2775390>, 'friendlyform': <FriendlyFormPlugin 41376144>, 'auth_tkt': <AuthTktCookiePlugin 41427408>}
  routes.route: <routes.route.Route object at 0x1219210>
  routes.url: <routes.util.URLGenerator object at 0x7fc2dc39f850>
  toscawidgets.framework: <tw.mods.base.HostFramework object at 0x276e290>
  toscawidgets.javascript.require_once: False
  toscawidgets.prefix: '/toscawidgets'
  webob._parsed_post_vars: (MultiDict([('page', 'Network'), ('multicast', 'multicast'), ('mcast_address', ''), ('token_timeout', '1000'), ('token_retransmits', '4'), ('join_timeout', '50'), ('consensus_timeout', '1200')]), <FakeCGIBody at 0x7fc2d01fef50 viewing MultiDict([('pa...0')])>)
  webob._parsed_query_vars: (MultiDict([]), '')
  webob.adhoc_attrs: {'errors': 'ignore', 'language': 'en-us', 'start_response': <function repl_start_response at 0x7fc2b42c8aa0>, 'response_type': None, 'response_ext': None, 'identity': <repoze.who identity (hidden, dict-like) at 140474422273056>}
  wsgi process: 'Multithreaded'
  wsgiorg.routing_args: (<routes.util.URLGenerator object at 0x7fc2dc39f850>, {'url': u'cluster/Z_Cluster4/configure_cmd', 'action': u'routes_placeholder', 'controller': u'root'})

Comment 16 Ryan McCabe 2011-03-17 17:17:17 UTC
*** Bug 683030 has been marked as a duplicate of this bug. ***

Comment 17 Brian Brock 2011-03-28 19:15:25 UTC
I need a response to comment 15, to feel comfortable verifying this.

Comment 18 Ryan McCabe 2011-03-28 19:34:27 UTC
I've never seen the error mentioned in comment 15 happen. It looks like something went wrong that's unrelated to this feature. The cluster model object is None here (causing the exception), possibly due to a network/connection failure that wasn't properly reported. Are you able to reproduce?

Comment 19 Ryan McCabe 2011-03-28 19:39:50 UTC
Actually, disregard the comment above. The object that is None is cman_ptr, which should not happen. There's a one line patch that's needed for the case where there is no <cman> element in the cluster.conf.

Comment 25 errata-xmlrpc 2011-05-19 13:56:21 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