configmap.yaml.j2 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. # More info about the template: https://docs.openstack.org/kuryr-kubernetes/latest/installation/containerized.html#generating-kuryr-resource-definitions-for-kubernetes
  2. apiVersion: v1
  3. kind: ConfigMap
  4. metadata:
  5. name: kuryr-config
  6. namespace: {{ kuryr_namespace }}
  7. data:
  8. kuryr.conf: |+
  9. [DEFAULT]
  10. #
  11. # From kuryr_kubernetes
  12. #
  13. # Directory for Kuryr vif binding executables. (string value)
  14. #bindir = /usr/libexec/kuryr
  15. # Neutron subnetpool name will be prefixed by this. (string value)
  16. #subnetpool_name_prefix = kuryrPool
  17. # baremetal or nested-containers are the supported values. (string value)
  18. #deployment_type = baremetal
  19. # If set to true, the logging level will be set to DEBUG instead of the default
  20. # INFO level. (boolean value)
  21. # Note: This option can be changed without restarting.
  22. #debug = false
  23. # The name of a logging configuration file. This file is appended to any
  24. # existing logging configuration files. For details about logging configuration
  25. # files, see the Python logging module documentation. Note that when logging
  26. # configuration files are used then all logging configuration is set in the
  27. # configuration file and other logging configuration options are ignored (for
  28. # example, logging_context_format_string). (string value)
  29. # Note: This option can be changed without restarting.
  30. # Deprecated group/name - [DEFAULT]/log_config
  31. #log_config_append = <None>
  32. # Defines the format string for %%(asctime)s in log records. Default:
  33. # %(default)s . This option is ignored if log_config_append is set. (string
  34. # value)
  35. #log_date_format = %Y-%m-%d %H:%M:%S
  36. # (Optional) Name of log file to send logging output to. If no default is set,
  37. # logging will go to stderr as defined by use_stderr. This option is ignored if
  38. # log_config_append is set. (string value)
  39. # Deprecated group/name - [DEFAULT]/logfile
  40. #log_file = <None>
  41. # (Optional) The base directory used for relative log_file paths. This option
  42. # is ignored if log_config_append is set. (string value)
  43. # Deprecated group/name - [DEFAULT]/logdir
  44. #log_dir = <None>
  45. # Uses logging handler designed to watch file system. When log file is moved or
  46. # removed this handler will open a new log file with specified path
  47. # instantaneously. It makes sense only if log_file option is specified and
  48. # Linux platform is used. This option is ignored if log_config_append is set.
  49. # (boolean value)
  50. #watch_log_file = false
  51. # Use syslog for logging. Existing syslog format is DEPRECATED and will be
  52. # changed later to honor RFC5424. This option is ignored if log_config_append
  53. # is set. (boolean value)
  54. #use_syslog = false
  55. # Enable journald for logging. If running in a systemd environment you may wish
  56. # to enable journal support. Doing so will use the journal native protocol
  57. # which includes structured metadata in addition to log messages.This option is
  58. # ignored if log_config_append is set. (boolean value)
  59. #use_journal = false
  60. # Syslog facility to receive log lines. This option is ignored if
  61. # log_config_append is set. (string value)
  62. #syslog_log_facility = LOG_USER
  63. # Log output to standard error. This option is ignored if log_config_append is
  64. # set. (boolean value)
  65. #use_stderr = false
  66. # Format string to use for log messages with context. (string value)
  67. #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
  68. # Format string to use for log messages when context is undefined. (string
  69. # value)
  70. #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
  71. # Additional data to append to log message when logging level for the message
  72. # is DEBUG. (string value)
  73. #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
  74. # Prefix each line of exception output with this format. (string value)
  75. #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
  76. # Defines the format string for %(user_identity)s that is used in
  77. # logging_context_format_string. (string value)
  78. #logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
  79. # List of package logging levels in logger=LEVEL pairs. This option is ignored
  80. # if log_config_append is set. (list value)
  81. #default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
  82. # Enables or disables publication of error events. (boolean value)
  83. #publish_errors = false
  84. # The format for an instance that is passed with the log message. (string
  85. # value)
  86. #instance_format = "[instance: %(uuid)s] "
  87. # The format for an instance UUID that is passed with the log message. (string
  88. # value)
  89. #instance_uuid_format = "[instance: %(uuid)s] "
  90. # Interval, number of seconds, of log rate limiting. (integer value)
  91. #rate_limit_interval = 0
  92. # Maximum number of logged messages per rate_limit_interval. (integer value)
  93. #rate_limit_burst = 0
  94. # Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
  95. # or empty string. Logs with level greater or equal to rate_limit_except_level
  96. # are not filtered. An empty string means that all levels are filtered. (string
  97. # value)
  98. #rate_limit_except_level = CRITICAL
  99. # Enables or disables fatal status of deprecations. (boolean value)
  100. #fatal_deprecations = false
  101. [binding]
  102. # Configuration options for container interface binding.
  103. #
  104. # From kuryr_kubernetes
  105. #
  106. # The name prefix of the veth endpoint put inside the container. (string value)
  107. #veth_dst_prefix = eth
  108. # Driver to use for binding and unbinding ports. (string value)
  109. # Deprecated group/name - [binding]/driver
  110. #default_driver = kuryr.lib.binding.drivers.veth
  111. default_driver = kuryr.lib.binding.drivers.vlan
  112. [cni_daemon]
  113. #
  114. # From kuryr_kubernetes
  115. #
  116. # Enable CNI Daemon configuration. (boolean value)
  117. daemon_enabled = true
  118. # Bind address for CNI daemon HTTP server. It is recommened to allow only local
  119. # connections. (string value)
  120. bind_address = 127.0.0.1:50036
  121. # Maximum number of processes that will be spawned to process requests from CNI
  122. # driver. (integer value)
  123. #worker_num = 30
  124. # Time (in seconds) the CNI daemon will wait for VIF annotation to appear in
  125. # pod metadata before failing the CNI request. (integer value)
  126. #vif_annotation_timeout = 120
  127. # Kuryr uses pyroute2 library to manipulate networking interfaces. When
  128. # processing a high number of Kuryr requests in parallel, it may take kernel
  129. # more time to process all networking stack changes. This option allows to tune
  130. # internal pyroute2 timeout. (integer value)
  131. #pyroute2_timeout = 30
  132. # Set to True when you are running kuryr-daemon inside a Docker container on
  133. # Kubernetes host. E.g. as DaemonSet on Kubernetes cluster Kuryr is supposed to
  134. # provide networking for. This mainly means thatkuryr-daemon will look for
  135. # network namespaces in $netns_proc_dir instead of /proc. (boolean value)
  136. docker_mode = true
  137. # When docker_mode is set to True, this config option should be set to where
  138. # host's /proc directory is mounted. Please note that mounting it is necessary
  139. # to allow Kuryr-Kubernetes to move host interfaces between host network
  140. # namespaces, which is essential for Kuryr to work. (string value)
  141. netns_proc_dir = /host_proc
  142. [kubernetes]
  143. #
  144. # From kuryr_kubernetes
  145. #
  146. # The root URL of the Kubernetes API (string value)
  147. api_root = https://{{ kuryr_openstack_api_lb_ip }}:{{openshift_master_api_port}}
  148. # Absolute path to client cert to connect to HTTPS K8S_API (string value)
  149. # ssl_client_crt_file = /etc/kuryr/controller.crt
  150. # Absolute path client key file to connect to HTTPS K8S_API (string value)
  151. # ssl_client_key_file = /etc/kuryr/controller.key
  152. # Absolute path to ca cert file to connect to HTTPS K8S_API (string value)
  153. ssl_ca_crt_file = /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  154. # The token to talk to the k8s API
  155. token_file = /var/run/secrets/kubernetes.io/serviceaccount/token
  156. # HTTPS K8S_API server identity verification (boolean value)
  157. # TODO (apuimedo): Make configurable
  158. ssl_verify_server_crt = True
  159. # The driver to determine OpenStack project for pod ports (string value)
  160. pod_project_driver = default
  161. # The driver to determine OpenStack project for services (string value)
  162. service_project_driver = default
  163. # The driver to determine Neutron subnets for pod ports (string value)
  164. pod_subnets_driver = {{ openshift_kuryr_subnet_driver|default('default') }}
  165. # The driver to determine Neutron subnets for services (string value)
  166. service_subnets_driver = default
  167. # The driver to determine Neutron security groups for pods (string value)
  168. pod_security_groups_driver = default
  169. # The driver to determine Neutron security groups for services (string value)
  170. service_security_groups_driver = default
  171. # The driver that provides VIFs for Kubernetes Pods. (string value)
  172. pod_vif_driver = nested-vlan
  173. # The driver that manages VIFs pools for Kubernetes Pods (string value)
  174. vif_pool_driver = {{ kuryr_openstack_pool_driver }}
  175. # The comma-separated handlers that should be registered for watching
  176. # in the pipeline. (list value)
  177. {% if openshift_kuryr_subnet_driver|default('default') == 'namespace' %}
  178. enabled_handlers = vif,lb,lbaasspec,namespace
  179. {% else %}
  180. enabled_handlers = vif,lb,lbaasspec
  181. {% endif %}
  182. [neutron]
  183. # Configuration options for OpenStack Neutron
  184. #
  185. # From kuryr_kubernetes
  186. #
  187. # Authentication URL (string value)
  188. auth_url = {{ kuryr_openstack_auth_url }}
  189. # Authentication type to load (string value)
  190. # Deprecated group/name - [neutron]/auth_plugin
  191. auth_type = password
  192. {% if kuryr_ca_certificate is defined %}
  193. # PEM encoded Certificate Authority to use when verifying HTTPs connections.
  194. # (string value)
  195. cafile = /etc/ssl/certs/kuryr-ca-bundle.crt
  196. {% endif %}
  197. # Domain ID to scope to (string value)
  198. user_domain_name = {{ kuryr_openstack_user_domain_name }}
  199. # User's password (string value)
  200. password = {{ kuryr_openstack_password }}
  201. # Domain name containing project (string value)
  202. project_domain_name = {{ kuryr_openstack_project_domain_name }}
  203. # Project ID to scope to (string value)
  204. # Deprecated group/name - [neutron]/tenant-id
  205. project_id = {{ kuryr_openstack_project_id }}
  206. # Token (string value)
  207. #token = <None>
  208. # Trust ID (string value)
  209. #trust_id = <None>
  210. # User's domain id (string value)
  211. #user_domain_id = <None>
  212. # User id (string value)
  213. #user_id = <None>
  214. # Username (string value)
  215. # Deprecated group/name - [neutron]/user-name
  216. username = {{kuryr_openstack_username }}
  217. # Whether a plugging operation is failed if the port to plug does not become
  218. # active (boolean value)
  219. #vif_plugging_is_fatal = false
  220. # Seconds to wait for port to become active (integer value)
  221. #vif_plugging_timeout = 0
  222. [neutron_defaults]
  223. ovs_bridge = br-int
  224. pod_security_groups = {{ kuryr_openstack_pod_sg_id }}
  225. pod_subnet = {{ kuryr_openstack_pod_subnet_id }}
  226. service_subnet = {{ kuryr_openstack_service_subnet_id }}
  227. project = {{ kuryr_openstack_pod_project_id }}
  228. # TODO (apuimedo): Remove the duplicated line just after this one once the
  229. # RDO packaging contains the upstream patch
  230. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  231. external_svc_net = {{ kuryr_openstack_public_net_id }}
  232. {% if kuryr_openstack_public_subnet_id|default(false) %}
  233. external_svc_subnet = {{ kuryr_openstack_public_subnet_id }}
  234. {% endif %}
  235. {% if openshift_kuryr_subnet_driver|default('default') == 'namespace' %}
  236. [namespace_subnet]
  237. pod_subnet_pool = {{ kuryr_openstack_pod_subnet_pool_id }}
  238. pod_router = {{ kuryr_openstack_pod_router_id }}
  239. {% endif %}
  240. # Time (in seconds) that Kuryr controller waits for LBaaS to be activated
  241. lbaas_activation_timeout = 1200
  242. [pod_vif_nested]
  243. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  244. [pool_manager]
  245. #
  246. # From kuryr_kubernetes
  247. #
  248. # Absolute path to socket file that will be used for communication with the
  249. # Pool Manager daemon (string value)
  250. #sock_file = /run/kuryr/kuryr_manage.sock
  251. [vif_pool]
  252. #
  253. # From kuryr_kubernetes
  254. #
  255. # Set a maximun amount of ports per pool. 0 to disable (integer value)
  256. ports_pool_max = {{ kuryr_openstack_pool_max | default(0) }}
  257. # Set a target minimum size of the pool of ports (integer value)
  258. ports_pool_min = {{ kuryr_openstack_pool_min | default(1) }}
  259. # Number of ports to be created in a bulk request (integer value)
  260. ports_pool_batch = {{ kuryr_openstack_pool_batch | default(5) }}
  261. # Minimun interval (in seconds) between pool updates (integer value)
  262. ports_pool_update_frequency = {{ kuryr_openstack_pool_update_frequency | default(20) }}
  263. # Pod VIF drivers vs Pool Drivers mapping allowed
  264. pools_vif_drivers = nested:nested-vlan,neutron:neutron-vif
  265. [health_server]
  266. port = {{ kuryr_controller_healthcheck_port }}
  267. kuryr-cni.conf: |+
  268. [DEFAULT]
  269. #
  270. # From kuryr_kubernetes
  271. #
  272. # Directory for Kuryr vif binding executables. (string value)
  273. #bindir = /usr/libexec/kuryr
  274. # Neutron subnetpool name will be prefixed by this. (string value)
  275. #subnetpool_name_prefix = kuryrPool
  276. # baremetal or nested-containers are the supported values. (string value)
  277. #deployment_type = baremetal
  278. # If set to true, the logging level will be set to DEBUG instead of the default
  279. # INFO level. (boolean value)
  280. # Note: This option can be changed without restarting.
  281. #debug = false
  282. # The name of a logging configuration file. This file is appended to any
  283. # existing logging configuration files. For details about logging configuration
  284. # files, see the Python logging module documentation. Note that when logging
  285. # configuration files are used then all logging configuration is set in the
  286. # configuration file and other logging configuration options are ignored (for
  287. # example, logging_context_format_string). (string value)
  288. # Note: This option can be changed without restarting.
  289. # Deprecated group/name - [DEFAULT]/log_config
  290. #log_config_append = <None>
  291. # Defines the format string for %%(asctime)s in log records. Default:
  292. # %(default)s . This option is ignored if log_config_append is set. (string
  293. # value)
  294. #log_date_format = %Y-%m-%d %H:%M:%S
  295. # (Optional) Name of log file to send logging output to. If no default is set,
  296. # logging will go to stderr as defined by use_stderr. This option is ignored if
  297. # log_config_append is set. (string value)
  298. # Deprecated group/name - [DEFAULT]/logfile
  299. #log_file = <None>
  300. # (Optional) The base directory used for relative log_file paths. This option
  301. # is ignored if log_config_append is set. (string value)
  302. # Deprecated group/name - [DEFAULT]/logdir
  303. #log_dir = <None>
  304. # Uses logging handler designed to watch file system. When log file is moved or
  305. # removed this handler will open a new log file with specified path
  306. # instantaneously. It makes sense only if log_file option is specified and
  307. # Linux platform is used. This option is ignored if log_config_append is set.
  308. # (boolean value)
  309. #watch_log_file = false
  310. # Use syslog for logging. Existing syslog format is DEPRECATED and will be
  311. # changed later to honor RFC5424. This option is ignored if log_config_append
  312. # is set. (boolean value)
  313. #use_syslog = false
  314. # Enable journald for logging. If running in a systemd environment you may wish
  315. # to enable journal support. Doing so will use the journal native protocol
  316. # which includes structured metadata in addition to log messages.This option is
  317. # ignored if log_config_append is set. (boolean value)
  318. #use_journal = false
  319. # Syslog facility to receive log lines. This option is ignored if
  320. # log_config_append is set. (string value)
  321. #syslog_log_facility = LOG_USER
  322. # Log output to standard error. This option is ignored if log_config_append is
  323. # set. (boolean value)
  324. use_stderr = true
  325. # Format string to use for log messages with context. (string value)
  326. #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
  327. # Format string to use for log messages when context is undefined. (string
  328. # value)
  329. #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
  330. # Additional data to append to log message when logging level for the message
  331. # is DEBUG. (string value)
  332. #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
  333. # Prefix each line of exception output with this format. (string value)
  334. #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
  335. # Defines the format string for %(user_identity)s that is used in
  336. # logging_context_format_string. (string value)
  337. #logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
  338. # List of package logging levels in logger=LEVEL pairs. This option is ignored
  339. # if log_config_append is set. (list value)
  340. #default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
  341. # Enables or disables publication of error events. (boolean value)
  342. #publish_errors = false
  343. # The format for an instance that is passed with the log message. (string
  344. # value)
  345. #instance_format = "[instance: %(uuid)s] "
  346. # The format for an instance UUID that is passed with the log message. (string
  347. # value)
  348. #instance_uuid_format = "[instance: %(uuid)s] "
  349. # Interval, number of seconds, of log rate limiting. (integer value)
  350. #rate_limit_interval = 0
  351. # Maximum number of logged messages per rate_limit_interval. (integer value)
  352. #rate_limit_burst = 0
  353. # Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
  354. # or empty string. Logs with level greater or equal to rate_limit_except_level
  355. # are not filtered. An empty string means that all levels are filtered. (string
  356. # value)
  357. #rate_limit_except_level = CRITICAL
  358. # Enables or disables fatal status of deprecations. (boolean value)
  359. #fatal_deprecations = false
  360. [binding]
  361. # Configuration options for container interface binding.
  362. #
  363. # From kuryr_kubernetes
  364. #
  365. # Specifies the name of the Nova instance interface to link the virtual devices
  366. # to (only applicable to some binding drivers. (string value)
  367. link_iface = {{ kuryr_cni_link_interface }}
  368. [cni_daemon]
  369. #
  370. # From kuryr_kubernetes
  371. #
  372. # Enable CNI Daemon configuration. (boolean value)
  373. daemon_enabled = true
  374. # Bind address for CNI daemon HTTP server. It is recommened to allow only local
  375. # connections. (string value)
  376. bind_address = 127.0.0.1:50036
  377. # Maximum number of processes that will be spawned to process requests from CNI
  378. # driver. (integer value)
  379. #worker_num = 30
  380. # Time (in seconds) the CNI daemon will wait for VIF annotation to appear in
  381. # pod metadata before failing the CNI request. (integer value)
  382. #vif_annotation_timeout = 120
  383. # Kuryr uses pyroute2 library to manipulate networking interfaces. When
  384. # processing a high number of Kuryr requests in parallel, it may take kernel
  385. # more time to process all networking stack changes. This option allows to tune
  386. # internal pyroute2 timeout. (integer value)
  387. #pyroute2_timeout = 30
  388. # Set to True when you are running kuryr-daemon inside a Docker container on
  389. # Kubernetes host. E.g. as DaemonSet on Kubernetes cluster Kuryr is supposed to
  390. # provide networking for. This mainly means thatkuryr-daemon will look for
  391. # network namespaces in $netns_proc_dir instead of /proc. (boolean value)
  392. docker_mode = true
  393. # When docker_mode is set to True, this config option should be set to where
  394. # host's /proc directory is mounted. Please note that mounting it is necessary
  395. # to allow Kuryr-Kubernetes to move host interfaces between host network
  396. # namespaces, which is essential for Kuryr to work. (string value)
  397. netns_proc_dir = /host_proc
  398. [kubernetes]
  399. #
  400. # From kuryr_kubernetes
  401. #
  402. # The root URL of the Kubernetes API (string value)
  403. api_root = https://{{ kuryr_openstack_api_lb_ip }}:{{openshift_master_api_port}}
  404. # Absolute path to client cert to connect to HTTPS K8S_API (string value)
  405. # ssl_client_crt_file = /etc/kuryr/controller.crt
  406. # Absolute path client key file to connect to HTTPS K8S_API (string value)
  407. # ssl_client_key_file = /etc/kuryr/controller.key
  408. # Absolute path to ca cert file to connect to HTTPS K8S_API (string value)
  409. ssl_ca_crt_file = /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  410. # The token to talk to the k8s API
  411. token_file = /var/run/secrets/kubernetes.io/serviceaccount/token
  412. # HTTPS K8S_API server identity verification (boolean value)
  413. # TODO (apuimedo): Make configurable
  414. ssl_verify_server_crt = True
  415. # The driver to determine OpenStack project for pod ports (string value)
  416. pod_project_driver = default
  417. # The driver to determine OpenStack project for services (string value)
  418. service_project_driver = default
  419. # The driver to determine Neutron subnets for pod ports (string value)
  420. pod_subnets_driver = default
  421. # The driver to determine Neutron subnets for services (string value)
  422. service_subnets_driver = default
  423. # The driver to determine Neutron security groups for pods (string value)
  424. pod_security_groups_driver = default
  425. # The driver to determine Neutron security groups for services (string value)
  426. service_security_groups_driver = default
  427. # The driver that provides VIFs for Kubernetes Pods. (string value)
  428. pod_vif_driver = nested-vlan
  429. # The driver that manages VIFs pools for Kubernetes Pods (string value)
  430. vif_pool_driver = {{ kuryr_openstack_pool_driver }}
  431. # Time (in seconds) the watcher retries watching for. (integer value)
  432. watch_retry_timeout = 3600
  433. [neutron]
  434. # Configuration options for OpenStack Neutron
  435. #
  436. # From kuryr_kubernetes
  437. #
  438. # Authentication URL (string value)
  439. auth_url = {{ kuryr_openstack_auth_url }}
  440. # Authentication type to load (string value)
  441. # Deprecated group/name - [neutron]/auth_plugin
  442. auth_type = password
  443. # Domain ID to scope to (string value)
  444. user_domain_name = {{ kuryr_openstack_user_domain_name }}
  445. # User's password (string value)
  446. password = {{ kuryr_openstack_password }}
  447. # Domain name containing project (string value)
  448. project_domain_name = {{ kuryr_openstack_project_domain_name }}
  449. # Project ID to scope to (string value)
  450. # Deprecated group/name - [neutron]/tenant-id
  451. project_id = {{ kuryr_openstack_project_id }}
  452. # Token (string value)
  453. #token = <None>
  454. # Trust ID (string value)
  455. #trust_id = <None>
  456. # User's domain id (string value)
  457. #user_domain_id = <None>
  458. # User id (string value)
  459. #user_id = <None>
  460. # Username (string value)
  461. # Deprecated group/name - [neutron]/user-name
  462. username = {{kuryr_openstack_username }}
  463. # Whether a plugging operation is failed if the port to plug does not become
  464. # active (boolean value)
  465. #vif_plugging_is_fatal = false
  466. # Seconds to wait for port to become active (integer value)
  467. #vif_plugging_timeout = 0
  468. [neutron_defaults]
  469. ovs_bridge = br-int
  470. pod_security_groups = {{ kuryr_openstack_pod_sg_id }}
  471. pod_subnet = {{ kuryr_openstack_pod_subnet_id }}
  472. service_subnet = {{ kuryr_openstack_service_subnet_id }}
  473. project = {{ kuryr_openstack_pod_project_id }}
  474. # TODO (apuimedo): Remove the duplicated line just after this one once the
  475. # RDO packaging contains the upstream patch
  476. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  477. [pod_vif_nested]
  478. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  479. [pool_manager]
  480. #
  481. # From kuryr_kubernetes
  482. #
  483. # Absolute path to socket file that will be used for communication with the
  484. # Pool Manager daemon (string value)
  485. #sock_file = /run/kuryr/kuryr_manage.sock
  486. [vif_pool]
  487. #
  488. # From kuryr_kubernetes
  489. #
  490. # Set a maximun amount of ports per pool. 0 to disable (integer value)
  491. ports_pool_max = {{ kuryr_openstack_pool_max | default(0) }}
  492. # Set a target minimum size of the pool of ports (integer value)
  493. ports_pool_min = {{ kuryr_openstack_pool_min | default(1) }}
  494. # Number of ports to be created in a bulk request (integer value)
  495. ports_pool_batch = {{ kuryr_openstack_pool_batch | default(5) }}
  496. # Minimun interval (in seconds) between pool updates (integer value)
  497. ports_pool_update_frequency = {{ kuryr_openstack_pool_update_frequency | default(20) }}
  498. [cni_health_server]
  499. port = {{ kuryr_cni_healthcheck_port }}
  500. # Maximum memory usage (MiB) before kuryr-daemon is marked as unhealthy
  501. max_memory_usage = -1