diff --git a/cloud/nova_keypair b/cloud/nova_keypair index dda549fbbef..553683d3a89 100644 --- a/cloud/nova_keypair +++ b/cloud/nova_keypair @@ -115,7 +115,10 @@ def main(): if module.params['state'] == 'present': for key in nova.keypairs.list(): if key.name == module.params['name']: - module.exit_json(changed = False, result = "Key present") + if module.params['public_key'] and (module.params['public_key'] != key.public_key ): + module.fail_json(msg = "name {} present but key hash not the same as offered. Delete key first.".format(key['name'])) + else: + module.exit_json(changed = False, result = "Key present") try: key = nova.keypairs.create(module.params['name'], module.params['public_key']) except Exception, e: