blob: 578d9478e1d01e130e14113ed0946cfc16de0d99 [file] [log] [blame]
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001# Copyright 2019 Intel Corporation.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# Default values for openstack-placement.
16# This is a YAML-formatted file.
17# Declare variables to be passed into your templates.
18
19---
20release_group: null
21
22labels:
23 api:
24 node_selector_key: openstack-control-plane
25 node_selector_value: enabled
26 job:
27 node_selector_key: openstack-control-plane
28 node_selector_value: enabled
29
30images:
31 pull_policy: IfNotPresent
32 tags:
33 placement: docker.io/openstackhelm/placement:stein-ubuntu_bionic
34 ks_user: docker.io/openstackhelm/heat:stein-ubuntu_bionic
35 ks_service: docker.io/openstackhelm/heat:stein-ubuntu_bionic
36 ks_endpoints: docker.io/openstackhelm/heat:stein-ubuntu_bionic
37 db_init: docker.io/openstackhelm/heat:stein-ubuntu_bionic
38 db_drop: docker.io/openstackhelm/heat:stein-ubuntu_bionic
39 db_migrate: quay.io/airshipit/porthole-mysqlclient-utility:latest-ubuntu_bionic
40 placement_db_sync: docker.io/openstackhelm/placement:stein-ubuntu_bionic
41 dep_check: quay.io/airshipit/kubernetes-entrypoint:v1.0.0
42 image_repo_sync: docker.io/docker:17.07.0
43 local_registry:
44 active: false
45 exclude:
46 - dep_check
47 - image_repo_sync
48
49network:
50 api:
51 port: 8778
52 ingress:
53 public: true
54 classes:
55 namespace: "nginx"
56 cluster: "nginx-cluster"
57 annotations:
58 nginx.ingress.kubernetes.io/rewrite-target: /
59 external_policy_local: false
60 node_port:
61 enabled: false
62 port: 30778
63
64conf:
65 software:
66 apache2:
67 binary: apache2
68 start_parameters: -DFOREGROUND
69 # Enable/Disable modules
70 # a2enmod:
71 # - headers
72 # - rewrite
73 # a2dismod:
74 # - status
75 a2enmod: null
76 a2dismod: null
77 policy:
78 "context_is_admin": "role:admin"
79 "admin_or_owner": "rule:context_is_admin or project_id:%(project_id)s"
80 "default": "rule:admin_or_owner"
81 "admin_api": "role:admin"
82 "placement:resource_providers:list": "rule:admin_api"
83 "placement:resource_providers:create": "rule:admin_api"
84 "placement:resource_providers:show": "rule:admin_api"
85 "placement:resource_providers:update": "rule:admin_api"
86 "placement:resource_providers:delete": "rule:admin_api"
87 "placement:resource_classes:list": "rule:admin_api"
88 "placement:resource_classes:create": "rule:admin_api"
89 "placement:resource_classes:show": "rule:admin_api"
90 "placement:resource_classes:update": "rule:admin_api"
91 "placement:resource_classes:delete": "rule:admin_api"
92 "placement:resource_providers:inventories:list": "rule:admin_api"
93 "placement:resource_providers:inventories:create": "rule:admin_api"
94 "placement:resource_providers:inventories:show": "rule:admin_api"
95 "placement:resource_providers:inventories:update": "rule:admin_api"
96 "placement:resource_providers:inventories:delete": "rule:admin_api"
97 "placement:resource_providers:aggregates:list": "rule:admin_api"
98 "placement:resource_providers:aggregates:update": "rule:admin_api"
99 "placement:resource_providers:usages": "rule:admin_api"
100 "placement:usages": "rule:admin_api"
101 "placement:traits:list": "rule:admin_api"
102 "placement:traits:show": "rule:admin_api"
103 "placement:traits:update": "rule:admin_api"
104 "placement:traits:delete": "rule:admin_api"
105 "placement:resource_providers:traits:list": "rule:admin_api"
106 "placement:resource_providers:traits:update": "rule:admin_api"
107 "placement:resource_providers:traits:delete": "rule:admin_api"
108 "placement:allocations:manage": "rule:admin_api"
109 "placement:allocations:list": "rule:admin_api"
110 "placement:allocations:update": "rule:admin_api"
111 "placement:allocations:delete": "rule:admin_api"
112 "placement:resource_providers:allocations:list": "rule:admin_api"
113 "placement:allocation_candidates:list": "rule:admin_api"
114 "placement:reshaper:reshape": "rule:admin_api"
115 placement:
116 DEFAULT:
117 debug: false
118 use_syslog: false
119 log_config_append: /etc/placement/logging.conf
120 placement_database:
121 connection: null
122 keystone_authtoken:
123 auth_version: v3
124 auth_type: password
125 memcache_security_strategy: ENCRYPT
126 logging:
127 loggers:
128 keys:
129 - root
130 - placement
131 handlers:
132 keys:
133 - stdout
134 - stderr
135 - "null"
136 formatters:
137 keys:
138 - context
139 - default
140 logger_root:
141 level: WARNING
142 handlers: 'null'
143 logger_placement:
144 level: INFO
145 handlers:
146 - stdout
147 qualname: placement
148 logger_amqp:
149 level: WARNING
150 handlers: stderr
151 qualname: amqp
152 logger_amqplib:
153 level: WARNING
154 handlers: stderr
155 qualname: amqplib
156 logger_eventletwsgi:
157 level: WARNING
158 handlers: stderr
159 qualname: eventlet.wsgi.server
160 logger_sqlalchemy:
161 level: WARNING
162 handlers: stderr
163 qualname: sqlalchemy
164 logger_boto:
165 level: WARNING
166 handlers: stderr
167 qualname: boto
168 handler_null:
169 class: logging.NullHandler
170 formatter: default
171 args: ()
172 handler_stdout:
173 class: StreamHandler
174 args: (sys.stdout,)
175 formatter: context
176 handler_stderr:
177 class: StreamHandler
178 args: (sys.stderr,)
179 formatter: context
180 formatter_context:
181 class: oslo_log.formatters.ContextFormatter
182 datefmt: "%Y-%m-%d %H:%M:%S"
183 formatter_default:
184 format: "%(message)s"
185 datefmt: "%Y-%m-%d %H:%M:%S"
186 wsgi_placement: |
187 Listen 0.0.0.0:{{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
188 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
189 LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
190 SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
191 CustomLog /dev/stdout combined env=!forwarded
192 CustomLog /dev/stdout proxy env=forwarded
193 <VirtualHost *:{{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
194 WSGIDaemonProcess placement-api processes=4 threads=1 user=placement group=placement display-name=%{GROUP}
195 WSGIProcessGroup placement-api
196 WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api
197 WSGIApplicationGroup %{GLOBAL}
198 WSGIPassAuthorization On
199 <IfVersion >= 2.4>
200 ErrorLogFormat "%{cu}t %M"
201 </IfVersion>
202 ErrorLog /dev/stdout
203 SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
204 CustomLog /dev/stdout combined env=!forwarded
205 CustomLog /dev/stdout proxy env=forwarded
206 </VirtualHost>
207 Alias /placement /var/www/cgi-bin/placement/placement-api
208 <Location /placement>
209 SetHandler wsgi-script
210 Options +ExecCGI
211 WSGIProcessGroup placement-api
212 WSGIApplicationGroup %{GLOBAL}
213 WSGIPassAuthorization On
214 </Location>
215
216endpoints:
217 cluster_domain_suffix: cluster.local
218 local_image_registry:
219 name: docker-registry
220 namespace: docker-registry
221 hosts:
222 default: localhost
223 internal: docker-registry
224 node: localhost
225 host_fqdn_override:
226 default: null
227 port:
228 registry:
229 node: 5000
230 oci_image_registry:
231 name: oci-image-registry
232 namespace: oci-image-registry
233 auth:
234 enabled: false
235 placement:
236 username: placement
237 password: password
238 hosts:
239 default: localhost
240 host_fqdn_override:
241 default: null
242 port:
243 registry:
244 default: null
245 oslo_db:
246 auth:
247 admin:
248 username: root
249 password: password
250 secret:
251 tls:
252 internal: mariadb-tls-direct
253 placement:
254 username: placement
255 password: password
256 # NOTE: This should be the username/password used to access the nova_api
257 # database. This is required only if database migration from nova to
258 # placement is desired.
259 nova_api:
260 username: nova
261 password: password
262 hosts:
263 default: mariadb
264 host_fqdn_override:
265 default: null
266 path: /placement
267 scheme: mysql+pymysql
268 port:
269 mysql:
270 default: 3306
271 oslo_cache:
272 auth:
273 # NOTE(portdirect): this is used to define the value for keystone
274 # authtoken cache encryption key, if not set it will be populated
275 # automatically with a random value, but to take advantage of
276 # this feature all services should be set to use the same key,
277 # and memcache service.
278 memcache_secret_key: null
279 hosts:
280 default: memcached
281 host_fqdn_override:
282 default: null
283 port:
284 memcache:
285 default: 11211
286 identity:
287 name: keystone
288 auth:
289 admin:
290 region_name: RegionOne
291 username: admin
292 password: password
293 project_name: admin
294 user_domain_name: default
295 project_domain_name: default
296 placement:
297 role: admin
298 region_name: RegionOne
299 username: placement
300 password: password
301 project_name: service
302 user_domain_name: service
303 project_domain_name: service
304 hosts:
305 default: keystone
306 internal: keystone-api
307 host_fqdn_override:
308 default: null
309 path:
310 default: /v3
311 scheme:
312 default: http
313 port:
314 api:
315 default: 80
316 internal: 5000
317 placement:
318 name: placement
319 hosts:
320 default: placement-api
321 public: placement
322 host_fqdn_override:
323 default: null
324 path:
325 default: /
326 scheme:
327 default: 'http'
328 port:
329 api:
330 default: 8778
331 public: 80
332
333pod:
334 security_context:
335 placement:
336 pod:
337 runAsUser: 42424
338 container:
339 placement_api:
340 readOnlyRootFilesystem: false
341 runAsUser: 0
342 placement_mysql_migration:
343 readOnlyRootFilesystem: false
344 runAsUser: 0
345 affinity:
346 anti:
347 type:
348 default: preferredDuringSchedulingIgnoredDuringExecution
349 topologyKey:
350 default: kubernetes.io/hostname
351 tolerations:
352 placement:
353 enabled: false
354 tolerations:
355 - key: node-role.kubernetes.io/master
356 operator: Exists
357 effect: NoSchedule
358 mounts:
359 placement:
360 init_container: null
361 placement:
362 volumeMounts:
363 volumes:
364 replicas:
365 api: 1
366 lifecycle:
367 upgrades:
368 deployments:
369 revision_history: 3
370 pod_replacement_strategy: RollingUpdate
371 rolling_update:
372 max_unavailable: 1
373 max_surge: 3
374 disruption_budget:
375 api:
376 min_available: 0
377 termination_grace_period:
378 api:
379 timeout: 30
380 resources:
381 enabled: false
382 api:
383 requests:
384 memory: "128Mi"
385 cpu: "100m"
386 limits:
387 memory: "1024Mi"
388 cpu: "2000m"
389 jobs:
390 db_init:
391 requests:
392 memory: "128Mi"
393 cpu: "100m"
394 limits:
395 memory: "1024Mi"
396 cpu: "2000m"
397 db_sync:
398 requests:
399 memory: "128Mi"
400 cpu: "100m"
401 limits:
402 memory: "1024Mi"
403 cpu: "2000m"
404 db_drop:
405 requests:
406 memory: "128Mi"
407 cpu: "100m"
408 limits:
409 memory: "1024Mi"
410 cpu: "2000m"
411 db_migrate:
412 requests:
413 memory: "128Mi"
414 cpu: "100m"
415 limits:
416 memory: "1024Mi"
417 cpu: "2000m"
418 ks_endpoints:
419 requests:
420 memory: "128Mi"
421 cpu: "100m"
422 limits:
423 memory: "1024Mi"
424 cpu: "2000m"
425 ks_service:
426 requests:
427 memory: "128Mi"
428 cpu: "100m"
429 limits:
430 memory: "1024Mi"
431 cpu: "2000m"
432 ks_user:
433 requests:
434 memory: "128Mi"
435 cpu: "100m"
436 limits:
437 memory: "1024Mi"
438 cpu: "2000m"
439
440secrets:
441 identity:
442 admin: placement-keystone-admin
443 placement: placement-keystone-user
444 oslo_db:
445 admin: placement-db-admin
446 placement: placement-db-user
447 tls:
448 placement:
449 api:
450 public: placement-tls-public
451 internal: placement-tls-api
452 oci_image_registry:
453 placement: placement-oci-image-registry
454
455dependencies:
456 dynamic:
457 common:
458 local_image_registry:
459 jobs:
460 - image-repo-sync
461 services:
462 - endpoint: node
463 service: local_image_registry
464 static:
465 api:
466 jobs:
467 - placement-db-sync
468 - placement-ks-service
469 - placement-ks-user
470 - placement-ks-endpoints
471 ks_endpoints:
472 jobs:
473 - placement-ks-user
474 - placement-ks-service
475 services:
476 - endpoint: internal
477 service: identity
478 ks_service:
479 services:
480 - endpoint: internal
481 service: identity
482 ks_user:
483 services:
484 - endpoint: internal
485 service: identity
486 db_drop:
487 services:
488 - endpoint: internal
489 service: oslo_db
490 db_init:
491 services:
492 - endpoint: internal
493 service: oslo_db
494 db_migrate:
495 jobs:
496 - placement-db-init
497 - nova-db-sync
498 services:
499 - endpoint: internal
500 service: oslo_db
501 db_sync:
502 jobs:
503 - placement-db-init
504 # NOTE: This needs to be enabled if placement migration is required.
505 # - placement-db-migrate
506 services:
507 - endpoint: internal
508 service: oslo_db
509
510# NOTE(helm_hook): helm_hook might break for helm2 binary.
511# set helm3_hook: false when using the helm2 binary.
512helm3_hook: true
513
514manifests:
515 certificates: false
516 configmap_bin: true
517 configmap_etc: true
518 deployment: true
519 job_image_repo_sync: true
520 job_db_init: true
521 job_db_sync: true
522 job_db_drop: false
523 job_db_migrate: false
524 job_ks_endpoints: true
525 job_ks_service: true
526 job_ks_user: true
527 network_policy: false
528 secret_db: true
529 secret_ingress_tls: true
530 secret_registry: true
531 pdb: true
532 ingress: true
533 secret_keystone: true
534 service_ingress: true
535 service: true
536...