← Back to team overview

openstack team mailing list archive

nova-api start failed in multi_host compute nodes.

 

Hi all

I am trying to start nova-api in my compute node to use metadata.

I couldn't success yet. I found this log in nova-api log

2012-04-03 15:18:43,908 CRITICAL nova [-] Could not load paste app
'metadata' from /etc/nova/api-paste.ini
 36 (nova): TRACE: Traceback (most recent call last):
 37 (nova): TRACE:   File "/usr/local/bin/nova-api", line 51, in <module>
 38 (nova): TRACE:     servers.append(service.WSGIService(api))
 39 (nova): TRACE:   File
"/usr/local/lib/python2.7/dist-packages/nova/service.py", line 299, in
__init__
 40 (nova): TRACE:     self.app = self.loader.load_app(name)
 41 (nova): TRACE:   File
"/usr/local/lib/python2.7/dist-packages/nova/wsgi.py", line 414, in load_app
 42 (nova): TRACE:     raise exception.PasteAppNotFound(name=name,
path=self.config_path)
 43 (nova): TRACE: PasteAppNotFound: Could not load paste app 'metadata'
from /etc/nova/api-paste.ini
 44 (nova): TRACE:
 45 2012-04-03 15:20:43,786 ERROR nova.wsgi [-] No section 'metadata'
(prefixed by 'app' or 'application' or 'composite' or 'composit' or
'pipeline' or 'filter-app') found in config /etc/nov    a/api-paste.ini

I added the flag in my nova.conf

--enbled_apis=metadata

Here is my api-paste.ini

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

[composite:ec2]
use = egg:Paste#urlmap
/: ec2versions
/services/Cloud: ec2cloud
/services/Admin: ec2admin
/latest: ec2metadata
/2007-01-19: ec2metadata
/2007-03-01: ec2metadata
/2007-08-29: ec2metadata
/2007-10-10: ec2metadata
/2007-12-15: ec2metadata
/2008-02-01: ec2metadata
/2008-09-01: ec2metadata
/2009-04-04: ec2metadata

[pipeline:ec2cloud]
pipeline = logrequest ec2noauth cloudrequest authorizer ec2executor
# NOTE(vish): use the following pipeline for deprecated auth
#pipeline = logrequest authenticate cloudrequest authorizer ec2executor

[pipeline:ec2admin]
pipeline = logrequest ec2noauth adminrequest authorizer ec2executor
# NOTE(vish): use the following pipeline for deprecated auth
#pipeline = logrequest authenticate adminrequest authorizer ec2executor

[pipeline:ec2metadata]
pipeline = logrequest ec2md

[pipeline:ec2versions]
pipeline = logrequest ec2ver

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

[filter:ec2lockout]
paste.filter_factory = nova.api.ec2:Lockout.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:adminrequest]
controller = nova.api.ec2.admin.AdminController
paste.filter_factory = nova.api.ec2:Requestify.factory

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

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

[app:ec2ver]
paste.app_factory = nova.api.ec2:Versions.factory

[app:ec2md]
paste.app_factory =
nova.api.ec2.metadatarequesthandler:MetadataRequestHandler.factory

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

[composite:osapi]
use = call:nova.api.openstack.urlmap:urlmap_factory
/: osversions
/v1.1: openstackapi11

[pipeline:openstackapi11]
pipeline = faultwrap noauth ratelimit serialize extensions osapiapp11
# NOTE(vish): use the following pipeline for deprecated auth
# pipeline = faultwrap auth ratelimit serialize extensions osapiapp11

[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.limits:RateLimitingMiddleware.factory

[filter:serialize]
paste.filter_factory =
nova.api.openstack.wsgi:LazySerializationMiddleware.factory

[filter:extensions]
paste.filter_factory =
nova.api.openstack.extensions:ExtensionMiddleware.factory

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

[pipeline:osversions]
pipeline = faultwrap osversionapp

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


How can I solve this error??

Follow ups