diff --git a/library/cloud/nova_compute b/library/cloud/nova_compute index f7fd55123ed..e87ec8af12e 100644 --- a/library/cloud/nova_compute +++ b/library/cloud/nova_compute @@ -308,13 +308,14 @@ def _create_server(module, nova): bootkwargs = { 'nics' : module.params['nics'], 'meta' : module.params['meta'], - 'key_name': module.params['key_name'], 'security_groups': module.params['security_groups'].split(','), #userdata is unhyphenated in novaclient, but hyphenated here for consistency with the ec2 module: 'userdata': module.params['user_data'], } - if not module.params['key_name']: - del bootkwargs['key_name'] + + for optional_param in ('region_name', 'key_name'): + if module.params[optional_param]: + bootkwargs[optional_param] = module.params[optional_param] try: server = nova.servers.create(*bootargs, **bootkwargs) server = nova.servers.get(server.id)