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
Users@lists.opencontrail.org
http://lists.opencontrail.org/mailman/listinfo/users_lists.opencontrail.org

Reply via email to