7690e1b5d4
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.
41 lines
1.2 KiB
Python
Executable File
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)
|