Bug 1348222

Summary: Unable to start ceilometer-central and gnocchi since redis module is missing on controller
Product: [Community] RDO Reporter: Raoul Scarazzini <rscarazz>
Component: openstack-ceilometerAssignee: Pradeep Kilambi <pkilambi>
Status: CLOSED CURRENTRELEASE QA Contact: Sasha Smolyak <ssmolyak>
Severity: high Docs Contact:
Priority: high    
Version: MitakaCC: jruzicka, rscarazz, srevivo
Target Milestone: ---   
Target Release: trunk   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-22 14:20:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Raoul Scarazzini 2016-06-20 13:29:40 UTC
Description of problem:

The redis python module is missing after a successful overcloud deployment.
This prevents some services to start:

openstack-ceilometer-central
openstack-gnocchi-metricd
openstack-gnocchi-statsd

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

openstack-gnocchi-statsd-2.0.3-0.20160518085057.1908134.el7.centos.noarch
openstack-ceilometer-central-6.0.1-0.20160607095924.9c08a89.el7.centos.noarch
openstack-gnocchi-metricd-2.0.3-0.20160518085057.1908134.el7.centos.noarch

How reproducible:

Deploy an overcloud environment via tripleo and check the status of one of the three cited services.

Actual results:

2016-06-16 12:51:23.839 15124 CRITICAL gnocchi [-] ImportError: No module named redis
2016-06-16 12:51:23.839 15124 ERROR gnocchi Traceback (most recent call last):
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/bin/gnocchi-statsd", line 10, in <module>
2016-06-16 12:51:23.839 15124 ERROR gnocchi sys.exit(statsd())
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/gnocchi/cli.py", line 72, in statsd
2016-06-16 12:51:23.839 15124 ERROR gnocchi statsd_service.start()
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/gnocchi/statsd.py", line 174, in start
2016-06-16 12:51:23.839 15124 ERROR gnocchi stats = Stats(conf)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/gnocchi/statsd.py", line 38, in __init__
2016-06-16 12:51:23.839 15124 ERROR gnocchi self.storage = storage.get_driver(self.conf)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/gnocchi/storage/__init__.py", line 155, in get_driver
2016-06-16 12:51:23.839 15124 ERROR gnocchi return get_driver_class(conf)(conf.storage)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/gnocchi/storage/file.py", line 44, in __init__
2016-06-16 12:51:23.839 15124 ERROR gnocchi super(FileStorage, self).__init__(conf)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/gnocchi/storage/_carbonara.py", line 57, in __init__
2016-06-16 12:51:23.839 15124 ERROR gnocchi str(uuid.uuid4()).encode('ascii'))
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/tooz/coordination.py", line 539, in get_coordinator
2016-06-16 12:51:23.839 15124 ERROR gnocchi invoke_args=(member_id, parsed_url, options)).driver
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/stevedore/driver.py", line 46, in __init__
2016-06-16 12:51:23.839 15124 ERROR gnocchi verify_requirements=verify_requirements,
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/stevedore/named.py", line 55, in __init__
2016-06-16 12:51:23.839 15124 ERROR gnocchi verify_requirements)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/stevedore/extension.py", line 171, in _load_plugins
2016-06-16 12:51:23.839 15124 ERROR gnocchi self._on_load_failure_callback(self, ep, err)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/stevedore/extension.py", line 163, in _load_plugins
2016-06-16 12:51:23.839 15124 ERROR gnocchi verify_requirements,
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/stevedore/named.py", line 123, in _load_one_plugin
2016-06-16 12:51:23.839 15124 ERROR gnocchi verify_requirements,
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/stevedore/extension.py", line 186, in _load_one_plugin
2016-06-16 12:51:23.839 15124 ERROR gnocchi plugin = ep.load(require=verify_requirements)
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
2016-06-16 12:51:23.839 15124 ERROR gnocchi entry = __import__(self.module_name, globals(),globals(), ['__name__'])
2016-06-16 12:51:23.839 15124 ERROR gnocchi File "/usr/lib/python2.7/site-packages/tooz/drivers/redis.py", line 27, in <module>
2016-06-16 12:51:23.839 15124 ERROR gnocchi import redis
2016-06-16 12:51:23.839 15124 ERROR gnocchi ImportError: No module named redis
2016-06-16 12:51:23.839 15124 ERROR gnocchi

Expected results:

Service correctly loaded.

Additional info:

You can solve this by manually installing the redis module via pip:

# sudo pip install redis
Warning: Permanently added '10.1.241.3' (ECDSA) to the list of known hosts.
Warning: Permanently added 'overcloud-controller-1' (ECDSA) to the list of known hosts.
Downloading/unpacking redis
  Running setup.py egg_info for package redis

    warning: no previously-included files found matching '__pycache__'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
Installing collected packages: redis
  Running setup.py install for redis

    warning: no previously-included files found matching '__pycache__'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
Successfully installed redis
Cleaning up...

Comment 1 Pradeep Kilambi 2017-08-22 14:20:11 UTC
this is quite old. We do install redis via puppet so this should already be fixed. Moving to closed current.