| {%- 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 %} |