e7dfd63bfc
This is a required patch.
Kilo introduced a nova-api database but didn't use it. [1]
Mitaka now uses it and has broken booting instances. [2]
[1] https://wiki.openstack.org/wiki/ReleaseNotes/Kilo#OpenStack_Compute_.28Nova.29
[2] df0fca62cf/releasenotes/notes/request-spec-api-db-b9cc6e0624d563c5.yaml
Change-Id: If0a7f4ba4937fab8d60f5236ca00db06faa768c7
Closes-Bug: #1540579
159 lines
5.9 KiB
Django/Jinja
159 lines
5.9 KiB
Django/Jinja
# nova.conf
|
|
[DEFAULT]
|
|
debug = {{ nova_logging_debug }}
|
|
|
|
syslog_log_facility=LOG_LOCAL0
|
|
use_syslog=yes
|
|
|
|
api_paste_config = /etc/nova/api-paste.ini
|
|
state_path = /var/lib/nova
|
|
|
|
osapi_compute_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
osapi_compute_listen_port = {{ nova_api_port }}
|
|
|
|
metadata_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
metadata_listen_port = {{ nova_metadata_port }}
|
|
|
|
ec2_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
ec2_listen_port = {{ nova_api_ec2_port }}
|
|
|
|
|
|
security_group_api = neutron
|
|
network_api_class = nova.network.neutronv2.api.API
|
|
firewall_driver = nova.virt.firewall.NoopFirewallDriver
|
|
|
|
{% if neutron_plugin_agent == "openvswitch" %}
|
|
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
|
|
{% elif neutron_plugin_agent == "linuxbridge" %}
|
|
linuxnet_interface_driver = nova.network.linux_net.BridgeInterfaceDriver
|
|
{% endif %}
|
|
|
|
allow_resize_to_same_host = true
|
|
|
|
{% if enable_ironic | bool %}
|
|
scheduler_host_manager = nova.scheduler.ironic_host_manager.IronicHostManager
|
|
{% endif %}
|
|
|
|
{% if service_name == "nova-compute-ironic" %}
|
|
compute_driver = nova.virt.ironic.IronicDriver
|
|
vnc_enabled = False
|
|
ram_allocation_ratio = 1.0
|
|
reserved_host_memory_mb = 0
|
|
{% elif enable_nova_fake | bool %}
|
|
scheduler_default_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter
|
|
host = {{ ansible_hostname }}_{{ item }}
|
|
compute_driver = fake.FakeDriver
|
|
{% else %}
|
|
compute_driver = libvirt.LibvirtDriver
|
|
{% endif %}
|
|
|
|
memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
|
|
|
|
|
# Though my_ip is not used directly, lots of other variables use $my_ip
|
|
my_ip = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
|
|
{% if nova_console == 'novnc' %}
|
|
novncproxy_host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
novncproxy_port = {{ nova_novncproxy_port }}
|
|
[vnc]
|
|
vncserver_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
vncserver_proxyclient_address = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
{% if inventory_hostname in groups['compute'] %}
|
|
novncproxy_base_url = http://{{ kolla_internal_address }}:{{ nova_novncproxy_port }}/vnc_auto.html
|
|
{% endif %}
|
|
{% elif nova_console == 'spice' %}
|
|
[vnc]
|
|
# We have to turn off vnc to use spice
|
|
enabled = false
|
|
[spice]
|
|
server_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
server_proxyclient_address = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
{% if inventory_hostname in groups['compute'] %}
|
|
html5proxy_base_url = http://{{ kolla_internal_address }}:{{ nova_spicehtml5proxy_port }}/spice_auto.html
|
|
{% endif %}
|
|
html5proxy_host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
|
html5proxy_port = {{ nova_spicehtml5proxy_port }}
|
|
{% endif %}
|
|
|
|
{% if service_name == "nova-compute-ironic" %}
|
|
[ironic]
|
|
#(TODO) remember to update this once discoverd is replaced by inspector
|
|
admin_username = {{ ironic_keystone_user }}
|
|
admin_password = {{ ironic_keystone_password }}
|
|
admin_url = {{ openstack_auth_v2.auth_url }}
|
|
admin_tenant_name = service
|
|
api_endpoint = http://{{ kolla_internal_address }}:{{ ironic_api_port }}/v1
|
|
{% endif %}
|
|
|
|
[oslo_messaging_rabbit]
|
|
rabbit_userid = {{ rabbitmq_user }}
|
|
rabbit_password = {{ rabbitmq_password }}
|
|
rabbit_ha_queues = true
|
|
rabbit_hosts = {% for host in groups['rabbitmq'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
|
|
|
[oslo_concurrency]
|
|
lock_path = /var/lib/nova/tmp
|
|
|
|
[glance]
|
|
{% if enable_ceph | bool %}
|
|
host = {{ kolla_internal_address }}
|
|
port = {{ glance_api_port }}
|
|
{% else %}
|
|
api_servers = {% for host in groups['glance-api'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ glance_api_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
|
|
|
num_retries = {{ groups['glance-api'] | length }}
|
|
{% endif %}
|
|
|
|
[cinder]
|
|
catalog_info = volume:cinder:internalURL
|
|
|
|
[neutron]
|
|
url = http://{{ kolla_internal_address }}:{{ neutron_server_port }}
|
|
auth_strategy = keystone
|
|
metadata_proxy_shared_secret = {{ metadata_secret }}
|
|
service_metadata_proxy = true
|
|
|
|
auth_url = http://{{ kolla_internal_address }}:{{ keystone_admin_port }}
|
|
auth_plugin = password
|
|
project_domain_name = default
|
|
user_domain_id = default
|
|
project_name = service
|
|
username = neutron
|
|
password = {{ neutron_keystone_password }}
|
|
|
|
[database]
|
|
connection = mysql+pymysql://{{ nova_database_user }}:{{ nova_database_password }}@{{ nova_database_address }}/{{ nova_database_name }}
|
|
|
|
[api_database]
|
|
connection = mysql+pymysql://{{ nova_api_database_user }}:{{ nova_api_database_password }}@{{ nova_api_database_address }}/{{ nova_api_database_name }}
|
|
|
|
[keystone_authtoken]
|
|
auth_uri = http://{{ kolla_internal_address }}:{{ keystone_public_port }}
|
|
auth_url = http://{{ kolla_internal_address }}:{{ keystone_admin_port }}
|
|
auth_type = password
|
|
project_domain_id = default
|
|
user_domain_id = default
|
|
project_name = service
|
|
username = nova
|
|
password = {{ nova_keystone_password }}
|
|
|
|
[libvirt]
|
|
connection_uri = "qemu+tcp://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}/system"
|
|
{% if enable_ceph | bool %}
|
|
images_type = rbd
|
|
images_rbd_pool = {{ ceph_nova_pool_name }}
|
|
images_rbd_ceph_conf = /etc/ceph/ceph.conf
|
|
rbd_user = nova
|
|
rbd_secret_uuid = {{ rbd_secret_uuid }}
|
|
disk_cachemodes="network=writeback"
|
|
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
|
|
hw_disk_discard = unmap
|
|
{% endif %}
|
|
|
|
[upgrade_levels]
|
|
compute = auto
|
|
|
|
[oslo_messaging_notifications]
|
|
driver = noop
|