Folsom & Ubuntu: Nova-Api crashes on start

Asked by Javier J. Salmerón García

Hello Everyone,

I am installing Openstack Folsom in Ubuntu 12.04 following the tutorial in docs.openstack.org. Keystone and Glance were set up perfectly, but I came across several problems with nova. As soon as I start nova-api it crashes. The log shows the following:

2012-10-19 15:53:33 DEBUG nova.wsgi [-] Loading app metadata from /etc/nova/api-paste.ini from (pid=3269) load_app /usr/lib/python2.7/dist-packages/nova/wsgi.py:371
2012-10-19 15:53:33 CRITICAL nova [-] <module 'nova.api.metadata.handler' from '/usr/lib/python2.7/dist-packages/nova/api/metadata/handler.pyc'> has no 'Versions' attribute
2012-10-19 15:53:33 TRACE nova Traceback (most recent call last):
2012-10-19 15:53:33 TRACE nova File "/usr/bin/nova-api", line 50, in <module>
2012-10-19 15:53:33 TRACE nova server = service.WSGIService(api)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/service.py", line 577, in __init__
2012-10-19 15:53:33 TRACE nova self.app = self.loader.load_app(name)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/nova/wsgi.py", line 372, in load_app
2012-10-19 15:53:33 TRACE nova return deploy.loadapp("config:%s" % self.config_path, name=name)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2012-10-19 15:53:33 TRACE nova return loadobj(APP, uri, name=name, **kw)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2012-10-19 15:53:33 TRACE nova return context.create()
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
2012-10-19 15:53:33 TRACE nova return self.object_type.invoke(self)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2012-10-19 15:53:33 TRACE nova **context.local_conf)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
2012-10-19 15:53:33 TRACE nova val = callable(*args, **kw)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 25, in urlmap_factory
2012-10-19 15:53:33 TRACE nova app = loader.get_app(app_name, global_conf=global_conf)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2012-10-19 15:53:33 TRACE nova name=name, global_conf=global_conf).create()
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 362, in app_context
2012-10-19 15:53:33 TRACE nova APP, name=name, global_conf=global_conf)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
2012-10-19 15:53:33 TRACE nova global_additions=global_additions)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 559, in _pipeline_app_context
2012-10-19 15:53:33 TRACE nova APP, pipeline[-1], global_conf)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 458, in get_context
2012-10-19 15:53:33 TRACE nova section)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 517, in _context_from_explicit
2012-10-19 15:53:33 TRACE nova value = import_string(found_expr)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 22, in import_string
2012-10-19 15:53:33 TRACE nova return pkg_resources.EntryPoint.parse("x=" + s).load(False)
2012-10-19 15:53:33 TRACE nova File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1994, in load
2012-10-19 15:53:33 TRACE nova raise ImportError("%r has no %r attribute" % (entry,attr))
2012-10-19 15:53:33 TRACE nova ImportError: <module 'nova.api.metadata.handler' from '/usr/lib/python2.7/dist-packages/nova/api/metadata/handler.pyc'> has no 'Versions' attribute
2012-10-19 15:53:33 TRACE nova
2012-10-19 15:53:33 INFO nova.service [-] Parent process has died unexpectedly, exiting
2012-10-19 15:53:33 INFO nova.service [-] Parent process has died unexpectedly, exiting
2012-10-19 15:53:33 INFO nova.wsgi [-] Stopping WSGI server.
2012-10-19 15:53:33 INFO nova.wsgi [-] Deteniendo servidor WSGI.
2012-10-19 15:53:33 INFO nova.service [-] Parent process has died unexpectedly, exiting
2012-10-19 15:53:33 INFO nova.wsgi [-] Stopping WSGI server.

I do not know why, it says that the metadata handler module has no 'Versions' attribute. Moreover, I am unable to use nova services as I get a [111] connection refused error.

Thank you for your help,

Output of nova-manage:

2012-10-19 16:09:54 DEBUG nova.utils [req-9b48f2a2-e838-4d5a-958d-6215af31b4a1 None None] motor <module 'nova.db.sqlalchemy.api' from '/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.pyc'> from (pid=4304) __get_backend /usr/lib/python2.7/dist-packages/nova/utils.py:494
Binary Host Zone Status State Updated_At
nova-scheduler ATC-241 nova enabled :-) 2012-10-19 14:09:50
nova-consoleauth ATC-241 nova enabled :-) 2012-10-19 14:09:50
nova-cert ATC-241 nova enabled :-) 2012-10-19 14:09:50

