heat/bin/heat-api
Tomas Sedovic 7690e1b5d4 Fix --template-file
Fixes #47

The code that causes the URI TOO LONG error is in eventlet.wsgi.

So for the time being we're replacing that with paste.httpserver which serves
WSGI apps, too.

Longer term, we want to use eventlet but they need to make the maximum URL
length configurable.
2012-04-04 19:28:47 +02:00

41 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
"""
Heat API Server. This implements an approximation of the Amazon
CloudFormations API and translates it into a native representation. It then
calls the heat-engine via REST to implement them.
"""
import gettext
import os
import sys
# If ../heat/__init__.py exists, add ../ to Python search path, so that
# it will override what happens to be installed in /usr/(local/)lib/python...
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
os.pardir,
os.pardir))
if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')):
sys.path.insert(0, possible_topdir)
gettext.install('heat', unicode=1)
from heat.common import config
from heat.common import wsgi
from paste import httpserver
if __name__ == '__main__':
try:
conf = config.HeatConfigOpts()
conf()
app = config.load_paste_app(conf)
port = config.DEFAULT_PORT
print 'Starting Heat API on port %s' % port
httpserver.serve(app, port=port)
except RuntimeError, e:
sys.exit("ERROR: %s" % e)