Don't go fishing in the stack for the KeyName
The KeyName should be a property of the Instance, and need not have the same name in the stack parameters. Change-Id: I05dcfd9aa6f92bc7aaa2dbc594062984ac074b7e Signed-off-by: Zane Bitter <zbitter@redhat.com>
This commit is contained in:
parent
b942be0e36
commit
2c15f8e1b3
|
@ -241,17 +241,20 @@ class Instance(Resource):
|
||||||
res = Resource.validate(self)
|
res = Resource.validate(self)
|
||||||
if res:
|
if res:
|
||||||
return res
|
return res
|
||||||
|
|
||||||
#check validity of key
|
#check validity of key
|
||||||
if self.stack.parms['KeyName']:
|
try:
|
||||||
|
key_name = self.properties['KeyName']
|
||||||
|
except ValueError:
|
||||||
|
return
|
||||||
|
else:
|
||||||
keypairs = self.nova().keypairs.list()
|
keypairs = self.nova().keypairs.list()
|
||||||
valid_key = False
|
valid_key = False
|
||||||
for k in keypairs:
|
for k in keypairs:
|
||||||
if k.name == self.stack.parms['KeyName']:
|
if k.name == key_name:
|
||||||
valid_key = True
|
return
|
||||||
if not valid_key:
|
|
||||||
return {'Error':
|
return {'Error':
|
||||||
'Provided KeyName is not registered with nova'}
|
'Provided KeyName is not registered with nova'}
|
||||||
return None
|
|
||||||
|
|
||||||
def handle_delete(self):
|
def handle_delete(self):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -71,7 +71,7 @@ test_template_ref = '''
|
||||||
"Properties": {
|
"Properties": {
|
||||||
"ImageId": "image_name",
|
"ImageId": "image_name",
|
||||||
"InstanceType": "m1.large",
|
"InstanceType": "m1.large",
|
||||||
"KeyName": "test_KeyName"
|
"KeyName": { "Ref" : "KeyName" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DataVolume" : {
|
"DataVolume" : {
|
||||||
|
@ -112,7 +112,7 @@ test_template_findinmap_valid = '''
|
||||||
"Properties": {
|
"Properties": {
|
||||||
"ImageId": "image_name",
|
"ImageId": "image_name",
|
||||||
"InstanceType": "m1.large",
|
"InstanceType": "m1.large",
|
||||||
"KeyName": "test_KeyName"
|
"KeyName": { "Ref" : "KeyName" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DataVolume" : {
|
"DataVolume" : {
|
||||||
|
@ -176,7 +176,7 @@ test_template_findinmap_invalid = '''
|
||||||
'"InstanceType" }, "Arch" ] } ] },' + \
|
'"InstanceType" }, "Arch" ] } ] },' + \
|
||||||
'''
|
'''
|
||||||
"InstanceType": "m1.large",
|
"InstanceType": "m1.large",
|
||||||
"KeyName": "test_KeyName"
|
"KeyName": { "Ref" : "KeyName"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DataVolume" : {
|
"DataVolume" : {
|
||||||
|
|
Loading…
Reference in New Issue