Nova.conf

[DEFAULT]

# LOGS/STATE
verbose=True
logdir=/var/log/nova

# HELPER

root_helper=sudo nova-rootwrap

# LOCK

state_path=/var/lib/nova
lock_path=/var/lock/nova

# AUTHENTICATION
auth_strategy=keystone
use_deprecated_auth=false

# SCHEDULER
#compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
scheduler_driver=nova.scheduler.simple.SimpleScheduler

# VOLUMES
volume_group=nova-volumes
#volume_name_template=volume-%08x
iscsi_helper=tgtadm

# DATABASE
sql_connection=mysql://nova:admin@10.1.15.241/nova

# COMPUTE
libvirt_type=kvm
connection_type=libvirt
instance_name_template=instance-%08x
api_paste_config=/etc/nova/api-paste.ini
allow_resize_to_same_host=True
allow_admin_api=true
start_guests_on_host_boot=false
resume_guests_state_on_host_boot=false

# APIS
osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions
ec2_dmz_host=10.1.15.241
s3_host=10.1.15.241
ec2_private_dns_show_ip=true

# URL
nova_url=http://10.1.15.241:8774/v1.1/
routing_source_ip=10.1.15.241
ec2_url=http://10.1.15.241/services/Cloud
keystone_ec2_url=http://10.1.15.241:5000/v2.0/ec2tokens

# RABBITMQ
rabbit_host=10.1.15.241

# HOST
cc_host=10.1.15.241

# GLANCE
image_service=nova.image.glance.GlanceImageService
glance_api_servers=10.1.15.241:9292

# NETWORK
network_manager=nova.network.manager.FlatDHCPManager
force_dhcp_release=true
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
my_ip=10.1.15.241
public_interface=eth1
flat_network_bridge=br100
vlan_interface=eth1
flat_interface=eth1
fixed_range=192.168.100.0/24
flat_network_dhcp_start=192.168.100.2
flat_injected=False
libvirt_use_virtio_for_bridges=true

# NOVNC CONSOLE
novnc_enabled=true
novncproxy_base_url=http://10.1.15.241:6080/vnc_auto.html
vncserver_proxyclient_address=10.1.15.241
vncserver_listen=10.1.15.241

instances_path=/var/lib/nova/instances/

[keystone_authtoken]
auth_host = 10.1.15.241
auth_port = 35357
auth_protocol = http
auth_uri = http://10.1.15.241:5000/v2.0/
admin_tenant_name = service
admin_user = nova
admin_password = nova

api-paste.ini

############
# Metadata #
############
[composite:metadata]
use = egg:Paste#urlmap
/: metaversions
/latest: meta
/1.0: meta
/2007-01-19: meta
/2007-03-01: meta
/2007-08-29: meta
/2007-10-10: meta
/2007-12-15: meta
/2008-02-01: meta
/2008-09-01: meta
/2009-04-04: meta

[pipeline:metaversions]
pipeline = ec2faultwrap logrequest metaverapp

[pipeline:meta]
pipeline = ec2faultwrap logrequest metaapp

[app:metaverapp]
paste.app_factory = nova.api.metadata.handler:Versions.factory

[app:metaapp]
paste.app_factory = nova.api.metadata.handler:MetadataRequestHandler.factory

#######
# EC2 #
#######

[composite:ec2]
use = egg:Paste#urlmap
/services/Cloud: ec2cloud

[composite:ec2cloud]
use = call:nova.api.auth:pipeline_factory
noauth = ec2faultwrap logrequest ec2noauth cloudrequest validator ec2executor
deprecated = ec2faultwrap logrequest authenticate cloudrequest validator ec2executor
keystone = ec2faultwrap logrequest ec2keystoneauth cloudrequest validator ec2executor

[filter:ec2faultwrap]
paste.filter_factory = nova.api.ec2:FaultWrapper.factory

[filter:logrequest]
paste.filter_factory = nova.api.ec2:RequestLogging.factory

