treasuremap/global/software/charts/ucp/ceph/ceph-client-update.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
...