configmap.yaml.j2 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  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 = {{ openshift_kuryr_sg_driver|default('default') }}
  169. # The driver to determine Neutron security groups for services (string value)
  170. service_security_groups_driver = {{ openshift_kuryr_sg_driver|default('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. {% if openshift_kuryr_sg_driver|default('default') == 'namespace' %}
  241. [namespace_sg]
  242. sg_allow_from_namespaces = {{ kuryr_openstack_sg_allow_from_namespace_id }}
  243. sg_allow_from_default = {{ kuryr_openstack_sg_allow_from_default_id }}
  244. {% endif %}
  245. # Time (in seconds) that Kuryr controller waits for LBaaS to be activated
  246. lbaas_activation_timeout = 1200
  247. [pod_vif_nested]
  248. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  249. [pool_manager]
  250. #
  251. # From kuryr_kubernetes
  252. #
  253. # Absolute path to socket file that will be used for communication with the
  254. # Pool Manager daemon (string value)
  255. #sock_file = /run/kuryr/kuryr_manage.sock
  256. [vif_pool]
  257. #
  258. # From kuryr_kubernetes
  259. #
  260. # Set a maximun amount of ports per pool. 0 to disable (integer value)
  261. ports_pool_max = {{ kuryr_openstack_pool_max | default(0) }}
  262. # Set a target minimum size of the pool of ports (integer value)
  263. ports_pool_min = {{ kuryr_openstack_pool_min | default(1) }}
  264. # Number of ports to be created in a bulk request (integer value)
  265. ports_pool_batch = {{ kuryr_openstack_pool_batch | default(5) }}
  266. # Minimun interval (in seconds) between pool updates (integer value)
  267. ports_pool_update_frequency = {{ kuryr_openstack_pool_update_frequency | default(20) }}
  268. # Pod VIF drivers vs Pool Drivers mapping allowed
  269. pools_vif_drivers = nested:nested-vlan,neutron:neutron-vif
  270. [health_server]
  271. port = {{ kuryr_controller_healthcheck_port }}
  272. kuryr-cni.conf: |+
  273. [DEFAULT]
  274. #
  275. # From kuryr_kubernetes
  276. #
  277. # Directory for Kuryr vif binding executables. (string value)
  278. #bindir = /usr/libexec/kuryr
  279. # Neutron subnetpool name will be prefixed by this. (string value)
  280. #subnetpool_name_prefix = kuryrPool
  281. # baremetal or nested-containers are the supported values. (string value)
  282. #deployment_type = baremetal
  283. # If set to true, the logging level will be set to DEBUG instead of the default
  284. # INFO level. (boolean value)
  285. # Note: This option can be changed without restarting.
  286. #debug = false
  287. # The name of a logging configuration file. This file is appended to any
  288. # existing logging configuration files. For details about logging configuration
  289. # files, see the Python logging module documentation. Note that when logging
  290. # configuration files are used then all logging configuration is set in the
  291. # configuration file and other logging configuration options are ignored (for
  292. # example, logging_context_format_string). (string value)
  293. # Note: This option can be changed without restarting.
  294. # Deprecated group/name - [DEFAULT]/log_config
  295. #log_config_append = <None>
  296. # Defines the format string for %%(asctime)s in log records. Default:
  297. # %(default)s . This option is ignored if log_config_append is set. (string
  298. # value)
  299. #log_date_format = %Y-%m-%d %H:%M:%S
  300. # (Optional) Name of log file to send logging output to. If no default is set,
  301. # logging will go to stderr as defined by use_stderr. This option is ignored if
  302. # log_config_append is set. (string value)
  303. # Deprecated group/name - [DEFAULT]/logfile
  304. #log_file = <None>
  305. # (Optional) The base directory used for relative log_file paths. This option
  306. # is ignored if log_config_append is set. (string value)
  307. # Deprecated group/name - [DEFAULT]/logdir
  308. #log_dir = <None>
  309. # Uses logging handler designed to watch file system. When log file is moved or
  310. # removed this handler will open a new log file with specified path
  311. # instantaneously. It makes sense only if log_file option is specified and
  312. # Linux platform is used. This option is ignored if log_config_append is set.
  313. # (boolean value)
  314. #watch_log_file = false
  315. # Use syslog for logging. Existing syslog format is DEPRECATED and will be
  316. # changed later to honor RFC5424. This option is ignored if log_config_append
  317. # is set. (boolean value)
  318. #use_syslog = false
  319. # Enable journald for logging. If running in a systemd environment you may wish
  320. # to enable journal support. Doing so will use the journal native protocol
  321. # which includes structured metadata in addition to log messages.This option is
  322. # ignored if log_config_append is set. (boolean value)
  323. #use_journal = false
  324. # Syslog facility to receive log lines. This option is ignored if
  325. # log_config_append is set. (string value)
  326. #syslog_log_facility = LOG_USER
  327. # Log output to standard error. This option is ignored if log_config_append is
  328. # set. (boolean value)
  329. use_stderr = true
  330. # Format string to use for log messages with context. (string value)
  331. #logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
  332. # Format string to use for log messages when context is undefined. (string
  333. # value)
  334. #logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
  335. # Additional data to append to log message when logging level for the message
  336. # is DEBUG. (string value)
  337. #logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
  338. # Prefix each line of exception output with this format. (string value)
  339. #logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
  340. # Defines the format string for %(user_identity)s that is used in
  341. # logging_context_format_string. (string value)
  342. #logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
  343. # List of package logging levels in logger=LEVEL pairs. This option is ignored
  344. # if log_config_append is set. (list value)
  345. #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
  346. # Enables or disables publication of error events. (boolean value)
  347. #publish_errors = false
  348. # The format for an instance that is passed with the log message. (string
  349. # value)
  350. #instance_format = "[instance: %(uuid)s] "
  351. # The format for an instance UUID that is passed with the log message. (string
  352. # value)
  353. #instance_uuid_format = "[instance: %(uuid)s] "
  354. # Interval, number of seconds, of log rate limiting. (integer value)
  355. #rate_limit_interval = 0
  356. # Maximum number of logged messages per rate_limit_interval. (integer value)
  357. #rate_limit_burst = 0
  358. # Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
  359. # or empty string. Logs with level greater or equal to rate_limit_except_level
  360. # are not filtered. An empty string means that all levels are filtered. (string
  361. # value)
  362. #rate_limit_except_level = CRITICAL
  363. # Enables or disables fatal status of deprecations. (boolean value)
  364. #fatal_deprecations = false
  365. [binding]
  366. # Configuration options for container interface binding.
  367. #
  368. # From kuryr_kubernetes
  369. #
  370. # Specifies the name of the Nova instance interface to link the virtual devices
  371. # to (only applicable to some binding drivers. (string value)
  372. link_iface = {{ kuryr_cni_link_interface }}
  373. [cni_daemon]
  374. #
  375. # From kuryr_kubernetes
  376. #
  377. # Enable CNI Daemon configuration. (boolean value)
  378. daemon_enabled = true
  379. # Bind address for CNI daemon HTTP server. It is recommened to allow only local
  380. # connections. (string value)
  381. bind_address = 127.0.0.1:50036
  382. # Maximum number of processes that will be spawned to process requests from CNI
  383. # driver. (integer value)
  384. #worker_num = 30
  385. # Time (in seconds) the CNI daemon will wait for VIF annotation to appear in
  386. # pod metadata before failing the CNI request. (integer value)
  387. #vif_annotation_timeout = 120
  388. # Kuryr uses pyroute2 library to manipulate networking interfaces. When
  389. # processing a high number of Kuryr requests in parallel, it may take kernel
  390. # more time to process all networking stack changes. This option allows to tune
  391. # internal pyroute2 timeout. (integer value)
  392. #pyroute2_timeout = 30
  393. # Set to True when you are running kuryr-daemon inside a Docker container on
  394. # Kubernetes host. E.g. as DaemonSet on Kubernetes cluster Kuryr is supposed to
  395. # provide networking for. This mainly means thatkuryr-daemon will look for
  396. # network namespaces in $netns_proc_dir instead of /proc. (boolean value)
  397. docker_mode = true
  398. # When docker_mode is set to True, this config option should be set to where
  399. # host's /proc directory is mounted. Please note that mounting it is necessary
  400. # to allow Kuryr-Kubernetes to move host interfaces between host network
  401. # namespaces, which is essential for Kuryr to work. (string value)
  402. netns_proc_dir = /host_proc
  403. [kubernetes]
  404. #
  405. # From kuryr_kubernetes
  406. #
  407. # The root URL of the Kubernetes API (string value)
  408. api_root = https://{{ kuryr_openstack_api_lb_ip }}:{{openshift_master_api_port}}
  409. # Absolute path to client cert to connect to HTTPS K8S_API (string value)
  410. # ssl_client_crt_file = /etc/kuryr/controller.crt
  411. # Absolute path client key file to connect to HTTPS K8S_API (string value)
  412. # ssl_client_key_file = /etc/kuryr/controller.key
  413. # Absolute path to ca cert file to connect to HTTPS K8S_API (string value)
  414. ssl_ca_crt_file = /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  415. # The token to talk to the k8s API
  416. token_file = /var/run/secrets/kubernetes.io/serviceaccount/token
  417. # HTTPS K8S_API server identity verification (boolean value)
  418. # TODO (apuimedo): Make configurable
  419. ssl_verify_server_crt = True
  420. # The driver to determine OpenStack project for pod ports (string value)
  421. pod_project_driver = default
  422. # The driver to determine OpenStack project for services (string value)
  423. service_project_driver = default
  424. # The driver to determine Neutron subnets for pod ports (string value)
  425. pod_subnets_driver = default
  426. # The driver to determine Neutron subnets for services (string value)
  427. service_subnets_driver = default
  428. # The driver to determine Neutron security groups for pods (string value)
  429. pod_security_groups_driver = default
  430. # The driver to determine Neutron security groups for services (string value)
  431. service_security_groups_driver = default
  432. # The driver that provides VIFs for Kubernetes Pods. (string value)
  433. pod_vif_driver = nested-vlan
  434. # The driver that manages VIFs pools for Kubernetes Pods (string value)
  435. vif_pool_driver = {{ kuryr_openstack_pool_driver }}
  436. # Time (in seconds) the watcher retries watching for. (integer value)
  437. watch_retry_timeout = 3600
  438. [neutron]
  439. # Configuration options for OpenStack Neutron
  440. #
  441. # From kuryr_kubernetes
  442. #
  443. # Authentication URL (string value)
  444. auth_url = {{ kuryr_openstack_auth_url }}
  445. # Authentication type to load (string value)
  446. # Deprecated group/name - [neutron]/auth_plugin
  447. auth_type = password
  448. # Domain ID to scope to (string value)
  449. user_domain_name = {{ kuryr_openstack_user_domain_name }}
  450. # User's password (string value)
  451. password = {{ kuryr_openstack_password }}
  452. # Domain name containing project (string value)
  453. project_domain_name = {{ kuryr_openstack_project_domain_name }}
  454. # Project ID to scope to (string value)
  455. # Deprecated group/name - [neutron]/tenant-id
  456. project_id = {{ kuryr_openstack_project_id }}
  457. # Token (string value)
  458. #token = <None>
  459. # Trust ID (string value)
  460. #trust_id = <None>
  461. # User's domain id (string value)
  462. #user_domain_id = <None>
  463. # User id (string value)
  464. #user_id = <None>
  465. # Username (string value)
  466. # Deprecated group/name - [neutron]/user-name
  467. username = {{kuryr_openstack_username }}
  468. # Whether a plugging operation is failed if the port to plug does not become
  469. # active (boolean value)
  470. #vif_plugging_is_fatal = false
  471. # Seconds to wait for port to become active (integer value)
  472. #vif_plugging_timeout = 0
  473. [neutron_defaults]
  474. ovs_bridge = br-int
  475. pod_security_groups = {{ kuryr_openstack_pod_sg_id }}
  476. pod_subnet = {{ kuryr_openstack_pod_subnet_id }}
  477. service_subnet = {{ kuryr_openstack_service_subnet_id }}
  478. project = {{ kuryr_openstack_pod_project_id }}
  479. # TODO (apuimedo): Remove the duplicated line just after this one once the
  480. # RDO packaging contains the upstream patch
  481. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  482. [pod_vif_nested]
  483. worker_nodes_subnet = {{ kuryr_openstack_worker_nodes_subnet_id }}
  484. [pool_manager]
  485. #
  486. # From kuryr_kubernetes
  487. #
  488. # Absolute path to socket file that will be used for communication with the
  489. # Pool Manager daemon (string value)
  490. #sock_file = /run/kuryr/kuryr_manage.sock
  491. [vif_pool]
  492. #
  493. # From kuryr_kubernetes
  494. #
  495. # Set a maximun amount of ports per pool. 0 to disable (integer value)
  496. ports_pool_max = {{ kuryr_openstack_pool_max | default(0) }}
  497. # Set a target minimum size of the pool of ports (integer value)
  498. ports_pool_min = {{ kuryr_openstack_pool_min | default(1) }}
  499. # Number of ports to be created in a bulk request (integer value)
  500. ports_pool_batch = {{ kuryr_openstack_pool_batch | default(5) }}
  501. # Minimun interval (in seconds) between pool updates (integer value)
  502. ports_pool_update_frequency = {{ kuryr_openstack_pool_update_frequency | default(20) }}
  503. [cni_health_server]
  504. port = {{ kuryr_cni_healthcheck_port }}
  505. # Maximum memory usage (MiB) before kuryr-daemon is marked as unhealthy
  506. max_memory_usage = -1