[filter:ec2lockout]
paste.filter_factory = nova.api.ec2:Lockout.factory

[filter:totoken]
paste.filter_factory = nova.api.ec2:EC2Token.factory

[filter:ec2keystoneauth]
paste.filter_factory = nova.api.ec2:EC2KeystoneAuth.factory

[filter:ec2noauth]
paste.filter_factory = nova.api.ec2:NoAuth.factory

[filter:authenticate]
paste.filter_factory = nova.api.ec2:Authenticate.factory

[filter:cloudrequest]
controller = nova.api.ec2.cloud.CloudController
paste.filter_factory = nova.api.ec2:Requestify.factory

[filter:authorizer]
paste.filter_factory = nova.api.ec2:Authorizer.factory

[filter:validator]
paste.filter_factory = nova.api.ec2:Validator.factory

[app:ec2executor]
paste.app_factory = nova.api.ec2:Executor.factory

#############
# Openstack #
#############

[composite:osapi_compute]
use = call:nova.api.openstack.urlmap:urlmap_factory
/: oscomputeversions
/v1.1: openstack_compute_api_v2
/v2: openstack_compute_api_v2

[composite:osapi_volume]
use = call:nova.api.openstack.urlmap:urlmap_factory
/: osvolumeversions
/v1: openstack_volume_api_v1

[composite:openstack_compute_api_v2]
use = call:nova.api.auth:pipeline_factory
noauth = faultwrap noauth ratelimit osapi_compute_app_v2
deprecated = faultwrap auth ratelimit osapi_compute_app_v2
keystone = faultwrap authtoken keystonecontext ratelimit osapi_compute_app_v2
keystone_nolimit = faultwrap authtoken keystonecontext osapi_compute_app_v2

[composite:openstack_volume_api_v1]
use = call:nova.api.auth:pipeline_factory
noauth = faultwrap noauth ratelimit osapi_volume_app_v1
deprecated = faultwrap auth ratelimit osapi_volume_app_v1
keystone = faultwrap authtoken keystonecontext ratelimit osapi_volume_app_v1
keystone_nolimit = faultwrap authtoken keystonecontext osapi_volume_app_v1

[filter:faultwrap]
paste.filter_factory = nova.api.openstack:FaultWrapper.factory

[filter:auth]
paste.filter_factory = nova.api.openstack.auth:AuthMiddleware.factory

[filter:noauth]
paste.filter_factory = nova.api.openstack.auth:NoAuthMiddleware.factory

[filter:ratelimit]
paste.filter_factory = nova.api.openstack.compute.limits:RateLimitingMiddleware.factory

[app:osapi_compute_app_v2]
paste.app_factory = nova.api.openstack.compute:APIRouter.factory

[pipeline:oscomputeversions]
pipeline = faultwrap oscomputeversionapp

[app:osapi_volume_app_v1]
paste.app_factory = nova.api.openstack.volume:APIRouter.factory

[app:oscomputeversionapp]
paste.app_factory = nova.api.openstack.compute.versions:Versions.factory

[pipeline:osvolumeversions]
pipeline = faultwrap osvolumeversionapp

[app:osvolumeversionapp]
paste.app_factory = nova.api.openstack.volume.versions:Versions.factory

##########
# Shared #
##########

[filter:keystonecontext]
paste.filter_factory = nova.api.auth:NovaKeystoneContext.factory

[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 10.1.15.241
service_port = 5000
auth_host = 10.1.15.241
auth_port = 35357
auth_protocol = http
auth_uri = http://10.1.15.241:5000/v2.0/
admin_tenant_name = service
admin_user = nova
admin_password = nova

Question information

Language:
English Edit question
Status:
Expired
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Launchpad Janitor (janitor) said :
#1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
Aimon Bustardo (aimonb) said :
#2

Did you resolve this?

Revision history for this message
koolhead17 (koolhead17) said :
#3

2012-06-19T14:16:01 <markmc> i.e. this shouldn't be there anymore:
2012-06-19T14:16:02 <markmc> paste.app_factory = nova.api.metadata.handler:Versions.factory

From the log

http://eavesdrop.openstack.org/irclogs/%23openstack-dev/%23openstack-dev.2012-06-19.log

See if it works