Ansible deployment of the Kolla containers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

203 lines
6.4 KiB

  1. # nova.conf
  2. [DEFAULT]
  3. debug = {{ nova_logging_debug }}
  4. log_dir = /var/log/kolla/nova
  5. {% if service_name == "nova-super-conductor" %}
  6. log_file = /var/log/kolla/nova/nova-super-conductor.log
  7. {% endif %}
  8. state_path = /var/lib/nova
  9. allow_resize_to_same_host = true
  10. # Though my_ip is not used directly, lots of other variables use $my_ip
  11. my_ip = {{ api_interface_address }}
  12. {% if enable_ceilometer | bool or enable_searchlight | bool or enable_designate | bool %}
  13. instance_usage_audit = True
  14. instance_usage_audit_period = hour
  15. {% endif %}
  16. transport_url = {{ rpc_transport_url }}
  17. [filter_scheduler]
  18. {% if enable_blazar | bool %}
  19. available_filters = nova.scheduler.filters.all_filters
  20. available_filters = blazarnova.scheduler.filters.blazar_filter.BlazarFilter
  21. enabled_filters = AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,BlazarFilter
  22. {% endif %}
  23. {% if enable_nova_fake | bool %}
  24. enabled_filters = AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter
  25. {% endif %}
  26. {% if enable_cells | bool %}
  27. # When in superconductor mode, nova-compute can't send instance
  28. # info updates to the scheduler, so just disable it.
  29. track_instance_changes = False
  30. {% endif %}
  31. [api]
  32. use_forwarded_for = true
  33. # Super conductor
  34. [conductor]
  35. workers = {{ openstack_service_workers }}
  36. [oslo_middleware]
  37. enable_proxy_headers_parsing = True
  38. [oslo_concurrency]
  39. lock_path = /var/lib/nova/tmp
  40. [glance]
  41. cafile = {{ openstack_cacert }}
  42. api_servers = {{ glance_internal_endpoint }}
  43. num_retries = {{ groups['glance-api'] | length }}
  44. debug = {{ nova_logging_debug }}
  45. {% if enable_cinder | bool %}
  46. [cinder]
  47. catalog_info = volumev3:cinderv3:internalURL
  48. os_region_name = {{ openstack_region_name }}
  49. auth_url = {{ keystone_admin_url }}
  50. auth_type = password
  51. project_domain_name = {{ default_project_domain_name }}
  52. user_domain_id = {{ default_user_domain_id }}
  53. project_name = service
  54. username = {{ cinder_keystone_user }}
  55. password = {{ cinder_keystone_password }}
  56. cafile = {{ openstack_cacert }}
  57. {% endif %}
  58. [neutron]
  59. metadata_proxy_shared_secret = {{ metadata_secret }}
  60. service_metadata_proxy = true
  61. {% if neutron_plugin_agent == 'vmware_nsxv3' %}
  62. ovs_bridge = {{ ovs_bridge }}
  63. {% endif %}
  64. auth_url = {{ keystone_admin_url }}
  65. auth_type = password
  66. project_domain_name = {{ default_project_domain_name }}
  67. user_domain_id = {{ default_user_domain_id }}
  68. project_name = service
  69. username = {{ neutron_keystone_user }}
  70. password = {{ neutron_keystone_password }}
  71. region_name = {{ openstack_region_name }}
  72. valid_interfaces = internal
  73. cafile = {{ openstack_cacert }}
  74. [database]
  75. connection = mysql+pymysql://{{ nova_cell0_database_user }}:{{ nova_cell0_database_password }}@{{ nova_cell0_database_address }}/{{ nova_cell0_database_name }}
  76. connection_recycle_time = {{ database_connection_recycle_time }}
  77. max_overflow = 1000
  78. max_pool_size = {{ database_max_pool_size }}
  79. max_retries = -1
  80. [api_database]
  81. connection = mysql+pymysql://{{ nova_api_database_user }}:{{ nova_api_database_password }}@{{ nova_api_database_address }}/{{ nova_api_database_name }}
  82. connection_recycle_time = {{ database_connection_recycle_time }}
  83. max_pool_size = {{ database_max_pool_size }}
  84. max_retries = -1
  85. [cache]
  86. backend = oslo_cache.memcache_pool
  87. enabled = True
  88. memcache_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
  89. [keystone_authtoken]
  90. www_authenticate_uri = {{ keystone_internal_url }}
  91. auth_url = {{ keystone_admin_url }}
  92. auth_type = password
  93. project_domain_id = {{ default_project_domain_id }}
  94. user_domain_id = {{ default_user_domain_id }}
  95. project_name = service
  96. username = {{ nova_keystone_user }}
  97. password = {{ nova_keystone_password }}
  98. cafile = {{ openstack_cacert }}
  99. memcache_security_strategy = ENCRYPT
  100. memcache_secret_key = {{ memcache_secret_key }}
  101. memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
  102. [upgrade_levels]
  103. compute = auto
  104. [oslo_messaging_notifications]
  105. transport_url = {{ notify_transport_url }}
  106. {% if nova_enabled_notification_topics %}
  107. driver = messagingv2
  108. topics = {{ nova_enabled_notification_topics | map(attribute='name') | join(',') }}
  109. {% else %}
  110. driver = noop
  111. {% endif %}
  112. {% if om_enable_rabbitmq_tls | bool %}
  113. [oslo_messaging_rabbit]
  114. ssl = true
  115. ssl_ca_file = {{ om_rabbitmq_cacert }}
  116. {% endif %}
  117. {% if service_name in nova_services_require_policy_json and nova_policy_file is defined %}
  118. [oslo_policy]
  119. policy_file = {{ nova_policy_file }}
  120. {% endif %}
  121. [privsep_entrypoint]
  122. helper_command=sudo nova-rootwrap /etc/nova/rootwrap.conf privsep-helper --config-file /etc/nova/nova.conf
  123. [guestfs]
  124. debug = {{ nova_logging_debug }}
  125. [wsgi]
  126. api_paste_config = /etc/nova/api-paste.ini
  127. {% if kolla_enable_tls_external | bool or kolla_enable_tls_internal | bool %}
  128. secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO
  129. {% endif %}
  130. [scheduler]
  131. max_attempts = 10
  132. # NOTE(yoctozepto): kolla-ansible handles cell mapping by itself on each deploy
  133. # periodic run must be disabled to avoid random failures (where both try to map)
  134. # -1 is default and means periodic discovery is disabled
  135. discover_hosts_in_cells_interval = -1
  136. workers = {{ openstack_service_workers }}
  137. [placement]
  138. auth_type = password
  139. auth_url = {{ keystone_admin_url }}
  140. username = {{ placement_keystone_user }}
  141. password = {{ placement_keystone_password }}
  142. user_domain_name = {{ default_user_domain_name }}
  143. project_name = service
  144. project_domain_name = {{ default_project_domain_name }}
  145. region_name = {{ openstack_region_name }}
  146. cafile = {{ openstack_cacert }}
  147. valid_interfaces = internal
  148. [notifications]
  149. {% if enable_ceilometer | bool or enable_searchlight | bool or enable_designate | bool or enable_neutron_infoblox_ipam_agent | bool %}
  150. notify_on_state_change = vm_and_task_state
  151. {% endif %}
  152. {% if not enable_searchlight | bool %}
  153. notification_format = unversioned
  154. {% else %}
  155. notification_format = both
  156. {% endif %}
  157. {% if enable_osprofiler | bool %}
  158. [profiler]
  159. enabled = true
  160. trace_sqlalchemy = true
  161. hmac_keys = {{ osprofiler_secret }}
  162. connection_string = {{ osprofiler_backend_connection_string }}
  163. {% endif %}
  164. {% if enable_barbican | bool %}
  165. [barbican]
  166. auth_endpoint = {{ keystone_internal_url }}
  167. barbican_endpoint_type = internal
  168. verify_ssl_path = {{ openstack_cacert }}
  169. {% endif %}