Moving key validation into instance validate

This commit is contained in:
Chris Alfonso 2012-05-04 14:53:17 -04:00
parent 8bfacf2e23
commit 247266e7bc
3 changed files with 15 additions and 17 deletions

View File

@ -195,8 +195,18 @@ class Instance(Resource):
def validate(self):
'''
Validate the server's ip address
Validate any of the provided params
'''
#check validity of key
if self.stack.parms['KeyName']:
keypairs = self.nova().keypairs.list()
valid_key = False
for k in keypairs:
if k.name == self.stack.parms['KeyName'].get('Value'):
valid_key = True
if not valid_key:
return {'Error': \
'Provided KeyName is not registered with nova'}
return None
def reload(self):

View File

@ -122,19 +122,9 @@ class EngineManager(manager.Manager):
return {'Error': 'Stack already exists with that name.'}
stack = parser.Stack(stack_name, template, 0, params)
stack._apply_user_parameters(params)
validator = resources.Resource('validate', template, stack)
#check validity of key
if stack.parms['KeyName']:
keypairs = validator.nova().keypairs.list()
valid_key = False
for k in keypairs:
if k.name == stack.parms['KeyName'].get('Value'):
valid_key = True
if not valid_key:
return {'Error': \
'Provided KeyName is not registered with nova'}
response = stack.validate()
if 'Malformed Query Response' in response['ValidateTemplateResult']['Description']:
return response['ValidateTemplateResult']['Description']
rt = {}
rt['template'] = template
rt['stack_name'] = stack_name

View File

@ -115,16 +115,14 @@ class Stack(object):
order = self.get_create_order()
response = None
for r in order:
try:
res = self.resources[r].validate()
if res:
print 'setting response'
response = {'ValidateTemplateResult': {
'Description': 'Malformed Query Response [%s]' % res,
'Parameters': []}}
break
return response
except Exception as ex:
logger.exception('validate')
failed = True