Description of problem: ======================= I installed nova scheduler service as a standalone node (Via packstack). It fails to start with a missing import: ImportError: No module named cinderclient Version-Release number of selected component (if applicable): ============================================================= puddle: 2013-10-15.1 openstack-nova-common-2013.2-0.25.rc1.el6ost.noarch openstack-nova-scheduler-2013.2-0.25.rc1.el6ost.noarc How reproducible: ================= Always Steps to Reproduce: =================== 1. Install OpenStack via packstack, Make sure that the node you configure to run nova scheduler service is only used with CONFIG_NOVA_SCHED_HOST. 2. Via CLI, check nova-scheduler service status: # service openstack-nova-scheduler status 3. Check nova-scheduler log Actual results: =============== nova-scheduler status: openstack-nova-scheduler dead but pid file exists nova-scheduler log: ImportError: No module named cinderclient Expected results: ================= nova-scheduler should be up and running post installation. Additional Info: ================ To work around the issue: 1. install python-cinderclient # yum install python-cinderclient 2. and restarted the nova-scheduler service. # service openstack-nova-scheduler restart
Created attachment 814476 [details] nova scheduler log
Review submitted upstream: https://review.openstack.org/#/c/54437/
(In reply to Solly Ross from comment #3) > Review submitted upstream: https://review.openstack.org/#/c/54437/ If scheduler or cert (See bug 1021226 which is caused by the same problem) services require cinderclient, it should be fixed in the RPM instead of the puppet modules. Think about somebody deploying without puppet or updating an existing system. Having said that I think that neither cert nor scheduler should depend on cinderclient and looking at the attached traceback one can see that this dependency is easy to avoid by preventing nova.volume.encryptors instantiating the volume API in the module scope.
As Xavier suggests - the best way would be to avoid this dependency by removing the explicit import of nova.volume from the encryptors module, and instead passing the API class as a parameter to the functions in that module. This patch is not risky for upstream master not as a backport, but we will likely have to carry it since I am not sure how likely it is to get accepted for upstream stable.
*** Bug 1021226 has been marked as a duplicate of this bug. ***
Auto adding >= MODIFIED bugs to beta
Verified - nova-scheduler does not dies without cinderclient anymore: Old version 2013.2-0.25.rc1, new version 2013.2-5.el6ost. > # rpm -qa|grep scheduler > openstack-nova-scheduler-2013.2-0.25.rc1.el6ost.noarch > # service openstack-nova-scheduler status > openstack-nova-scheduler (pid 14458) is running... > # grep Import /var/log/nova/scheduler.log > #yum remove python-cinderclient > ... > Removed: > python-cinderclient.noarch 0:1.0.6-1.el6ost > > Dependency Removed: > openstack-cinder.noarch 0:2013.2-0.11.rc1.el6ost > openstack-dashboard.noarch 0:2013.2-0.15.rc2.el6ost > openstack-dashboard-theme.noarch 0:2013.2-0.15.rc2.el6ost > openstack-glance.noarch 0:2013.2-0.12.rc1.el6ost > openstack-nova-compute.noarch 0:2013.2-0.25.rc1.el6ost > python-glance.noarch 0:2013.2-0.12.rc1.el6ost > redhat-access-plugin-openstack.noarch 0:1.2.0-5.el6ost > > # /etc/init.d/openstack-nova-scheduler restart > Stopping openstack-nova-scheduler: [ OK ] > Starting openstack-nova-scheduler: [ OK ] > # service openstack-nova-scheduler status > openstack-nova-scheduler dead but pid file exists > # grep Import /var/log/nova/scheduler.log > 2013-12-13 14:05:14.093 23274 TRACE nova ImportError: No module named cinderclient > # > # rpm -qa|grep scheduler > openstack-nova-scheduler-2013.2-5.el6ost.noarch > # service openstack-nova-scheduler status > openstack-nova-scheduler (pid 14514) is running... > # grep Import /var/log/nova/scheduler.log > # yum remove python-cinderclient > ... > Removed: > python-cinderclient.noarch 0:1.0.7-1.el6ost > > Dependency Removed: > openstack-cinder.noarch 0:2013.2-3.el6ost > openstack-dashboard.noarch 0:2013.2-5.el6ost > openstack-dashboard-theme.noarch 0:2013.2-5.el6ost > openstack-glance.noarch 0:2013.2-3.el6ost > openstack-nova-compute.noarch 0:2013.2-5.el6ost > python-glance.noarch 0:2013.2-3.el6ost > redhat-access-plugin-openstack.noarch 0:4.0.0-0.el6ost > > # /etc/init.d/openstack-nova-scheduler restart > Stopping openstack-nova-scheduler: [ OK ] > Starting openstack-nova-scheduler: [ OK ] > # service openstack-nova-scheduler status > openstack-nova-scheduler (pid 15866) is running... > # grep Import /var/log/nova/scheduler.log > #
Pavel, you wrote on rhos-docs: "[21:09] <psedlak> hi, i have issue with Doc Text of https://bugzilla.redhat.com/show_bug.cgi?id=1021405 [21:09] <psedlak> it was actually fixed in the other way than what is written in there ..." Yaniv Eylon wrote the doc text; you might also let him know. Could you please correct the text and reset the 'requires_doc_text' flag to? This just ensures the edit.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2013-1859.html
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days