# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Default values for cinder.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value

replicas:
  api: 1
  volume: 1
  scheduler: 1
  backup: 1

labels:
  node_selector_key: openstack-control-plane
  node_selector_value: enabled

images:
  db_init: docker.io/kolla/ubuntu-source-cinder-api:3.0.3
  db_sync: docker.io/kolla/ubuntu-source-cinder-api:3.0.3
  ks_user: docker.io/kolla/ubuntu-source-kolla-toolbox:3.0.3
  ks_service: docker.io/kolla/ubuntu-source-kolla-toolbox:3.0.3
  ks_endpoints: docker.io/kolla/ubuntu-source-kolla-toolbox:3.0.3
  api: docker.io/kolla/ubuntu-source-cinder-api:3.0.3
  bootstrap: docker.io/kolla/ubuntu-source-cinder-api:3.0.3
  scheduler: docker.io/kolla/ubuntu-source-cinder-scheduler:3.0.3
  volume: docker.io/kolla/ubuntu-source-cinder-volume:3.0.3
  backup: docker.io/kolla/ubuntu-source-cinder-backup:3.0.3
  dep_check: docker.io/kolla/ubuntu-source-kubernetes-entrypoint:4.0.0
  pull_policy: "IfNotPresent"

upgrades:
  revision_history: 3
  pod_replacement_strategy: RollingUpdate
  rolling_update:
    max_unavailable: 1
    max_surge: 3

pod_disruption_budget:
  api:
    min_available: 0

termination_grace_period:
  api:
    timeout: 30

bootstrap:
  enabled: true
  bootstrap_conf_backends: true
  volume_types:
    name:
      group:
      volume_backend_name:

keystone:
  admin_user: "admin"
  admin_user_domain: "default"
  admin_password: "password"
  admin_project_name: "admin"
  admin_project_domain: "default"
  admin_region_name: "RegionOne"
  cinder_user_role: "admin"

network:
  api:
    name: "cinder-api"
    node_port:
      enabled: false
      port: 30877

conf:
  paste:
    override:
    append:
  policy:
    override:
    append:
  rootwrap:
    override:
    append:
  ceph:
    override:
    append:
    monitors: []
    cinder_keyring: null
  cinder:
    override:
    append:
    database:
      oslo:
        db:
          max_retries: -1
    default:
      oslo:
        log:
          debug: false
          use_syslog: false
          use_stderr: true
      cinder:
        enable_v1_api: false
        volume_name_template: "%s"
        osapi_volume_workers: 8
        glance_api_version: 2
        os_region_name: RegionOne
        host: cinder-volume-worker
        osapi_volume_listen_port: 8776
        enabled_backends: "rbd1"
        backup_driver: "cinder.backup.drivers.ceph"
        backup_ceph_conf: "/etc/ceph/ceph.conf"
        backup_ceph_user: admin
        backup_ceph_pool: backups
    keystone_authtoken:
      keystonemiddleware:
        auth_token:
          auth_version: v3
          auth_type: password
          region_name: RegionOne
          project_domain_name: default
          project_name: service
          user_domain_name: default
          username: cinder
          password: password
    oslo_concurrency:
      oslo:
        concurrency:
          lock_path: "/var/lib/cinder/tmp"
  backends:
    override:
    append:
    # Those options will be written to backends.conf as-is.
    rbd1:
      volume_driver: cinder.volume.drivers.rbd.RBDDriver
      volume_backend_name: rbd1
      rbd_pool: volumes
      rbd_ceph_conf: "/etc/ceph/ceph.conf"
      rbd_flatten_volume_from_snapshot: false
      rbd_max_clone_depth: 5
      rbd_store_chunk_size: 4
      rados_connect_timeout: -1
      rbd_user: "admin"

dependencies:
  db_init:
    service:
    - mariadb
  db_sync:
    jobs:
    - cinder-db-init
    service:
    - mariadb
  ks_user:
    service:
    - keystone-api
  ks_service:
    service:
    - keystone-api
  ks_endpoints:
    jobs:
    - cinder-ks-service
    service:
    - keystone-api
  api:
    jobs:
    - cinder-db-sync
    - cinder-ks-user
    - cinder-ks-endpoints
    service:
    - mariadb
    - keystone-api
  bootstrap:
    service:
    - keystone-api
    - cinder-api
  volume:
    jobs:
    - cinder-db-sync
    - cinder-ks-user
    - cinder-ks-endpoints
    service:
    - keystone-api
    - cinder-api
  scheduler:
    jobs:
    - cinder-db-sync
    - cinder-ks-user
    - cinder-ks-endpoints
    service:
    - keystone-api
    - cinder-api
  volume:
    jobs:
    - cinder-db-sync
    - cinder-ks-user
    - cinder-ks-endpoints
    service:
    - keystone-api
    - cinder-api

# We use a different layout of the endpoints here to account for versioning
# this swaps the service name and type, and should be rolled out to other
# services.
endpoints:
  identity:
    name: keystone
    hosts:
      default: keystone-api
    path: /v3
    scheme: 'http'
    port:
      admin: 35357
      api: 5000
  image:
    name: glance
    hosts:
      default: glance-api
    path: null
    scheme: 'http'
    port:
      api: 9292
      registry: 9191
  volume:
    name: cinder
    hosts:
      default: cinder-api
    path: '/v1/%(tenant_id)s'
    scheme: 'http'
    port:
      api: 8776
  volumev2:
    name: cinder
    hosts:
      default: cinder-api
    path: '/v2/%(tenant_id)s'
    scheme: 'http'
    port:
      api: 8776
  volumev3:
    name: cinder
    hosts:
      default: cinder-api
    path: '/v3/%(tenant_id)s'
    scheme: 'http'
    port:
      api: 8776
  oslo_db:
    auth:
      admin:
        username: root
        password: password
      user:
        username: cinder
        password: password
    hosts:
      default: mariadb
    path: /cinder
    scheme: mysql+pymysql
    port:
      mysql: 3306
  oslo_messaging:
    auth:
      admin:
        username: admin
        password: password
      user:
        username: rabbitmq
        password: password
    hosts:
      default: rabbitmq
    path: /
    scheme: rabbit
    port:
      amqp: 5672
  oslo_cache:
    hosts:
      default: memcache
    port:
      memcache: 11211

resources:
  enabled: false
  cinder_api:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_bootstrap:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_scheduler:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_volume:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_backup:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_db_init:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_db_sync:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_ks_endpoints:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_ks_service:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"
  cinder_ks_user:
    requests:
      memory: "124Mi"
      cpu: "100m"
    limits:
      memory: "1024Mi"
      cpu: "2000m"

mounts:
  cinder_api:
    init_container: null
    cinder_api:
  cinder_scheduler:
    init_container: null
    cinder_scheduler:
  cinder_volume:
    init_container: null
    cinder_volume:
  cinder_backup:
    init_container: null
    cinder_backup: