![Steven Hardy](/assets/img/avatar_default.png)
Remove logic where the heat-metadata server registers a URL on startup with the engine. The instance metadata is now served via the CFN api, so we just have a config-file option specifying the URL of the CFN API. We don't want to preserve the "register on startup" logic, because we need the engine to have access to this information even if it is restarted independent of some other service (avoid reliance on services coming up in a particular order) Change-Id: I690170977227ec96451d2a2fd25f7e507370b604 Signed-off-by: Steven Hardy <shardy@redhat.com>
62 lines
1.9 KiB
Python
Executable File
62 lines
1.9 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
"""
|
|
Heat Metadata Server.
|
|
|
|
This makes the instance metadata accessible both to the instance and Heat Engine.
|
|
"""
|
|
|
|
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 heat.openstack.common import log as logging
|
|
from heat.openstack.common import cfg
|
|
|
|
LOG = logging.getLogger('heat.metadata')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
cfg.CONF(project='heat', prog='heat-metadata')
|
|
|
|
config.setup_logging()
|
|
config.register_metadata_opts()
|
|
|
|
app = config.load_paste_app()
|
|
|
|
port = cfg.CONF.bind_port
|
|
host = cfg.CONF.bind_host
|
|
LOG.info(('Starting Heat Metadata on %s:%s') % (host, port))
|
|
server = wsgi.Server()
|
|
server.start(app, cfg.CONF, default_port=port)
|
|
server.wait()
|
|
except RuntimeError, e:
|
|
sys.exit("ERROR: %s" % e)
|