More peppy fixes...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
parent
f36197a872
commit
62e7882e9e
@ -44,6 +44,7 @@ import sys
|
|||||||
from urllib2 import urlopen
|
from urllib2 import urlopen
|
||||||
from urlparse import urlparse, urlunparse
|
from urlparse import urlparse, urlunparse
|
||||||
|
|
||||||
|
|
||||||
def to_boolean(b):
|
def to_boolean(b):
|
||||||
val = b.lower().strip() if isinstance(b, basestring) else b
|
val = b.lower().strip() if isinstance(b, basestring) else b
|
||||||
return val in [True, 'true', 'yes', '1', 1]
|
return val in [True, 'true', 'yes', '1', 1]
|
||||||
@ -732,9 +733,11 @@ class ServicesHandler(object):
|
|||||||
else:
|
else:
|
||||||
self._monitor_services(handler, service_entries)
|
self._monitor_services(handler, service_entries)
|
||||||
|
|
||||||
|
|
||||||
class MetadataServerConnectionError(Exception):
|
class MetadataServerConnectionError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Metadata(object):
|
class Metadata(object):
|
||||||
_metadata = None
|
_metadata = None
|
||||||
_init_key = "AWS::CloudFormation::Init"
|
_init_key = "AWS::CloudFormation::Init"
|
||||||
@ -753,7 +756,6 @@ class Metadata(object):
|
|||||||
self._is_local_metadata = True
|
self._is_local_metadata = True
|
||||||
self._metadata = None
|
self._metadata = None
|
||||||
|
|
||||||
|
|
||||||
def metadata_server_url(self):
|
def metadata_server_url(self):
|
||||||
"""
|
"""
|
||||||
Return the url to the metadata server.
|
Return the url to the metadata server.
|
||||||
|
@ -139,6 +139,7 @@ class HeatConfigOpts(cfg.CommonConfigOpts):
|
|||||||
**kwargs)
|
**kwargs)
|
||||||
self.register_cli_opts(rpc_opts)
|
self.register_cli_opts(rpc_opts)
|
||||||
|
|
||||||
|
|
||||||
class HeatMetadataConfigOpts(cfg.CommonConfigOpts):
|
class HeatMetadataConfigOpts(cfg.CommonConfigOpts):
|
||||||
def __init__(self, default_config_files=None, **kwargs):
|
def __init__(self, default_config_files=None, **kwargs):
|
||||||
config_files = cfg.find_config_files(project='heat',
|
config_files = cfg.find_config_files(project='heat',
|
||||||
|
@ -110,9 +110,10 @@ def get_engine():
|
|||||||
|
|
||||||
def get_maker(engine, autocommit=True, expire_on_commit=False):
|
def get_maker(engine, autocommit=True, expire_on_commit=False):
|
||||||
"""Return a SQLAlchemy sessionmaker using the given engine."""
|
"""Return a SQLAlchemy sessionmaker using the given engine."""
|
||||||
return sqlalchemy.orm.scoped_session(sqlalchemy.orm.sessionmaker(bind=engine,
|
ses = sqlalchemy.orm.sessionmaker(bind=engine,
|
||||||
autocommit=autocommit,
|
autocommit=autocommit,
|
||||||
expire_on_commit=expire_on_commit))
|
expire_on_commit=expire_on_commit)
|
||||||
|
return sqlalchemy.orm.scoped_session(ses)
|
||||||
|
|
||||||
|
|
||||||
def _get_sql_connection():
|
def _get_sql_connection():
|
||||||
|
@ -116,7 +116,8 @@ class Instance(Resource):
|
|||||||
mime_blob.attach(msg)
|
mime_blob.attach(msg)
|
||||||
|
|
||||||
msg = MIMEText(userdata, _subtype='x-shellscript')
|
msg = MIMEText(userdata, _subtype='x-shellscript')
|
||||||
msg.add_header('Content-Disposition', 'attachment', filename='startup')
|
msg.add_header('Content-Disposition', 'attachment',
|
||||||
|
filename='startup')
|
||||||
mime_blob.attach(msg)
|
mime_blob.attach(msg)
|
||||||
self.mime_string = mime_blob.as_string()
|
self.mime_string = mime_blob.as_string()
|
||||||
|
|
||||||
|
@ -119,8 +119,9 @@ class Stack(object):
|
|||||||
try:
|
try:
|
||||||
res = self.resources[r].validate()
|
res = self.resources[r].validate()
|
||||||
if res:
|
if res:
|
||||||
|
err_str = 'Malformed Query Response [%s]' % (res)
|
||||||
response = {'ValidateTemplateResult': {
|
response = {'ValidateTemplateResult': {
|
||||||
'Description': 'Malformed Query Response [%s]' % res,
|
'Description': err_str,
|
||||||
'Parameters': []}}
|
'Parameters': []}}
|
||||||
return response
|
return response
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
|
@ -30,11 +30,13 @@ def json_response(http_status, data):
|
|||||||
response.content_type = 'application/json'
|
response.content_type = 'application/json'
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
def json_error(http_status, message):
|
def json_error(http_status, message):
|
||||||
"""Create a JSON error response."""
|
"""Create a JSON error response."""
|
||||||
body = {'error': message}
|
body = {'error': message}
|
||||||
return json_response(http_status, body)
|
return json_response(http_status, body)
|
||||||
|
|
||||||
|
|
||||||
class MetadataController:
|
class MetadataController:
|
||||||
def __init__(self, options):
|
def __init__(self, options):
|
||||||
self.options = options
|
self.options = options
|
||||||
@ -59,7 +61,8 @@ class MetadataController:
|
|||||||
if resources:
|
if resources:
|
||||||
return resources
|
return resources
|
||||||
else:
|
else:
|
||||||
return json_error(404, 'The stack "%s" does not exist.' % stack_name)
|
return json_error(404,
|
||||||
|
'The stack "%s" does not exist.' % stack_name)
|
||||||
|
|
||||||
def get_resource(self, req, stack_name, resource_id):
|
def get_resource(self, req, stack_name, resource_id):
|
||||||
con = context.get_admin_context()
|
con = context.get_admin_context()
|
||||||
@ -69,9 +72,11 @@ class MetadataController:
|
|||||||
'resource_id': resource_id}})
|
'resource_id': resource_id}})
|
||||||
if error:
|
if error:
|
||||||
if error == 'stack':
|
if error == 'stack':
|
||||||
return json_error(404, 'The stack "%s" does not exist.' % stack_name)
|
return json_error(404,
|
||||||
|
'The stack "%s" does not exist.' % stack_name)
|
||||||
else:
|
else:
|
||||||
return json_error(404, 'The resource "%s" does not exist.' % resource_id)
|
return json_error(404,
|
||||||
|
'The resource "%s" does not exist.' % resource_id)
|
||||||
return metadata
|
return metadata
|
||||||
|
|
||||||
def update_metadata(self, req, body, stack_name, resource_id):
|
def update_metadata(self, req, body, stack_name, resource_id):
|
||||||
@ -83,14 +88,17 @@ class MetadataController:
|
|||||||
'metadata': body}})
|
'metadata': body}})
|
||||||
if error:
|
if error:
|
||||||
if error == 'stack':
|
if error == 'stack':
|
||||||
return json_error(404, 'The stack "%s" does not exist.' % stack_name)
|
return json_error(404,
|
||||||
|
'The stack "%s" does not exist.' % stack_name)
|
||||||
else:
|
else:
|
||||||
return json_error(404, 'The resource "%s" does not exist.' % resource_id)
|
return json_error(404,
|
||||||
|
'The resource "%s" does not exist.' % resource_id)
|
||||||
return json_response(201, {
|
return json_response(201, {
|
||||||
'resource': resource_id,
|
'resource': resource_id,
|
||||||
'metadata': body,
|
'metadata': body,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
def create_resource(options):
|
def create_resource(options):
|
||||||
"""
|
"""
|
||||||
Stacks resource factory method.
|
Stacks resource factory method.
|
||||||
@ -98,4 +106,3 @@ def create_resource(options):
|
|||||||
deserializer = wsgi.JSONRequestDeserializer()
|
deserializer = wsgi.JSONRequestDeserializer()
|
||||||
serializer = wsgi.JSONResponseSerializer()
|
serializer = wsgi.JSONResponseSerializer()
|
||||||
return wsgi.Resource(MetadataController(options), deserializer, serializer)
|
return wsgi.Resource(MetadataController(options), deserializer, serializer)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user