blob: 30667de84a50bc3ea33d871f90f23989146d82e0 [file] [log] [blame]
{%- from "nova/map.jinja" import compute with context %}
[DEFAULT]
logdir=/var/log/nova
state_path=/var/lib/nova
connection_type=libvirt
rootwrap_config=/etc/nova/rootwrap.conf
verbose=True
api_paste_config=/etc/nova/api-paste.ini
volumes_path=/var/lib/nova/volumes
compute_manager=nova.compute.manager.ComputeManager
network_device_mtu=65000
use_neutron = True
config_drive_format={{ compute.get('config_drive_format', compute.get('config_drive', {}).get('format', 'vfat')) }}
config_drive_cdrom={{ compute.get('config_drive', {}).get('cdrom', False)|lower }}
force_config_drive={{ compute.get('config_drive', {}).get('forced', True)|lower }}
config_drive_inject_password={{ compute.get('config_drive', {}).get('inject_password', False)|lower }}
force_raw_images=True
notify_api_faults=False
security_group_api=neutron
vif_plugging_is_fatal=True
vif_plugging_timeout=300
dhcp_domain={{ compute.get('dhcp_domain', 'novalocal') }}
{%- if compute.get('sriov', false) %}
{%- for nic_name, sriov in compute.sriov.iteritems() %}
pci_passthrough_whitelist = {"devname":"{{ sriov.devname }}","physical_network":"{{ sriov.physical_network }}"}
{%- endfor %}
{%- endif %}
{%- if compute.image.use_cow is defined %}
use_cow_images = {{ compute.image.use_cow }}
{%- endif %}
remove_unused_original_minimum_age_seconds=86400
image_service=nova.image.glance.GlanceImageService
reserved_host_memory_mb = {{ compute.get('reserved_host_memory_mb', '512') }}
{%- if compute.vcpu_pin_set is defined %}
vcpu_pin_set={{ compute.vcpu_pin_set }}
{%- endif %}
allow_resize_to_same_host=True
auth_strategy = keystone
neutron_url_timeout = 300
compute_driver = {{ compute.get('compute_driver', 'libvirt.LibvirtDriver') }}
{%- if compute.ram_allocation_ratio is defined %}
ram_allocation_ratio = {{ compute.ram_allocation_ratio }}
{%- endif %}
heal_instance_info_cache_interval = {{ compute.heal_instance_info_cache_interval }}
image_cache_manager_interval = 0
firewall_driver = nova.virt.firewall.NoopFirewallDriver
rpc_cast_timeout = 30
rpc_response_timeout = 3600
executor_thread_pool_size = 70
report_interval = {{ compute.get('report_interval', '60') }}
block_device_allocate_retries=600
block_device_allocate_retries_interval=10
resume_guests_state_on_host_boot = {{ compute.get('resume_guests_state_on_host_boot', True) }}
service_down_time = 90
{%- if compute.message_queue.members is defined %}
transport_url = rabbit://{% for member in compute.message_queue.members -%}
{{ compute.message_queue.user }}:{{ compute.message_queue.password }}@{{ member.host }}:{{ member.get('port', 5672) }}
{%- if not loop.last -%},{%- endif -%}
{%- endfor -%}
/{{ compute.message_queue.virtual_host }}
{%- else %}
transport_url = rabbit://{{ compute.message_queue.user }}:{{ compute.message_queue.password }}@{{ compute.message_queue.host }}:{{ controller.message_queue.port }}{{ compute.message_queue.virtual_host }}
{%- endif %}
rpc_backend=rabbit
{% if pillar.ceilometer is defined %}
instance_usage_audit = True
instance_usage_audit_period = hour
{%- endif %}
instances_path = {{ compute.instances_path }}
{%- if compute.get('notification', {}).notify_on is defined %}
{%- for key, value in compute.notification.notify_on.iteritems() %}
notify_on_{{ key }} = {{ value }}
{%- endfor %}
{%- elif pillar.ceilometer is defined %}
notify_on_state_change = vm_and_task_state
{%- endif %}
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_notifications]
{%- if compute.notification is mapping %}
driver = {{ compute.notification.get('driver', 'messagingv2') }}
{%- if compute.notification.topics is defined %}
topics = {{ compute.notification.topics }}
{%- endif %}
{%- elif compute.notification %}
driver = messagingv2
{%- endif %}
[vnc]
enabled = true
novncproxy_base_url={{ compute.vncproxy_url }}/vnc_auto.html
novncproxy_port={{ compute.bind.vnc_port }}
vncserver_listen=0.0.0.0
vncserver_proxyclient_address={{ compute.bind.vnc_address }}
keymap = {{ compute.get('vnc_keymap', 'en-us') }}
[spice]
enabled = false
html5proxy_base_url = {{ compute.vncproxy_url }}/spice_auto.html
[cache]
{%- if compute.cache is defined %}
backend = oslo_cache.memcache_pool
enabled = true
memcache_servers={%- for member in compute.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %}
{%- endif %}
[libvirt]
cpu_mode = {{ compute.get('cpu_mode', 'host-passthrough') }}
virt_type = kvm
inject_partition=-2
inject_password=False
disk_cachemodes="network=writeback,block=none"
libvirt_inject_password=True
block_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_NON_SHARED_INC
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST
libvirt_inject_key=True
inject_key=False
vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver
{%- if compute.get('ceph', {}).ephemeral is defined %}
images_type=rbd
images_rbd_pool={{ compute.ceph.rbd_pool }}
images_rbd_ceph_conf=/etc/ceph/ceph.conf
rbd_user={{ compute.ceph.rbd_user }}
rbd_secret_uuid={{ compute.ceph.secret_uuid }}
libvirt_inject_password=false
libvirt_inject_key=false
{%- endif %}
{%- if compute.libvirt.hw_disk_discard is defined %}
hw_disk_discard={{ compute.libvirt.hw_disk_discard }}
{%- endif %}
{%- if compute.get('libvirt', {}).uri is defined %}
connection_uri={{ compute.libvirt.uri }}
{%- endif %}
[keystone_authtoken]
signing_dirname=/tmp/keystone-signing-nova
revocation_cache_time = 10
auth_type = password
user_domain_id = {{ compute.identity.get('domain', 'default') }}
project_domain_id = {{ compute.identity.get('domain', 'default') }}
project_name = {{ compute.identity.tenant }}
username = {{ compute.identity.user }}
password = {{ compute.identity.password }}
auth_uri=http://{{ compute.identity.host }}:5000
auth_url=http://{{ compute.identity.host }}:35357
{%- if compute.cache is defined %}
memcached_servers={%- for member in compute.cache.members %}{{ member.host }}:11211{% if not loop.last %},{% endif %}{%- endfor %}
{%- endif %}
[oslo_messaging_rabbit]
[glance]
{%- if compute.image is defined %}
api_servers=http://{{ compute.image.host }}:9292
{%- endif %}
[neutron]
username={{ compute.network.user }}
password={{ compute.network.password }}
project_name={{ compute.identity.tenant }}
auth_url=http://{{ compute.identity.host }}:{{ compute.identity.port }}/v3
url=http://{{ compute.network.host }}:{{ compute.network.port }}
region_name= {{ compute.network.region }}
extension_sync_interval={{ compute.network.get('extension_sync_interval', '600') }}
auth_type = v3password
project_domain_name = Default
user_domain_name = Default
timeout=30
[cinder]
os_region_name = {{ compute.identity.region }}
catalog_info=volumev2:cinderv2:internalURL
{%- if compute.ironic is defined %}
[ironic]
api_endpoint=http://{{ compute.ironic.host }}:{{ compute.ironic.get('port', 6385) }}
auth_type={{ compute.ironic.auth_type }}
auth_url=http://{{ compute.identity.host }}:{{ compute.identity.port }}/v3
project_name={{ compute.identity.get('tenant', 'service') }}
project_domain_name={{ compute.ironic.get('project_domain_name', 'Default') }}
username={{ compute.ironic.user }}
user_domain_name={{ compute.ironic.get('user_domain_name', 'Default') }}
password={{ compute.ironic.password }}
{%- endif %}
{%- if compute.workaround is defined %}
[workarounds]
disable_libvirt_livesnapshot={{ compute.workaround.get('disable_libvirt_livesnapshot', True)|lower }}
{%- endif %}