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.

all.yml 38KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110
  1. ---
  2. # The options in this file can be overridden in 'globals.yml'
  3. # The "temp" files that are created before merge need to stay persistent due
  4. # to the fact that ansible will register a "change" if it has to create them
  5. # again. Persistent files allow for idempotency
  6. container_config_directory: "/var/lib/kolla/config_files"
  7. # The directory on the deploy host containing globals.yml.
  8. node_config: "{{ CONFIG_DIR | default('/etc/kolla') }}"
  9. # The directory to merge custom config files the kolla's config files
  10. node_custom_config: "/etc/kolla/config"
  11. # The directory to store the config files on the destination node
  12. node_config_directory: "/etc/kolla"
  13. # The group which own node_config_directory, you can use a non-root
  14. # user to deploy kolla
  15. config_owner_user: "root"
  16. config_owner_group: "root"
  17. ###################
  18. # Kolla options
  19. ###################
  20. # Valid options are [ COPY_ONCE, COPY_ALWAYS ]
  21. config_strategy: "COPY_ALWAYS"
  22. # Valid options are ['centos', 'debian', 'rhel', 'ubuntu']
  23. kolla_base_distro: "centos"
  24. # Valid options are [ binary, source ]
  25. kolla_install_type: "binary"
  26. kolla_internal_vip_address: "{{ kolla_internal_address }}"
  27. kolla_internal_fqdn: "{{ kolla_internal_vip_address }}"
  28. kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
  29. kolla_same_external_internal_vip: "{{ kolla_external_vip_address == kolla_internal_vip_address }}"
  30. kolla_external_fqdn: "{{ kolla_internal_fqdn if kolla_same_external_internal_vip | bool else kolla_external_vip_address }}"
  31. kolla_enable_sanity_checks: "no"
  32. kolla_enable_sanity_barbican: "{{ kolla_enable_sanity_checks }}"
  33. kolla_enable_sanity_keystone: "{{ kolla_enable_sanity_checks }}"
  34. kolla_enable_sanity_glance: "{{ kolla_enable_sanity_checks }}"
  35. kolla_enable_sanity_cinder: "{{ kolla_enable_sanity_checks }}"
  36. kolla_enable_sanity_swift: "{{ kolla_enable_sanity_checks }}"
  37. kolla_dev_repos_directory: "/opt/stack/"
  38. kolla_dev_repos_git: "https://opendev.org/openstack"
  39. kolla_dev_repos_pull: "no"
  40. kolla_dev_mode: "no"
  41. kolla_source_version: "master"
  42. # Proxy settings for containers such as magnum that need internet access
  43. container_http_proxy: ""
  44. container_https_proxy: ""
  45. container_no_proxy: "localhost,127.0.0.1"
  46. container_proxy:
  47. http_proxy: "{{ container_http_proxy }}"
  48. https_proxy: "{{ container_https_proxy }}"
  49. no_proxy: "{{ container_no_proxy }},{{ api_interface_address }},{{ kolla_internal_vip_address }}"
  50. # By default, Kolla API services bind to the network address assigned
  51. # to the api_interface. Allow the bind address to be an override.
  52. api_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
  53. # This is used to get the ip corresponding to the storage_interface.
  54. storage_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
  55. ################
  56. # Chrony options
  57. ################
  58. # A list contains ntp servers
  59. external_ntp_servers:
  60. - 0.pool.ntp.org
  61. - 1.pool.ntp.org
  62. - 2.pool.ntp.org
  63. - 3.pool.ntp.org
  64. ####################
  65. # Database options
  66. ####################
  67. database_address: "{{ kolla_internal_fqdn }}"
  68. database_user: "root"
  69. database_port: "3306"
  70. ####################
  71. # Docker options
  72. ####################
  73. docker_registry_email:
  74. docker_registry:
  75. docker_namespace: "kolla"
  76. docker_registry_username:
  77. docker_registry_insecure: "{{ 'yes' if docker_registry else 'no' }}"
  78. docker_runtime_directory: ""
  79. # Retention settings for Docker logs
  80. docker_log_max_file: "5"
  81. docker_log_max_size: "50m"
  82. # Valid options are [ no, on-failure, always, unless-stopped ]
  83. docker_restart_policy: "unless-stopped"
  84. # '0' means unlimited retries (applies only to 'on-failure' policy)
  85. docker_restart_policy_retry: "10"
  86. # Extra docker options for Zun
  87. docker_configure_for_zun: "no"
  88. docker_zun_options: -H tcp://{{ api_interface_address }}:2375
  89. docker_zun_config:
  90. cluster-store: etcd://{% for host in groups.get('etcd', []) %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ hostvars[host]['etcd_client_port'] }}{% if not loop.last %},{% endif %}{% endfor %}
  91. # Timeout after Docker sends SIGTERM before sending SIGKILL.
  92. docker_graceful_timeout: 60
  93. # Common options used throughout Docker
  94. docker_common_options:
  95. auth_email: "{{ docker_registry_email }}"
  96. auth_password: "{{ docker_registry_password }}"
  97. auth_registry: "{{ docker_registry }}"
  98. auth_username: "{{ docker_registry_username }}"
  99. environment:
  100. KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
  101. restart_policy: "{{ docker_restart_policy }}"
  102. restart_retries: "{{ docker_restart_policy_retry }}"
  103. graceful_timeout: "{{ docker_graceful_timeout }}"
  104. ####################
  105. # Dimensions options
  106. ####################
  107. # Dimension options for Docker Containers
  108. default_container_dimensions: {}
  109. #######################
  110. # Extra volumes options
  111. #######################
  112. # Extra volumes for Docker Containers
  113. default_extra_volumes: []
  114. ####################
  115. # keepalived options
  116. ####################
  117. # Arbitrary unique number from 0..255
  118. keepalived_virtual_router_id: "51"
  119. #######################
  120. # Elasticsearch Options
  121. #######################
  122. es_heap_size: "1G"
  123. elasticsearch_datadir_volume: "elasticsearch"
  124. ###################
  125. # Messaging options
  126. ###################
  127. # oslo.messaging rpc transport valid options are [ rabbit, amqp ]
  128. om_rpc_transport: "rabbit"
  129. om_rpc_user: "{{ rabbitmq_user }}"
  130. om_rpc_password: "{{ rabbitmq_password }}"
  131. om_rpc_port: "{{ rabbitmq_port }}"
  132. om_rpc_group: "rabbitmq"
  133. om_rpc_vhost: "/"
  134. rpc_transport_url: "{{ om_rpc_transport }}://{% for host in groups[om_rpc_group] %}{{ om_rpc_user }}:{{ om_rpc_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ om_rpc_port }}{% if not loop.last %},{% endif %}{% endfor %}/{{ om_rpc_vhost }}"
  135. # oslo.messaging notify transport valid options are [ rabbit ]
  136. om_notify_transport: "rabbit"
  137. om_notify_user: "{{ rabbitmq_user }}"
  138. om_notify_password: "{{ rabbitmq_password }}"
  139. om_notify_port: "{{ rabbitmq_port }}"
  140. om_notify_group: "rabbitmq"
  141. om_notify_vhost: "/"
  142. notify_transport_url: "{{ om_notify_transport }}://{% for host in groups[om_notify_group] %}{{ om_notify_user }}:{{ om_notify_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ om_notify_port }}{% if not loop.last %},{% endif %}{% endfor %}/{{ om_notify_vhost }}"
  143. ####################
  144. # Networking options
  145. ####################
  146. network_interface: "eth0"
  147. neutron_external_interface: "eth1"
  148. kolla_external_vip_interface: "{{ network_interface }}"
  149. api_interface: "{{ network_interface }}"
  150. storage_interface: "{{ network_interface }}"
  151. cluster_interface: "{{ network_interface }}"
  152. swift_storage_interface: "{{ storage_interface }}"
  153. swift_replication_interface: "{{ swift_storage_interface }}"
  154. migration_interface: "{{ network_interface }}"
  155. tunnel_interface: "{{ network_interface }}"
  156. octavia_network_interface: "{{ api_interface }}"
  157. bifrost_network_interface: "{{ network_interface }}"
  158. dns_interface: "{{ network_interface }}"
  159. migration_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + migration_interface]['ipv4']['address'] }}"
  160. tunnel_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + tunnel_interface]['ipv4']['address'] }}"
  161. octavia_network_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + octavia_network_interface]['ipv4']['address'] }}"
  162. # Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs, opendaylight ]
  163. neutron_plugin_agent: "openvswitch"
  164. # Valid options are [ internal, infoblox ]
  165. neutron_ipam_driver: "internal"
  166. # The default ports used by each service.
  167. # The list should be in alphabetical order
  168. aodh_internal_fqdn: "{{ kolla_internal_fqdn }}"
  169. aodh_external_fqdn: "{{ kolla_external_fqdn }}"
  170. aodh_api_port: "8042"
  171. aodh_api_listen_port: "{{ aodh_api_port }}"
  172. barbican_internal_fqdn: "{{ kolla_internal_fqdn }}"
  173. barbican_external_fqdn: "{{ kolla_external_fqdn }}"
  174. barbican_api_port: "9311"
  175. barbican_api_listen_port: "{{ barbican_api_port }}"
  176. blazar_api_port: "1234"
  177. cinder_internal_fqdn: "{{ kolla_internal_fqdn }}"
  178. cinder_external_fqdn: "{{ kolla_external_fqdn }}"
  179. cinder_api_port: "8776"
  180. cinder_api_listen_port: "{{ cinder_api_port }}"
  181. congress_api_port: "1789"
  182. cloudkitty_api_port: "8889"
  183. collectd_udp_port: "25826"
  184. cyborg_api_port: "6666"
  185. designate_internal_fqdn: "{{ kolla_internal_fqdn }}"
  186. designate_external_fqdn: "{{ kolla_external_fqdn }}"
  187. designate_api_port: "9001"
  188. designate_api_listen_port: "{{ designate_api_port }}"
  189. designate_bind_port: "53"
  190. designate_mdns_port: "{{ '53' if designate_backend == 'infoblox' else '5354' }}"
  191. designate_rndc_port: "953"
  192. elasticsearch_port: "9200"
  193. etcd_client_port: "2379"
  194. etcd_peer_port: "2380"
  195. fluentd_syslog_port: "5140"
  196. freezer_api_port: "9090"
  197. glance_internal_fqdn: "{{ kolla_internal_fqdn }}"
  198. glance_external_fqdn: "{{ kolla_external_fqdn }}"
  199. glance_api_port: "9292"
  200. glance_api_listen_port: "{{ glance_api_port }}"
  201. gnocchi_internal_fqdn: "{{ kolla_internal_fqdn }}"
  202. gnocchi_external_fqdn: "{{ kolla_external_fqdn }}"
  203. gnocchi_api_port: "8041"
  204. gnocchi_api_listen_port: "{{ gnocchi_api_port }}"
  205. grafana_server_port: "3000"
  206. haproxy_stats_port: "1984"
  207. haproxy_monitor_port: "61313"
  208. heat_internal_fqdn: "{{ kolla_internal_fqdn }}"
  209. heat_external_fqdn: "{{ kolla_external_fqdn }}"
  210. heat_api_port: "8004"
  211. heat_api_listen_port: "{{ heat_api_port }}"
  212. heat_cfn_internal_fqdn: "{{ kolla_internal_fqdn }}"
  213. heat_cfn_external_fqdn: "{{ kolla_external_fqdn }}"
  214. heat_api_cfn_port: "8000"
  215. heat_api_cfn_listen_port: "{{ heat_api_cfn_port }}"
  216. horizon_port: "80"
  217. horizon_listen_port: "{{ horizon_port }}"
  218. influxdb_http_port: "8086"
  219. ironic_internal_fqdn: "{{ kolla_internal_fqdn }}"
  220. ironic_external_fqdn: "{{ kolla_external_fqdn }}"
  221. ironic_api_port: "6385"
  222. ironic_api_listen_port: "{{ ironic_api_port }}"
  223. ironic_inspector_internal_fqdn: "{{ kolla_internal_fqdn }}"
  224. ironic_inspector_external_fqdn: "{{ kolla_external_fqdn }}"
  225. ironic_inspector_port: "5050"
  226. ironic_inspector_listen_port: "{{ ironic_inspector_port }}"
  227. ironic_ipxe_port: "8089"
  228. iscsi_port: "3260"
  229. kafka_port: "9092"
  230. karbor_api_port: "8799"
  231. keystone_public_port: "5000"
  232. keystone_public_listen_port: "{{ keystone_public_port }}"
  233. keystone_admin_port: "35357"
  234. keystone_admin_listen_port: "{{ keystone_admin_port }}"
  235. keystone_ssh_port: "8023"
  236. kibana_server_port: "5601"
  237. kuryr_port: "23750"
  238. magnum_api_port: "9511"
  239. manila_api_port: "8786"
  240. mariadb_port: "{{ database_port }}"
  241. mariadb_wsrep_port: "4567"
  242. mariadb_ist_port: "4568"
  243. mariadb_sst_port: "4444"
  244. masakari_api_port: "15868"
  245. memcached_port: "11211"
  246. mistral_api_port: "8989"
  247. monasca_api_port: "8070"
  248. monasca_log_api_port: "5607"
  249. monasca_agent_forwarder_port: "17123"
  250. monasca_agent_statsd_port: "8125"
  251. monasca_grafana_server_port: "3001"
  252. mongodb_port: "27017"
  253. mongodb_web_port: "28017"
  254. murano_api_port: "8082"
  255. neutron_internal_fqdn: "{{ kolla_internal_fqdn }}"
  256. neutron_external_fqdn: "{{ kolla_external_fqdn }}"
  257. neutron_server_port: "9696"
  258. neutron_server_listen_port: "{{ neutron_server_port }}"
  259. nova_internal_fqdn: "{{ kolla_internal_fqdn }}"
  260. nova_external_fqdn: "{{ kolla_external_fqdn }}"
  261. nova_api_port: "8774"
  262. nova_api_listen_port: "{{ nova_api_port }}"
  263. nova_metadata_port: "8775"
  264. nova_metadata_listen_port: "{{ nova_metadata_port }}"
  265. nova_novncproxy_fqdn: "{{ kolla_external_fqdn }}"
  266. nova_novncproxy_port: "6080"
  267. nova_novncproxy_listen_port: "{{ nova_novncproxy_port }}"
  268. nova_spicehtml5proxy_fqdn: "{{ kolla_external_fqdn }}"
  269. nova_spicehtml5proxy_port: "6082"
  270. nova_spicehtml5proxy_listen_port: "{{ nova_spicehtml5proxy_port }}"
  271. nova_serialproxy_fqdn: "{{ kolla_external_fqdn }}"
  272. nova_serialproxy_port: "6083"
  273. nova_serialproxy_listen_port: "{{ nova_serialproxy_port }}"
  274. nova_serialproxy_protocol: "{{ 'wss' if kolla_enable_tls_external | bool else 'ws' }}"
  275. octavia_internal_fqdn: "{{ kolla_internal_fqdn }}"
  276. octavia_external_fqdn: "{{ kolla_external_fqdn }}"
  277. octavia_api_port: "9876"
  278. octavia_api_listen_port: "{{ octavia_api_port }}"
  279. octavia_health_manager_port: "5555"
  280. outward_rabbitmq_port: "5674"
  281. outward_rabbitmq_management_port: "15674"
  282. outward_rabbitmq_cluster_port: "25674"
  283. outward_rabbitmq_epmd_port: "4371"
  284. ovsdb_port: "6640"
  285. panko_api_port: "8977"
  286. placement_internal_fqdn: "{{ kolla_internal_fqdn }}"
  287. placement_external_fqdn: "{{ kolla_external_fqdn }}"
  288. # Default Placement API port of 8778 already in use
  289. placement_api_port: "8780"
  290. placement_api_listen_port: "{{ placement_api_port }}"
  291. prometheus_port: "9091"
  292. prometheus_node_exporter_port: "9100"
  293. prometheus_mysqld_exporter_port: "9104"
  294. prometheus_haproxy_exporter_port: "9101"
  295. prometheus_memcached_exporter_port: "9150"
  296. prometheus_ceph_mgr_exporter_port: "9283"
  297. # Default cadvisor port of 8080 already in use
  298. prometheus_cadvisor_port: "18080"
  299. # Prometheus alertmanager ports
  300. prometheus_alertmanager_port: "9093"
  301. prometheus_alertmanager_cluster_port: "9094"
  302. # Prometheus openstack-exporter ports
  303. prometheus_openstack_exporter_port: "9198"
  304. prometheus_elasticsearch_exporter_port: "9108"
  305. # Prometheus blackbox-exporter ports
  306. prometheus_blackbox_exporter_port: "9115"
  307. qdrouterd_port: "31459"
  308. qinling_api_port: "7070"
  309. rabbitmq_port: "5672"
  310. rabbitmq_management_port: "15672"
  311. rabbitmq_cluster_port: "25672"
  312. rabbitmq_epmd_port: "4369"
  313. redis_port: "6379"
  314. redis_sentinel_port: "26379"
  315. rdp_port: "8001"
  316. rgw_port: "6780"
  317. sahara_api_port: "8386"
  318. searchlight_api_port: "9393"
  319. senlin_internal_fqdn: "{{ kolla_internal_fqdn }}"
  320. senlin_external_fqdn: "{{ kolla_external_fqdn }}"
  321. senlin_api_port: "8778"
  322. senlin_api_listen_port: "{{ senlin_api_port }}"
  323. skydive_analyzer_port: "8085"
  324. skydive_agents_port: "8090"
  325. solum_application_deployment_port: "9777"
  326. solum_image_builder_port: "9778"
  327. storm_nimbus_thrift_port: 6627
  328. storm_supervisor_thrift_port: 6628
  329. # Storm will run up to (end - start) + 1 workers per worker host. Here
  330. # we reserve ports for those workers, and implicitly define the maximum
  331. # number of workers per host.
  332. storm_worker_port_range:
  333. start: 6700
  334. end: 6703
  335. swift_internal_fqdn: "{{ kolla_internal_fqdn }}"
  336. swift_external_fqdn: "{{ kolla_external_fqdn }}"
  337. swift_proxy_server_port: "8080"
  338. swift_proxy_server_listen_port: "{{ swift_proxy_server_port }}"
  339. swift_object_server_port: "6000"
  340. swift_account_server_port: "6001"
  341. swift_container_server_port: "6002"
  342. swift_rsync_port: "10873"
  343. syslog_udp_port: "{{ fluentd_syslog_port }}"
  344. tacker_server_port: "9890"
  345. trove_api_port: "8779"
  346. watcher_api_port: "9322"
  347. zookeeper_client_port: "2181"
  348. zookeeper_peer_port: "2888"
  349. zookeeper_quorum_port: "3888"
  350. zun_api_port: "9517"
  351. zun_wsproxy_port: "6784"
  352. opendaylight_clustering_port: "2550"
  353. opendaylight_restconf_port: "8087"
  354. opendaylight_restconf_port_backup: "8182"
  355. opendaylight_haproxy_restconf_port: "8088"
  356. opendaylight_haproxy_restconf_port_backup: "8183"
  357. opendaylight_jetty_conf_port: "8543"
  358. opendaylight_jetty_conf2_port: "8443"
  359. opendaylight_tomcat_port: "8282"
  360. opendaylight_tomcat_redirect_port: "8663"
  361. opendaylight_karaf_ssh_port: "8101"
  362. opendaylight_openflow_port: "6653"
  363. opendaylight_ovsdb_port: "6641"
  364. opendaylight_websocket_port: "8185"
  365. vitrage_api_port: "8999"
  366. public_protocol: "{{ 'https' if kolla_enable_tls_external | bool else 'http' }}"
  367. internal_protocol: "{{ 'https' if kolla_enable_tls_internal | bool else 'http' }}"
  368. admin_protocol: "{{ 'https' if kolla_enable_tls_internal | bool else 'http' }}"
  369. ####################
  370. # OpenStack options
  371. ####################
  372. openstack_release: "master"
  373. openstack_logging_debug: "False"
  374. openstack_region_name: "RegionOne"
  375. # Variable defined the pin_release_version, apply for rolling upgrade process
  376. openstack_previous_release_name: "stein"
  377. # A list of policy file formats that are supported by Oslo.policy
  378. supported_policy_format_list:
  379. - policy.yaml
  380. - policy.json
  381. # In the context of multi-regions, list here the name of all your regions.
  382. multiple_regions_names:
  383. - "{{ openstack_region_name }}"
  384. openstack_service_workers: "{{ [ansible_processor_vcpus, 5]|min }}"
  385. openstack_service_rpc_workers: "{{ [ansible_processor_vcpus, 3]|min }}"
  386. # Optionally allow Kolla to set sysctl values
  387. set_sysctl: "yes"
  388. # Valid options are [ none, novnc, spice, rdp ]
  389. nova_console: "novnc"
  390. # Endpoint type used to connect with OpenStack services with ansible modules.
  391. # Valid options are [ public, internal, admin ]
  392. openstack_interface: "admin"
  393. # Openstack CA certificate bundle file
  394. # CA bundle file must be added to both the Horizon and Kolla Toolbox containers
  395. openstack_cacert: ""
  396. # Enable core OpenStack services. This includes:
  397. # glance, keystone, neutron, nova, heat, and horizon.
  398. enable_openstack_core: "yes"
  399. # These roles are required for Kolla to be operation, however a savvy deployer
  400. # could disable some of these required roles and run their own services.
  401. enable_glance: "{{ enable_openstack_core | bool }}"
  402. enable_haproxy: "yes"
  403. enable_keepalived: "{{ enable_haproxy | bool }}"
  404. enable_keystone: "{{ enable_openstack_core | bool }}"
  405. enable_mariadb: "yes"
  406. enable_memcached: "yes"
  407. enable_neutron: "{{ enable_openstack_core | bool }}"
  408. enable_nova: "{{ enable_openstack_core | bool }}"
  409. enable_rabbitmq: "{{ 'yes' if om_rpc_transport == 'rabbit' or om_notify_transport == 'rabbit' else 'no' }}"
  410. enable_outward_rabbitmq: "{{ enable_murano | bool }}"
  411. # Most memcache clients handle load-balancing via client side
  412. # hashing (consistent or not) logic, so going under the covers and messing
  413. # with things that the clients are not aware of is general wrong (but this
  414. # keeps the default as is...)
  415. enable_haproxy_memcached: "yes"
  416. # Additional optional OpenStack features and services are specified here
  417. enable_aodh: "no"
  418. enable_barbican: "no"
  419. enable_blazar: "no"
  420. # NOTE: This variable has been deprecated and will be removed in the U cycle.
  421. enable_cadf_notifications: "no"
  422. enable_ceilometer: "no"
  423. enable_ceilometer_ipmi: "no"
  424. enable_central_logging: "no"
  425. enable_ceph: "no"
  426. enable_ceph_mds: "no"
  427. enable_ceph_rgw: "no"
  428. enable_ceph_nfs: "no"
  429. enable_ceph_dashboard: "{{ enable_ceph | bool }}"
  430. enable_chrony: "yes"
  431. enable_cinder: "no"
  432. enable_cinder_backup: "yes"
  433. enable_cinder_backend_hnas_nfs: "no"
  434. enable_cinder_backend_iscsi: "{{ enable_cinder_backend_lvm | bool or enable_cinder_backend_zfssa_iscsi | bool }}"
  435. enable_cinder_backend_lvm: "no"
  436. enable_cinder_backend_nfs: "no"
  437. enable_cinder_backend_zfssa_iscsi: "no"
  438. enable_cinder_backend_quobyte: "no"
  439. enable_cloudkitty: "no"
  440. enable_collectd: "no"
  441. enable_congress: "no"
  442. enable_cyborg: "no"
  443. enable_designate: "no"
  444. enable_etcd: "no"
  445. enable_fluentd: "yes"
  446. enable_freezer: "no"
  447. enable_gnocchi: "no"
  448. enable_grafana: "no"
  449. enable_heat: "{{ enable_openstack_core | bool }}"
  450. enable_horizon: "{{ enable_openstack_core | bool }}"
  451. enable_horizon_blazar: "{{ enable_blazar | bool }}"
  452. enable_horizon_cloudkitty: "{{ enable_cloudkitty | bool }}"
  453. enable_horizon_congress: "{{ enable_congress | bool }}"
  454. enable_horizon_designate: "{{ enable_designate | bool }}"
  455. enable_horizon_fwaas: "{{ enable_neutron_fwaas | bool }}"
  456. enable_horizon_freezer: "{{ enable_freezer | bool }}"
  457. enable_horizon_heat: "{{ enable_heat | bool }}"
  458. enable_horizon_ironic: "{{ enable_ironic | bool }}"
  459. enable_horizon_karbor: "{{ enable_karbor | bool }}"
  460. enable_horizon_magnum: "{{ enable_magnum | bool }}"
  461. enable_horizon_manila: "{{ enable_manila | bool }}"
  462. enable_horizon_masakari: "{{ enable_masakari | bool }}"
  463. enable_horizon_mistral: "{{ enable_mistral | bool }}"
  464. enable_horizon_murano: "{{ enable_murano | bool }}"
  465. enable_horizon_neutron_vpnaas: "{{ enable_neutron_vpnaas | bool }}"
  466. enable_horizon_octavia: "{{ enable_octavia | bool }}"
  467. enable_horizon_qinling: "{{ enable_qinling | bool }}"
  468. enable_horizon_sahara: "{{ enable_sahara | bool }}"
  469. enable_horizon_searchlight: "{{ enable_searchlight | bool }}"
  470. enable_horizon_senlin: "{{ enable_senlin | bool }}"
  471. enable_horizon_solum: "{{ enable_solum | bool }}"
  472. enable_horizon_tacker: "{{ enable_tacker | bool }}"
  473. enable_horizon_trove: "{{ enable_trove | bool }}"
  474. enable_horizon_vitrage: "{{ enable_vitrage | bool }}"
  475. enable_horizon_watcher: "{{ enable_watcher | bool }}"
  476. enable_horizon_zun: "{{ enable_zun | bool }}"
  477. enable_hyperv: "no"
  478. enable_influxdb: "{{ enable_monasca | bool or (enable_cloudkitty | bool and cloudkitty_storage_backend == 'influxdb') }}"
  479. enable_ironic: "no"
  480. enable_ironic_ipxe: "no"
  481. enable_ironic_neutron_agent: "{{ enable_neutron | bool and enable_ironic | bool }}"
  482. enable_ironic_pxe_uefi: "no"
  483. enable_iscsid: "{{ (enable_cinder | bool and enable_cinder_backend_iscsi | bool) or enable_ironic | bool }}"
  484. enable_karbor: "no"
  485. enable_kafka: "{{ enable_monasca | bool }}"
  486. enable_kuryr: "no"
  487. enable_magnum: "no"
  488. enable_manila: "no"
  489. enable_manila_backend_generic: "no"
  490. enable_manila_backend_hnas: "no"
  491. enable_manila_backend_cephfs_native: "no"
  492. enable_manila_backend_cephfs_nfs: "no"
  493. enable_masakari: "no"
  494. enable_mistral: "no"
  495. enable_monasca: "no"
  496. enable_mongodb: "no"
  497. enable_multipathd: "no"
  498. enable_murano: "no"
  499. enable_neutron_vpnaas: "no"
  500. enable_neutron_sriov: "no"
  501. enable_neutron_dvr: "no"
  502. enable_neutron_fwaas: "no"
  503. enable_neutron_qos: "no"
  504. enable_neutron_agent_ha: "no"
  505. enable_neutron_bgp_dragent: "no"
  506. enable_neutron_provider_networks: "no"
  507. enable_neutron_segments: "no"
  508. enable_neutron_sfc: "no"
  509. enable_neutron_metering: "no"
  510. enable_neutron_infoblox_ipam_agent: "no"
  511. enable_neutron_port_forwarding: "no"
  512. enable_nova_serialconsole_proxy: "no"
  513. enable_nova_ssh: "yes"
  514. enable_octavia: "no"
  515. enable_onos: "no"
  516. enable_opendaylight: "no"
  517. enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'linuxbridge' }}"
  518. enable_ovs_dpdk: "no"
  519. enable_osprofiler: "no"
  520. enable_panko: "no"
  521. enable_placement: "{{ enable_nova }}"
  522. enable_prometheus: "no"
  523. enable_qdrouterd: "{{ 'yes' if om_rpc_transport == 'amqp' else 'no' }}"
  524. enable_qinling: "no"
  525. enable_rally: "no"
  526. enable_redis: "no"
  527. enable_sahara: "no"
  528. enable_searchlight: "no"
  529. enable_senlin: "no"
  530. enable_skydive: "no"
  531. enable_solum: "no"
  532. enable_storm: "{{ enable_monasca | bool }}"
  533. enable_swift: "no"
  534. enable_swift_s3api: "no"
  535. enable_swift_recon: "no"
  536. enable_tacker: "no"
  537. enable_telegraf: "no"
  538. enable_tempest: "no"
  539. enable_trove: "no"
  540. enable_trove_singletenant: "no"
  541. enable_vitrage: "no"
  542. enable_vmtp: "no"
  543. enable_watcher: "no"
  544. enable_xtrabackup: "no"
  545. enable_zookeeper: "{{ enable_kafka | bool }}"
  546. enable_zun: "no"
  547. ovs_datapath: "{{ 'netdev' if enable_ovs_dpdk | bool else 'system' }}"
  548. designate_keystone_user: "designate"
  549. ironic_keystone_user: "ironic"
  550. neutron_keystone_user: "neutron"
  551. nova_keystone_user: "nova"
  552. placement_keystone_user: "placement"
  553. murano_keystone_user: "murano"
  554. # Nova fake driver and the number of fake driver per compute node
  555. enable_nova_fake: "no"
  556. num_nova_fake_per_node: 5
  557. # Clean images options are specified here
  558. enable_destroy_images: "no"
  559. ####################
  560. # Monasca options
  561. ####################
  562. # The OpenStack username used by the Monasca Agent and the Fluentd Monasca
  563. # plugin to post logs and metrics from the control plane to Monasca.
  564. monasca_agent_user: "monasca-agent"
  565. # The OpenStack project to which the control plane logs and metrics are
  566. # tagged with. Only users with the monasca read only user role, or higher
  567. # can access these from the Monasca APIs.
  568. monasca_control_plane_project: "monasca_control_plane"
  569. ####################
  570. # Global Options
  571. ####################
  572. # List of containers to skip during stop command in YAML list format
  573. # skip_stop_containers:
  574. # - container1
  575. # - container2
  576. skip_stop_containers: []
  577. ####################
  578. # Logging options
  579. ####################
  580. elasticsearch_address: "{{ kolla_internal_fqdn }}"
  581. enable_elasticsearch: "{{ 'yes' if enable_central_logging | bool or enable_osprofiler | bool or enable_skydive | bool or enable_monasca | bool else 'no' }}"
  582. enable_kibana: "{{ 'yes' if enable_central_logging | bool or enable_monasca | bool else 'no' }}"
  583. ####################
  584. # Redis options
  585. ####################
  586. redis_connection_string: "redis://{% for host in groups['redis'] %}{% if host == groups['redis'][0] %}admin:{{ redis_master_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ redis_sentinel_port }}?sentinel=kolla{% else %}&sentinel_fallback={{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ redis_sentinel_port }}{% endif %}{% endfor %}&db=0&socket_timeout=60&retry_on_timeout=yes"
  587. ####################
  588. # Osprofiler options
  589. ####################
  590. # valid values: ["elasticsearch", "redis"]
  591. osprofiler_backend: "elasticsearch"
  592. elasticsearch_connection_string: "elasticsearch://{{ elasticsearch_address }}:{{ elasticsearch_port }}"
  593. osprofiler_backend_connection_string: "{{ redis_connection_string if osprofiler_backend == 'redis' else elasticsearch_connection_string }}"
  594. ####################
  595. # RabbitMQ options
  596. ####################
  597. rabbitmq_hipe_compile: "no"
  598. rabbitmq_user: "openstack"
  599. rabbitmq_monitoring_user: ""
  600. outward_rabbitmq_user: "openstack"
  601. ####################
  602. # Qdrouterd options
  603. ####################
  604. qdrouterd_user: "openstack"
  605. ####################
  606. # HAProxy options
  607. ####################
  608. haproxy_user: "openstack"
  609. haproxy_enable_external_vip: "{{ 'no' if kolla_same_external_internal_vip | bool else 'yes' }}"
  610. kolla_enable_tls_internal: "no"
  611. kolla_enable_tls_external: "{{ kolla_enable_tls_internal if kolla_same_external_internal_vip | bool else 'no' }}"
  612. kolla_external_fqdn_cert: "{{ node_config }}/certificates/haproxy.pem"
  613. kolla_internal_fqdn_cert: "{{ node_config }}/certificates/haproxy-internal.pem"
  614. kolla_external_fqdn_cacert: "{{ node_config }}/certificates/haproxy-ca.crt"
  615. kolla_internal_fqdn_cacert: "{{ node_config }}/certificates/haproxy-ca-internal.crt"
  616. ####################
  617. # Kibana options
  618. ####################
  619. kibana_user: "kibana"
  620. kibana_log_prefix: "flog"
  621. ####################
  622. # Keystone options
  623. ####################
  624. keystone_internal_fqdn: "{{ kolla_internal_fqdn }}"
  625. keystone_external_fqdn: "{{ kolla_external_fqdn }}"
  626. keystone_admin_url: "{{ admin_protocol }}://{{ keystone_internal_fqdn }}:{{ keystone_admin_port }}"
  627. keystone_internal_url: "{{ internal_protocol }}://{{ keystone_internal_fqdn }}:{{ keystone_public_port }}"
  628. keystone_public_url: "{{ public_protocol }}://{{ keystone_external_fqdn }}:{{ keystone_public_port }}"
  629. keystone_admin_user: "admin"
  630. keystone_admin_project: "admin"
  631. default_project_domain_name: "Default"
  632. default_project_domain_id: "default"
  633. default_user_domain_name: "Default"
  634. default_user_domain_id: "default"
  635. # Valid options are [ fernet ]
  636. keystone_token_provider: "fernet"
  637. # Keystone fernet token expiry in seconds. Default is 1 day.
  638. fernet_token_expiry: 86400
  639. # Keystone window to allow expired fernet tokens. Default is 2 days.
  640. fernet_token_allow_expired_window: 172800
  641. # Keystone fernet key rotation interval in seconds. Default is sum of token
  642. # expiry and allow expired window, 3 days. This ensures the minimum number
  643. # of keys are active. If this interval is lower than the sum of the token
  644. # expiry and allow expired window, multiple active keys will be necessary.
  645. fernet_key_rotation_interval: "{{ fernet_token_expiry + fernet_token_allow_expired_window }}"
  646. keystone_default_user_role: "_member_"
  647. # OpenStack authentication string. You should only need to override these if you
  648. # are changing the admin tenant/project or user.
  649. openstack_auth:
  650. auth_url: "{{ keystone_admin_url }}"
  651. username: "{{ keystone_admin_user }}"
  652. password: "{{ keystone_admin_password }}"
  653. project_name: "{{ keystone_admin_project }}"
  654. domain_name: "default"
  655. user_domain_name: "default"
  656. #######################
  657. # Glance options
  658. #######################
  659. # Using glance_backend_ceph rather than enable_ceph to determine whether to
  660. # use the file backend, as this allows for the external ceph case, where
  661. # enable_ceph is False.
  662. glance_backend_file: "{{ not (glance_backend_ceph | bool or glance_backend_swift | bool or glance_backend_vmware | bool) }}"
  663. glance_backend_ceph: "{{ enable_ceph }}"
  664. glance_backend_vmware: "no"
  665. enable_glance_image_cache: "no"
  666. # ceph backend has priority over swift in all-ceph clusters
  667. glance_backend_swift: "{{ not (enable_ceph | bool) and enable_swift | bool }}"
  668. glance_file_datadir_volume: "glance"
  669. glance_enable_rolling_upgrade: "no"
  670. glance_api_hosts: "{{ [groups['glance-api']|first] if glance_backend_file | bool and glance_file_datadir_volume == 'glance' else groups['glance-api'] }}"
  671. #######################
  672. # Barbican options
  673. #######################
  674. # Valid options are [ simple_crypto, p11_crypto ]
  675. barbican_crypto_plugin: "simple_crypto"
  676. barbican_library_path: "/usr/lib/libCryptoki2_64.so"
  677. ########################
  678. ### Panko options
  679. ########################
  680. # Valid options are [ mongodb, mysql ]
  681. panko_database_type: "mysql"
  682. #################
  683. # Gnocchi options
  684. #################
  685. # Valid options are [ file, ceph, swift ]
  686. # Defaults to file if ceph and swift are enabled; explicitly set to either if required.
  687. gnocchi_backend_storage: "{% if enable_ceph | bool and not enable_swift | bool %}ceph{% elif enable_swift | bool and not enable_ceph | bool %}swift{% else %}file{% endif %}"
  688. # Valid options are [redis, '']
  689. gnocchi_incoming_storage: "{{ 'redis' if enable_redis | bool else '' }}"
  690. gnocchi_metric_datadir_volume: "gnocchi"
  691. #################################
  692. # Cinder options
  693. #################################
  694. cinder_backend_ceph: "{{ enable_ceph }}"
  695. cinder_backend_vmwarevc_vmdk: "no"
  696. cinder_volume_group: "cinder-volumes"
  697. cinder_target_helper: "tgtadm"
  698. # Valid options are [ '', redis, etcd ]
  699. cinder_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}"
  700. # Valid options are [ nfs, swift, ceph ]
  701. cinder_backup_driver: "ceph"
  702. cinder_backup_share: ""
  703. cinder_backup_mount_options_nfs: ""
  704. #######################
  705. # Cloudkitty options
  706. #######################
  707. # Valid option is gnocchi
  708. cloudkitty_collector_backend: "gnocchi"
  709. # Valid options are 'sqlalchemy' or 'influxdb'. The default value is
  710. # 'influxdb', which matches the default in Cloudkitty since the Stein release.
  711. # When the backend is "influxdb", we also enable Influxdb.
  712. # Also, when using 'influxdb' as the backend, we trigger the configuration/use
  713. # of Cloudkitty storage backend version 2.
  714. cloudkitty_storage_backend: "influxdb"
  715. #######################
  716. # Designate options
  717. #######################
  718. # Valid options are [ bind9, infoblox ]
  719. designate_backend: "bind9"
  720. designate_ns_record: "sample.openstack.org"
  721. designate_backend_external: "no"
  722. designate_backend_external_bind9_nameservers: ""
  723. # Valid options are [ '', redis, etcd ]
  724. designate_coordination_backend: "{{ 'redis' if enable_redis|bool else 'etcd' if enable_etcd|bool else '' }}"
  725. #######################
  726. # Neutron options
  727. #######################
  728. neutron_bgp_router_id: "1.1.1.1"
  729. neutron_bridge_name: "{{ 'br-dvs' if neutron_plugin_agent == 'vmware_dvs' else 'br-ex' }}"
  730. # Comma-separated type of enabled ml2 type drivers
  731. neutron_type_drivers: "flat,vlan,vxlan"
  732. # Comma-separated types of tenant networks (should be listed in 'neutron_type_drivers')
  733. # NOTE: for ironic this list should also contain 'flat'
  734. neutron_tenant_network_types: "vxlan"
  735. # valid values: ["dvr", "dvr_no_external"]
  736. neutron_compute_dvr_mode: "dvr"
  737. computes_need_external_bridge: "{{ enable_neutron_dvr | bool and neutron_compute_dvr_mode == 'dvr' or enable_neutron_provider_networks | bool or enable_opendaylight | bool and neutron_plugin_agent != 'vmware_dvs' and not enable_onos | bool }}"
  738. # Default DNS resolvers for virtual networks
  739. neutron_dnsmasq_dns_servers: "1.1.1.1,8.8.8.8,8.8.4.4"
  740. #######################
  741. # Nova options
  742. #######################
  743. nova_backend_ceph: "{{ enable_ceph }}"
  744. nova_backend: "{{ 'rbd' if nova_backend_ceph | bool else 'default' }}"
  745. # Valid options are [ kvm, qemu, vmware, xenapi ]
  746. nova_compute_virt_type: "kvm"
  747. nova_instance_datadir_volume: "nova_compute"
  748. #######################
  749. # Murano options
  750. #######################
  751. murano_agent_rabbitmq_vhost: "muranoagent"
  752. murano_agent_rabbitmq_user: "muranoagent"
  753. #######################
  754. # Horizon options
  755. #######################
  756. horizon_backend_database: "{{ enable_murano | bool }}"
  757. horizon_keystone_multidomain: False
  758. # Enable deploying custom horizon policy files for services that don't have a
  759. # horizon plugin but have a policy file. Override these when you have services
  760. # not deployed by kolla-ansible but want custom policy files deployed for them
  761. # in horizon.
  762. enable_ceilometer_horizon_policy_file: "{{ enable_ceilometer }}"
  763. enable_cinder_horizon_policy_file: "{{ enable_cinder }}"
  764. enable_congress_horizon_policy_file: "{{ enable_congress }}"
  765. enable_glance_horizon_policy_file: "{{ enable_glance }}"
  766. enable_heat_horizon_policy_file: "{{ enable_heat }}"
  767. enable_keystone_horizon_policy_file: "{{ enable_keystone }}"
  768. enable_neutron_horizon_policy_file: "{{ enable_neutron }}"
  769. enable_nova_horizon_policy_file: "{{ enable_nova }}"
  770. #################
  771. # Octavia options
  772. #################
  773. # Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ]
  774. octavia_loadbalancer_topology: "SINGLE"
  775. octavia_amp_boot_network_list:
  776. octavia_amp_secgroup_list:
  777. octavia_amp_flavor_id:
  778. #################
  779. # Qinling options
  780. #################
  781. # Configure qinling-engine certificates to authenticate with Kubernetes cluster.
  782. qinling_kubernetes_certificates: "no"
  783. ###################
  784. # Ceph options
  785. ###################
  786. # Ceph can be setup with a caching to improve performance. To use the cache you
  787. # must provide separate disks than those for the OSDs
  788. ceph_enable_cache: "no"
  789. external_ceph_cephx_enabled: "yes"
  790. # Ceph is not able to determine the size of a cache pool automatically,
  791. # so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
  792. ceph_target_max_bytes: ""
  793. ceph_target_max_objects: ""
  794. # Valid options are [ forward, none, writeback ]
  795. ceph_cache_mode: "writeback"
  796. # Valid options are [ ext4, btrfs, xfs ]
  797. ceph_osd_filesystem: "xfs"
  798. # Set to 'yes-i-really-really-mean-it' to force wipe disks with existing partitions for OSDs. Only
  799. # set if you understand the consequences!
  800. ceph_osd_wipe_disk: ""
  801. # These are /etc/fstab options. Comma separated, no spaces (see fstab(8))
  802. ceph_osd_mount_options: "defaults,noatime"
  803. # A requirement for using the erasure-coded pools is you must setup a cache tier
  804. # Valid options are [ erasure, replicated ]
  805. ceph_pool_type: "replicated"
  806. # Integrate Ceph Rados Object Gateway with OpenStack keystone
  807. enable_ceph_rgw_keystone: "no"
  808. # Enable/disable ceph-rgw compatibility with OpenStack Swift
  809. # Valid options are [ True, False ]
  810. ceph_rgw_compatibility: "False"
  811. ceph_cinder_pool_name: "volumes"
  812. ceph_cinder_backup_pool_name: "backups"
  813. ceph_glance_pool_name: "images"
  814. ceph_gnocchi_pool_name: "gnocchi"
  815. ceph_nova_pool_name: "vms"
  816. ceph_erasure_profile: "k=4 m=2 ruleset-failure-domain=host"
  817. ceph_rule: "default host {{ 'indep' if ceph_pool_type == 'erasure' else 'firstn' }}"
  818. ceph_cache_rule: "cache host firstn"
  819. # Set the pgs and pgps for pool
  820. # WARNING! These values are dependant on the size and shape of your cluster -
  821. # the default values are not suitable for production use. Please refer to the
  822. # Kolla Ceph documentation for more information.
  823. ceph_pool_pg_num: 8
  824. ceph_pool_pgp_num: 8
  825. # Set the store type for ceph OSD
  826. # Valid options are [ filestore, bluestore]
  827. ceph_osd_store_type: "bluestore"
  828. # Set the host type for ceph daemons
  829. # Valid options are [ IP, HOSTNAME, FQDN, INVENTORY ]
  830. # Note: For existing clusters, please don't modify this parameter. Otherwise,
  831. # the existing mon will be invalidated, and the existing osd crush map will
  832. # be changed.
  833. ceph_mon_host_type: "IP"
  834. ceph_mgr_host_type: "INVENTORY"
  835. ceph_osd_host_type: "IP"
  836. ceph_mds_host_type: "INVENTORY"
  837. #####################
  838. # VMware support
  839. ######################
  840. vmware_vcenter_host_ip: "127.0.0.1"
  841. vmware_vcenter_host_username: "username"
  842. vmware_vcenter_cluster_name: "cluster-1"
  843. vmware_vcenter_insecure: "True"
  844. ######################
  845. # OpenDaylight
  846. ######################
  847. opendaylight_mechanism_driver: "opendaylight_v2"
  848. opendaylight_l3_service_plugin: "odl-router_v2"
  849. opendaylight_acl_impl: "learn"
  850. enable_opendaylight_qos: "no"
  851. enable_opendaylight_l3: "{{ enable_opendaylight }}"
  852. enable_opendaylight_legacy_netvirt_conntrack: "no"
  853. opendaylight_port_binding_type: "pseudo-agentdb-binding"
  854. opendaylight_features: "odl-mdsal-apidocs,odl-netvirt-openstack"
  855. opendaylight_allowed_network_types: '"flat", "vlan", "vxlan"'
  856. #######################################
  857. # XenAPI - Support XenAPI for XenServer
  858. #######################################
  859. # XenAPI driver use HIMN(Host Internal Management Network)
  860. # to communicate with XenServer host.
  861. xenserver_himn_ip: "169.254.0.1"
  862. xenserver_username: "root"
  863. xenserver_connect_protocol: "https"
  864. # File used to save XenAPI's facts variables formatted as json.
  865. xenapi_facts_root: "/etc/kolla/xenapi/"
  866. xenapi_facts_file: "facts.json"
  867. #############################################
  868. # MariaDB component-specific database details
  869. #############################################
  870. # Whether to configure haproxy to load balance
  871. # the external MariaDB server(s)
  872. enable_external_mariadb_load_balancer: "no"
  873. # Whether to use pre-configured databases / users
  874. use_preconfigured_databases: "no"
  875. # whether to use a common, preconfigured user
  876. # for all component databases
  877. use_common_mariadb_user: "no"
  878. ############
  879. # Prometheus
  880. ############
  881. enable_prometheus_haproxy_exporter: "{{ enable_haproxy | bool }}"
  882. enable_prometheus_mysqld_exporter: "{{ enable_mariadb | bool }}"
  883. enable_prometheus_node_exporter: "{{ enable_prometheus | bool }}"
  884. enable_prometheus_memcached_exporter: "{{ enable_memcached | bool }}"
  885. enable_prometheus_cadvisor: "{{ enable_prometheus | bool }}"
  886. enable_prometheus_alertmanager: "{{ enable_prometheus | bool }}"
  887. enable_prometheus_ceph_mgr_exporter: "{{ enable_ceph | bool and enable_prometheus | bool }}"
  888. enable_prometheus_openstack_exporter: "{{ enable_prometheus | bool }}"
  889. enable_prometheus_elasticsearch_exporter: "{{ enable_prometheus | bool and enable_elasticsearch | bool }}"
  890. enable_prometheus_blackbox_exporter: "{{ enable_prometheus | bool }}"
  891. prometheus_alertmanager_user: "admin"
  892. prometheus_openstack_exporter_interval: "60s"
  893. prometheus_elasticsearch_exporter_interval: "60s"
  894. prometheus_cmdline_extras:
  895. ############
  896. # Vitrage
  897. ############
  898. enable_vitrage_prometheus_datasource: "{{ enable_prometheus | bool }}"
  899. ####################
  900. # InfluxDB options
  901. ####################
  902. influxdb_address: "{{ kolla_internal_fqdn }}"
  903. #########################
  904. # Internal Image options
  905. #########################
  906. distro_python_version_map: {
  907. "centos": "2.7",
  908. "debian": "3.7",
  909. "rhel": "2.7",
  910. "ubuntu": "3.6"
  911. }
  912. distro_python_version: "{{ distro_python_version_map[kolla_base_distro] }}"
  913. ##########
  914. # Telegraf
  915. ##########
  916. # Configure telegraf to use the docker daemon itself as an input for
  917. # telemetry data.
  918. telegraf_enable_docker_input: "no"