342 lines
9.4 KiB
YAML
342 lines
9.4 KiB
YAML
---
|
|
schema: armada/Chart/v1
|
|
metadata:
|
|
schema: metadata/Document/v1
|
|
name: ucp-ceph-client-update-global
|
|
layeringDefinition:
|
|
abstract: true
|
|
layer: global
|
|
storagePolicy: cleartext
|
|
labels:
|
|
name: ucp-ceph-client-update-global
|
|
substitutions:
|
|
# Chart source
|
|
- src:
|
|
schema: pegleg/SoftwareVersions/v1
|
|
name: software-versions
|
|
path: .charts.ucp.ceph-client
|
|
dest:
|
|
path: .source
|
|
|
|
# Images
|
|
- src:
|
|
schema: pegleg/SoftwareVersions/v1
|
|
name: software-versions
|
|
path: .images.ceph.ceph-client
|
|
dest:
|
|
path: .values.images.tags
|
|
|
|
# IP addresses
|
|
- src:
|
|
schema: pegleg/CommonAddresses/v1
|
|
name: common-addresses
|
|
path: .storage.ceph.public_cidr
|
|
dest:
|
|
path: .values.network.public
|
|
- src:
|
|
schema: pegleg/CommonAddresses/v1
|
|
name: common-addresses
|
|
path: .storage.ceph.cluster_cidr
|
|
dest:
|
|
path: .values.network.cluster
|
|
|
|
# Endpoints
|
|
- src:
|
|
schema: pegleg/EndpointCatalogue/v1
|
|
name: ucp_endpoints
|
|
path: .ceph.ceph_mon
|
|
dest:
|
|
path: .values.endpoints.ceph_mon
|
|
- src:
|
|
schema: pegleg/EndpointCatalogue/v1
|
|
name: ucp_endpoints
|
|
path: .ceph.ceph_mgr
|
|
dest:
|
|
path: .values.endpoints.ceph_mgr
|
|
|
|
# Secrets
|
|
- dest:
|
|
path: .values.conf.ceph.global.fsid
|
|
src:
|
|
schema: deckhand/Passphrase/v1
|
|
name: ceph_fsid
|
|
path: .
|
|
|
|
data:
|
|
chart_name: ucp-ceph-client
|
|
release: ucp-ceph-client
|
|
namespace: ceph
|
|
protected:
|
|
continue_processing: false
|
|
wait:
|
|
timeout: 7200
|
|
labels:
|
|
release_group: clcp-ucp-ceph-client
|
|
resources:
|
|
- type: deployment
|
|
min_ready: 1
|
|
- type: job
|
|
native:
|
|
enabled: false
|
|
install:
|
|
no_hooks: false
|
|
upgrade:
|
|
no_hooks: false
|
|
pre:
|
|
delete:
|
|
- type: job
|
|
labels:
|
|
release_group: clcp-ucp-ceph-client
|
|
- type: pod
|
|
labels:
|
|
release_group: clcp-ucp-ceph-client
|
|
component: test
|
|
test:
|
|
enabled: true
|
|
values:
|
|
manifests:
|
|
job_bootstrap: true
|
|
cronjob_defragosds: false
|
|
labels:
|
|
job:
|
|
node_selector_key: ucp-control-plane
|
|
node_selector_value: enabled
|
|
mds:
|
|
node_selector_key: ceph-mds
|
|
node_selector_value: enabled
|
|
mgr:
|
|
node_selector_key: ceph-mgr
|
|
node_selector_value: enabled
|
|
endpoints:
|
|
ceph_mon:
|
|
namespace: ceph
|
|
deployment:
|
|
ceph: true
|
|
ceph_mgr_enabled_modules:
|
|
- restful
|
|
- status
|
|
- prometheus
|
|
- balancer
|
|
- iostat
|
|
bootstrap:
|
|
# Placed here to run after main ceph compoents laid down/updated
|
|
enabled: true
|
|
script: |
|
|
set -x
|
|
DESIRED_VERSION="nautilus"
|
|
ADDITIONAL_VERSIONS=1
|
|
while [ $ADDITIONAL_VERSIONS -gt 0 ]; do
|
|
sleep 5
|
|
ADDITIONAL_VERSIONS=$(ceph tell osd.* version --format json | awk -F 'osd.[0-9]*: ' '/^osd/ { print $2}' | jq -r '.version' | awk '{ print $(NF-1) }' | uniq | grep -v ${DESIRED_VERSION} | wc -l )
|
|
done
|
|
while [[ `ceph pg ls | tail -n +2 | grep -v "active+\|NOTE"` ]]
|
|
do
|
|
sleep 5
|
|
done
|
|
jobs:
|
|
pool_checkPGs:
|
|
# Run once a month at midnight of the first day of the month
|
|
cron: "0 0 1 * *"
|
|
history:
|
|
# Number of successful job to keep
|
|
successJob: 1
|
|
# Number of failed job to keep
|
|
failJob: 1
|
|
concurrency:
|
|
# Skip new job if previous job still active
|
|
execPolicy: Forbid
|
|
startingDeadlineSecs: 60
|
|
rbd_pool:
|
|
restartPolicy: Never
|
|
pod:
|
|
mandatory_access_control:
|
|
type: apparmor
|
|
ceph-checkdns:
|
|
ceph-checkdns: runtime/default
|
|
init: runtime/default
|
|
ceph-mds:
|
|
ceph-mds: runtime/default
|
|
ceph-init-dirs: runtime/default
|
|
ceph-mgr:
|
|
ceph-mgr: runtime/default
|
|
ceph-init-dirs: runtime/default
|
|
ceph-rbd-pool:
|
|
ceph-rbd-pool: runtime/default
|
|
init: runtime/default
|
|
ceph-client-bootstrap:
|
|
ceph-client-bootstrap: runtime/default
|
|
init: runtime/default
|
|
ceph-client-test:
|
|
ceph-cluster-helm-test: runtime/default
|
|
init: runtime/default
|
|
affinity:
|
|
anti:
|
|
type:
|
|
default: requiredDuringSchedulingIgnoredDuringExecution
|
|
replicas:
|
|
mds: 3
|
|
mgr: 3
|
|
lifecycle:
|
|
upgrades:
|
|
deployments:
|
|
pod_replacement_strategy: RollingUpdate
|
|
rolling_update:
|
|
max_unavailable: 50%
|
|
resources:
|
|
enabled: true
|
|
mds:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "2Gi"
|
|
cpu: "2000m"
|
|
mgr:
|
|
requests:
|
|
memory: "2Gi"
|
|
cpu: "2000m"
|
|
limits:
|
|
memory: "8Gi"
|
|
cpu: "4000m"
|
|
checkdns:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "1Gi"
|
|
cpu: "1000m"
|
|
jobs:
|
|
bootstrap:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "1Gi"
|
|
cpu: "1000m"
|
|
image_repo_sync:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "1Gi"
|
|
cpu: "1000m"
|
|
rbd_pool:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "1Gi"
|
|
cpu: "1000m"
|
|
tests:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "1Gi"
|
|
cpu: "1000m"
|
|
|
|
conf:
|
|
features:
|
|
# NOTE(st053q): If autoscaler is disabled, then
|
|
# mon_pg_warn_max_object_skew should not be 0 in ceph.conf
|
|
pg_autoscaler: false
|
|
pool:
|
|
spec:
|
|
# Health metrics pool
|
|
- name: device_health_metrics
|
|
application: mgr_devicehealth
|
|
replication: 3
|
|
percent_total_data: 5
|
|
# RBD pool
|
|
- name: rbd
|
|
application: rbd
|
|
replication: 3
|
|
percent_total_data: 15
|
|
# CephFS pools
|
|
- name: cephfs_metadata
|
|
application: cephfs
|
|
replication: 3
|
|
percent_total_data: 1
|
|
- name: cephfs_data
|
|
application: cephfs
|
|
replication: 3
|
|
percent_total_data: 2.5
|
|
# RadosGW pools
|
|
- name: .rgw.root
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.control
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.log
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 5
|
|
- name: default.rgw.intent-log
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.meta
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.usage
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.users.uid
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.buckets.non-ec
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 0.1
|
|
- name: default.rgw.buckets.index
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 3
|
|
- name: default.rgw.buckets.data
|
|
application: rgw
|
|
replication: 3
|
|
percent_total_data: 34.8
|
|
# NOTE(alanmeadowS) spport 4.x 16.04 kernels (non-HWE)
|
|
crush:
|
|
tunables: 'hammer'
|
|
|
|
# NOTE(alanmeadows): This is required ATM for bootstrapping a Ceph
|
|
# cluster with only one OSD. Depending on OSD targeting & site
|
|
# configuration this can be changed.
|
|
target:
|
|
osd: 1
|
|
pg_per_osd: 100
|
|
pg_num_min: 1
|
|
protected: true
|
|
# NOTE: 'quota' represents a scaler for effective capacity of cluster
|
|
# as a percent value. Setting it to anything more than 100 will mean
|
|
# that if all pools completely use their quotas, total data stored is
|
|
# more than capacity. For example quota at 10000 would ensure that
|
|
# EVERY pool can exceed cluster capacity. Set to 85 in order to maintain
|
|
# healthy state and allow data move in case of failures.
|
|
quota: 85
|
|
|
|
default:
|
|
# NOTE(alanmeadows): This is required ATM for bootstrapping a Ceph
|
|
# cluster with only one OSD. Depending on OSD targeting & site
|
|
# configuration this can be changed.
|
|
crush_rule: rack_replicated_rule
|
|
|
|
ceph:
|
|
global:
|
|
# NOTE(mb874d): This is required ATM for bootstrapping a Ceph
|
|
# cluster with only one OSD. Depending on OSD targeting & site
|
|
# configuration this can be changed.
|
|
osd_pool_default_size: 1
|
|
mon_pg_warn_min_per_osd: 0
|
|
mon_pg_warn_max_object_skew: 0
|
|
dependencies:
|
|
- ceph-htk
|
|
...
|