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.

197 lines
6.2KB

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