{% set memcached_servers = [] %}
{% for host in haproxy_hosts.values() %}
{% set _ = memcached_servers.append('%s:11211'% host) %}
{% endfor %}
{% set memcached_servers = memcached_servers|join(',') %}

[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
log-dir=/var/log/nova
state_path=/var/lib/nova
force_dhcp_release=True
verbose={{ VERBOSE }}
ec2_private_dns_show_ip=True
enabled_apis=osapi_compute,metadata

auth_strategy = keystone
my_ip = {{ internal_ip }}
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
transport_url = rabbit://{{ RABBIT_USER }}:{{ RABBIT_PASS }}@{{ rabbit_host }}
default_floating_pool={{ public_net_info.network }}
metadata_listen={{ internal_ip }}
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver

iscsi_helper=tgtadm
connection_type=libvirt
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
debug={{ DEBUG }}
volumes_path=/var/lib/nova/volumes
rpc_backend = rabbit
osapi_compute_listen={{ internal_ip }}
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = nova.openstack.common.notifier.rpc_notifier
notification_driver = ceilometer.compute.nova_notifier
memcached_servers = {{ memcached_servers }}

{% if ansible_processor_vcpus > 20 %}
osapi_compute_workers = 20
metadata_workers = 20
{% endif %}

[database]
# The SQLAlchemy connection string used to connect to the database
connection = mysql://nova:{{ NOVA_DBPASS }}@{{ db_host }}/nova
idle_timeout = 30
pool_timeout = 10
use_db_reconnect = True

[api_database]
connection = mysql://nova:{{ NOVA_DBPASS }}@{{ db_host }}/nova_api
idle_timeout = 30
pool_timeout = 10
use_db_reconnect = True

[cinder]
os_region_name = RegionOne

[oslo_concurrency]
lock_path=/var/lib/nova/tmp

[libvirt]
use_virtio_for_bridges=True

[wsgi]
api_paste_config=/etc/nova/api-paste.ini

[keystone_authtoken]
auth_uri = http://{{ internal_vip.ip }}:5000
auth_url = http://{{ internal_vip.ip }}:35357
memcached_servers = {{ memcached_servers }}
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = {{ NOVA_PASS }}

identity_uri = http://{{ internal_vip.ip }}:35357
admin_tenant_name = service
admin_user = nova
admin_password = {{ NOVA_PASS }}

[vnc]
enabled = True
vncserver_listen = {{ internal_ip }}
vncserver_proxyclient_address = {{ internal_ip }}
novncproxy_base_url = http://{{ public_vip.ip }}:6080/vnc_auto.html
novncproxy_host = {{ internal_ip }}
novncproxy_port = 6080

[glance]
api_servers = http://{{ internal_vip.ip }}:9292
host = {{ internal_vip.ip }}

[neutron]
url = http://{{ internal_vip.ip }}:9696
auth_url = http://{{ internal_vip.ip }}:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = {{ NEUTRON_PASS }}
service_metadata_proxy = True
metadata_proxy_shared_secret = {{ METADATA_SECRET }}

auth_strategy = keystone
admin_tenant_name = service
admin_username = neutron
admin_password = {{ NEUTRON_PASS }}
admin_auth_url = http://{{ internal_vip.ip }}:35357/v3

[oslo_messaging_rabbit]
rabbit_host = {{ rabbit_host }}
rabbit_password = {{ RABBIT_PASS }}
rabbit_port = 5672
rabbit_userid = {{ RABBIT_USER }}