Hi,
we have a problem with our contrail setup:
it looks like contrail doesn't work off the rabbitmq queues:
root@juju-machine-3-lxc-23:~# rabbitmqctl list_queues -p contrail
Listing queues ...
device_manager.juju-machine-3-lxc-64 0
device_manager.juju-machine-43-lxc-24 910
schema_transformer.juju-machine-3-lxc-64 0
schema_transformer.juju-machine-43-lxc-24 910
svc_mon.juju-machine-3-lxc-64 0
svc_mon.juju-machine-43-lxc-24 152
svc_mon.juju-machine-5-lxc-63 166
vnc_config.juju-machine-3-lxc-64-8082 0
vnc_config.juju-machine-43-lxc-24-8082 0
vnc_config.juju-machine-5-lxc-63-8082 0
...done.
In the contrail-svc-monitor-stdout.log I see python errors:
============== START ===============
<type 'exceptions.ZeroDivisionError'>
Python 2.7.6: /usr/bin/python
Mon Jul 18 18:21:55 2016
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/usr/bin/contrail-svc-monitor in <module>()
6
7 if __name__ == '__main__':
8 sys.exit(
9 load_entry_point('svc-monitor==0.1dev', 'console_scripts',
'contrail-svc-monitor')()
10 )
load_entry_point = <function load_entry_point>
/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py in server_main()
885 def server_main():
886 cgitb.enable(format='text')
887 main()
888 # end server_main
889
global main = <function main>
/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py in
main(args_str='--conf_file /etc/contrail/contrail-svc-monitor.c...nf_file
/etc/contrail/contrail-keystone-auth.conf')
879 client_pfx+"svc-monitor", args.zk_server_ip)
880 _zookeeper_client.master_election(zk_path_pfx+"/svc-monitor",
os.getpid(),
881 run_svc_monitor, args)
882 # end main
883
global run_svc_monitor = <function run_svc_monitor>
args = Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181')
/usr/lib/python2.7/dist-packages/cfgm_common/zkclient.py in
master_election(self=<cfgm_common.zkclient.ZookeeperClient object>,
path='/svc-monitor', identifier=14745, func=<function run_svc_monitor>,
*args=(Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181'),), **kwargs={})
333 def master_election(self, path, identifier, func, *args, **kwargs):
334 self._election = self._zk_client.Election(path, identifier)
335 self._election.run(func, *args, **kwargs)
336 # end master_election
337
self = <cfgm_common.zkclient.ZookeeperClient object>
self._election = <kazoo.recipe.election.Election object>
self._election.run = <bound method Election.run of
<kazoo.recipe.election.Election object>>
func = <function run_svc_monitor>
args = (Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181'),)
kwargs = {}
/usr/lib/python2.7/dist-packages/kazoo/recipe/election.py in
run(self=<kazoo.recipe.election.Election object>, func=<function
run_svc_monitor>, *args=(Namespace(admin_password='xxx',
admin_t...r_ip='192.168.100.144:2181', zk_server_port='2181'),), **kwargs={})
51 try:
52 with self.lock:
53 func(*args, **kwargs)
54
55 except CancelledError:
func = <function run_svc_monitor>
args = (Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181'),)
kwargs = {}
/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py in
run_svc_monitor(args=Namespace(admin_password='xxx',
admin_t...r_ip='192.168.100.144:2181', zk_server_port='2181'))
836
837 def run_svc_monitor(args=None):
838 monitor = SvcMonitor(args)
839
840 monitor._zookeeper_client = _zookeeper_client
monitor undefined
global SvcMonitor = <class 'svc_monitor.svc_monitor.SvcMonitor'>
args = Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181')
/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py in
__init__(self=<svc_monitor.svc_monitor.SvcMonitor object>,
args=Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181'))
86
87 # init cassandra
88 self._cassandra = ServiceMonitorDB(self._args, self.logger)
89 DBBaseSM.init(self, self.logger, self._cassandra)
90
self = <svc_monitor.svc_monitor.SvcMonitor object>
self._cassandra undefined
global ServiceMonitorDB = <class 'svc_monitor.db.ServiceMonitorDB'>
self._args = Namespace(admin_password='xxx',
admin_t...r_ip='192.168.100.144:2181', zk_server_port='2181')
self.logger = <svc_monitor.logger.ServiceMonitorLogger object>
/usr/lib/python2.7/dist-packages/svc_monitor/db.py in
__init__(self=<svc_monitor.db.ServiceMonitorDB object>,
args=Namespace(admin_password='xxx', admin_t...r_ip='192.168.100.144:2181',
zk_server_port='2181'), logger=<svc_monitor.logger.ServiceMonitorLogger object>)
41 self._db_logger.log,
42
reset_config=args.reset_config,
43 credential=cred)
44
45 self._svc_si_cf = self._cf_dict[self._SVC_SI_CF]
credential undefined
cred = None
/usr/lib/python2.7/dist-packages/cfgm_common/vnc_cassandra.py in
__init__(self=<svc_monitor.db.ServiceMonitorDB object>, server_list=[],
db_prefix='', rw_keyspaces={'svc_monitor_keyspace': [('service_instance_table',
None), ('pool_table', None)]}, ro_keyspaces=None, logger=<bound method
ServiceMonitorLogger.log of <svc_monitor.logger.ServiceMonitorLogger object>>,
generate_url=None, reset_config=False, credential=None)
85 (self._UUID_KEYSPACE_NAME not in self._rw_keyspaces)):
86 self._ro_keyspaces.update(self._UUID_KEYSPACE)
87 self._cassandra_init(server_list)
88 self._cache_uuid_to_fq_name = {}
89 self._obj_uuid_cf = self._cf_dict[self._OBJ_UUID_CF_NAME]
self = <svc_monitor.db.ServiceMonitorDB object>
self._cassandra_init = <bound method ServiceMonitorDB._cassandra_init of
<svc_monitor.db.ServiceMonitorDB object>>
server_list = []
/usr/lib/python2.7/dist-packages/cfgm_common/vnc_cassandra.py in
_cassandra_init(self=<svc_monitor.db.ServiceMonitorDB object>, server_list=[])
298 Mutator.send = self._handle_exceptions(Mutator.send)
299
300 self.sys_mgr = self._cassandra_system_manager()
301 self.existing_keyspaces = self.sys_mgr.list_keyspaces()
302 for ks,cf_list in self._rw_keyspaces.items():
self = <svc_monitor.db.ServiceMonitorDB object>
self.sys_mgr undefined
self._cassandra_system_manager = <bound method
ServiceMonitorDB._cassandra_system...ager of <svc_monitor.db.ServiceMonitorDB
object>>
/usr/lib/python2.7/dist-packages/cfgm_common/vnc_cassandra.py in
_cassandra_system_manager(self=<svc_monitor.db.ServiceMonitorDB object>)
324 # TODO do only for
325 # thrift.transport.TTransport.TTransportException
326 server_idx = (server_idx + 1) % self._num_dbnodes
327 time.sleep(3)
328 return sys_mgr
server_idx = 0
self = <svc_monitor.db.ServiceMonitorDB object>
self._num_dbnodes = 0
<type 'exceptions.ZeroDivisionError'>: integer division or modulo by zero
__class__ = <type 'exceptions.ZeroDivisionError'>
__delattr__ = <method-wrapper '__delattr__' of exceptions.ZeroDivisionError
object>
__dict__ = {}
__doc__ = 'Second argument to a division or modulo operation was zero.'
__format__ = <built-in method __format__ of exceptions.ZeroDivisionError
object>
__getattribute__ = <method-wrapper '__getattribute__' of
exceptions.ZeroDivisionError object>
__getitem__ = <method-wrapper '__getitem__' of exceptions.ZeroDivisionError
object>
__getslice__ = <method-wrapper '__getslice__' of
exceptions.ZeroDivisionError object>
__hash__ = <method-wrapper '__hash__' of exceptions.ZeroDivisionError
object>
__init__ = <method-wrapper '__init__' of exceptions.ZeroDivisionError
object>
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of exceptions.ZeroDivisionError
object>
__reduce_ex__ = <built-in method __reduce_ex__ of
exceptions.ZeroDivisionError object>
__repr__ = <method-wrapper '__repr__' of exceptions.ZeroDivisionError
object>
__setattr__ = <method-wrapper '__setattr__' of exceptions.ZeroDivisionError
object>
__setstate__ = <built-in method __setstate__ of
exceptions.ZeroDivisionError object>
__sizeof__ = <built-in method __sizeof__ of exceptions.ZeroDivisionError
object>
__str__ = <method-wrapper '__str__' of exceptions.ZeroDivisionError object>
__subclasshook__ = <built-in method __subclasshook__ of type object>
__unicode__ = <built-in method __unicode__ of exceptions.ZeroDivisionError
object>
args = ('integer division or modulo by zero',)
message = 'integer division or modulo by zero'
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/usr/bin/contrail-svc-monitor", line 9, in <module>
load_entry_point('svc-monitor==0.1dev', 'console_scripts',
'contrail-svc-monitor')()
File "/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py", line 887,
in server_main
main()
File "/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py", line 881,
in main
run_svc_monitor, args)
File "/usr/lib/python2.7/dist-packages/cfgm_common/zkclient.py", line 335, in
master_election
self._election.run(func, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/kazoo/recipe/election.py", line 53, in
run
func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py", line 838,
in run_svc_monitor
monitor = SvcMonitor(args)
File "/usr/lib/python2.7/dist-packages/svc_monitor/svc_monitor.py", line 88,
in __init__
self._cassandra = ServiceMonitorDB(self._args, self.logger)
File "/usr/lib/python2.7/dist-packages/svc_monitor/db.py", line 43, in
__init__
credential=cred)
File "/usr/lib/python2.7/dist-packages/cfgm_common/vnc_cassandra.py", line
87, in __init__
self._cassandra_init(server_list)
File "/usr/lib/python2.7/dist-packages/cfgm_common/vnc_cassandra.py", line
300, in _cassandra_init
self.sys_mgr = self._cassandra_system_manager()
File "/usr/lib/python2.7/dist-packages/cfgm_common/vnc_cassandra.py", line
326, in _cassandra_system_manager
server_idx = (server_idx + 1) % self._num_dbnodes
ZeroDivisionError: integer division or modulo by zero
=============== END ================
Has anyone an idea what the problem could be?
We use contrail 3.0.2 deployed with the canonical juju charms from Robert Ayres.
Best regards
Kim
_______________________________________________
Users mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/users_lists.opencontrail.org