Browse Source

Add tenant ceph to global/site manifests

- Add tenant ceph manifests in globals
 - Add reference overrides for site in airship-seaworthy
 - Re-purpose 4th control as an additional compute to total 3.
   This allows to maintain proper ceph replication
 - Update disk layout to use partitions for journals

Change-Id: I0edf35bd56e4e5253f78c9074d88369283b6fac3
changes/34/610134/16
Kaspars Skels 3 years ago
parent
commit
44dafaa96e
33 changed files with 1240 additions and 132 deletions
  1. +4
    -0
      global/profiles/genesis.yaml
  2. +4
    -0
      global/profiles/host/cp.yaml
  3. +1
    -0
      global/profiles/host/dp.yaml
  4. +81
    -0
      global/schemas/pegleg/SoftwareVersions/v1.yaml
  5. +3
    -0
      global/software/charts/osh/openstack-cinder/cinder.yaml
  6. +3
    -0
      global/software/charts/osh/openstack-compute-kit/libvirt.yaml
  7. +3
    -0
      global/software/charts/osh/openstack-compute-kit/nova.yaml
  8. +3
    -0
      global/software/charts/osh/openstack-glance/glance.yaml
  9. +2
    -1
      global/software/charts/osh/openstack-radosgw/chart-group.yaml
  10. +33
    -23
      global/software/charts/osh/openstack-radosgw/radosgw.yaml
  11. +254
    -0
      global/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml
  12. +147
    -0
      global/software/charts/osh/openstack-tenant-ceph/ceph-config.yaml
  13. +23
    -0
      global/software/charts/osh/openstack-tenant-ceph/ceph-htk.yaml
  14. +64
    -0
      global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml
  15. +162
    -0
      global/software/charts/osh/openstack-tenant-ceph/ceph-mon.yaml
  16. +164
    -0
      global/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml
  17. +19
    -0
      global/software/charts/osh/openstack-tenant-ceph/chart-group.yaml
  18. +40
    -38
      global/software/config/versions.yaml
  19. +1
    -0
      global/software/manifests/full-site.yaml
  20. +2
    -2
      site/airship-seaworthy/baremetal/nodes.yaml
  21. +1
    -1
      site/airship-seaworthy/deployment/deployment-configuration.yaml
  22. +4
    -0
      site/airship-seaworthy/profiles/genesis.yaml
  23. +7
    -2
      site/airship-seaworthy/profiles/hardware/dell_r720.yaml
  24. +44
    -14
      site/airship-seaworthy/profiles/host/cp_r720.yaml
  25. +13
    -7
      site/airship-seaworthy/profiles/host/dp_r720.yaml
  26. +12
    -0
      site/airship-seaworthy/secrets/passphrases/tenant_ceph_fsid.yaml
  27. +23
    -0
      site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml
  28. +55
    -0
      site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml
  29. +2
    -2
      site/airship-seaworthy/software/charts/ucp/ceph/ceph-client-update.yaml
  30. +20
    -20
      site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd-update.yaml
  31. +20
    -20
      site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd.yaml
  32. +25
    -2
      site/airship-seaworthy/software/config/endpoints.yaml
  33. +1
    -0
      site/airship-seaworthy/software/manifests/full-site.yaml

+ 4
- 0
global/profiles/genesis.yaml View File

@ -98,6 +98,10 @@ data:
- ceph-osd=enabled
- ceph-rgw=enabled
- ceph-mgr=enabled
- tenant-ceph-control-plane=enabled
- tenant-ceph-mon=enabled
- tenant-ceph-rgw=enabled
- tenant-ceph-mgr=enabled
- kube-dns=enabled
- kube-ingress=enabled
- kubernetes-apiserver=enabled


+ 4
- 0
global/profiles/host/cp.yaml View File

@ -75,6 +75,10 @@ data:
ceph-osd: enabled
ceph-mds: enabled
ceph-rgw: enabled
tenant-ceph-control-plane: enabled
tenant-ceph-mon: enabled
tenant-ceph-rgw: enabled
tenant-ceph-mgr: enabled
ucp-maas: enabled
kube-dns: enabled
kubernetes-apiserver: enabled


+ 1
- 0
global/profiles/host/dp.yaml View File

@ -52,6 +52,7 @@ data:
metadata:
owner_data:
openstack-nova-compute: enabled
tenant-ceph-osd: enabled
openvswitch: enabled
contrail-vrouter: kernel
openstack-libvirt: kernel


+ 81
- 0
global/schemas/pegleg/SoftwareVersions/v1.yaml View File

@ -571,6 +571,87 @@ data:
type: string
reference:
type: string
tenant-ceph-mon:
type: object
properties:
fluentbit:
type: string
ceph_bootstrap:
type: string
dep_check:
type: string
ceph_mon:
type: string
ceph_config_helper:
type: string
ceph_mon_check:
type: string
image_repo_sync:
type: string
tenant-ceph-osd:
type: object
properties:
fluentbit:
type: string
ceph_bootstrap:
type: string
dep_check:
type: string
ceph_osd:
type: string
image_repo_sync:
type: string
tenant-ceph-client:
type: object
properties:
ceph_bootstrap:
type: string
dep_check:
type: string
ceph_mds:
type: string
ceph_mgr:
type: string
ceph_config_helper:
type: string
ceph_rbd_pool:
type: string
image_repo_sync:
type: string
tenant-ceph-provisioners:
type: object
properties:
ceph_bootstrap:
type: string
ceph_cephfs_provisioner:
type: string
ceph_config_helper:
type: string
ceph_rbd_provisioner:
type: string
dep_check:
type: string
image_repo_sync:
type: string
tenant-ceph-rgw:
type: object
properties:
ceph_config_helper:
type: string
ceph_rgw:
type: string
dep_check:
type: string
image_repo_sync:
type: string
rgw_s3_admin:
type: string
ks_endpoints:
type: string
ks_service:
type: string
ks_user:
type: string
deckhand:
type: object
properties:


+ 3
- 0
global/software/charts/osh/openstack-cinder/cinder.yaml View File

@ -213,6 +213,9 @@ data:
volume:
node_selector_key: openstack-control-plane
node_selector_value: enabled
ceph_client:
configmap: tenant-ceph-etc
user_secret_name: pvc-tceph-client-key
conf:
logging:
loggers:


+ 3
- 0
global/software/charts/osh/openstack-compute-kit/libvirt.yaml View File

@ -44,5 +44,8 @@ data:
libvirt:
node_selector_key: openstack-libvirt
node_selector_value: kernel
ceph_client:
configmap: tenant-ceph-etc
user_secret_name: pvc-tceph-client-key
dependencies:
- osh-helm-toolkit

+ 3
- 0
global/software/charts/osh/openstack-compute-kit/nova.yaml View File

@ -329,6 +329,9 @@ data:
consoleauth: 1
scheduler: 1
novncproxy: 1
ceph_client:
configmap: tenant-ceph-etc
user_secret_name: pvc-tceph-client-key
conf:
logging:
loggers:


+ 3
- 0
global/software/charts/osh/openstack-glance/glance.yaml View File

@ -220,6 +220,9 @@ data:
registry:
node_selector_key: openstack-control-plane
node_selector_value: enabled
ceph_client:
configmap: tenant-ceph-etc
user_secret_name: pvc-tceph-client-key
conf:
logging:
loggers:


+ 2
- 1
global/software/charts/osh/openstack-radosgw/chart-group.yaml View File

@ -10,4 +10,5 @@ metadata:
data:
description: Deploy Radosgw
chart_group:
- radosgw
- tenant-ceph-rgw
...

+ 33
- 23
global/software/charts/osh/openstack-radosgw/radosgw.yaml View File

@ -2,7 +2,7 @@
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: radosgw
name: tenant-ceph-rgw
layeringDefinition:
abstract: false
layer: global
@ -12,7 +12,7 @@ metadata:
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.ceph-rgw
path: .charts.ucp.tenant-ceph-rgw
dest:
path: .source
@ -20,7 +20,7 @@ metadata:
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ceph.ceph-rgw
path: .images.ceph.tenant-ceph-rgw
dest:
path: .values.images.tags
@ -54,13 +54,13 @@ metadata:
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.ceph_mon
path: .ceph.tenant_ceph_mon
dest:
path: .values.endpoints.ceph_mon
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.ceph_mgr
path: .ceph.tenant_ceph_mgr
dest:
path: .values.endpoints.ceph_mgr
@ -93,13 +93,13 @@ metadata:
path: .
data:
chart_name: radosgw
release: radosgw
chart_name: tenant-ceph-rgw
release: tenant-ceph-rgw
namespace: openstack
wait:
timeout: 900
labels:
release_group: airship-radosgw
release_group: airship-tenant-ceph-rgw
install:
no_hooks: false
upgrade:
@ -108,34 +108,44 @@ data:
delete:
- type: job
labels:
release_group: airship-radosgw
release_group: airship-tenant-ceph-rgw
values:
labels:
job:
node_selector_key: openstack-control-plane
node_selector_value: enabled
provisioner:
node_selector_key: openstack-control-plane
node_selector_value: enabled
mds:
node_selector_key: ceph-mds
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
rgw:
node_selector_key: ceph-rgw
node_selector_value: enabled
mgr:
node_selector_key: ceph-mgr
node_selector_key: tenant-ceph-rgw
node_selector_value: enabled
endpoints:
identity:
namespace: openstack
object_store:
namespace: openstack
ceph_mon:
namespace: tenant-ceph
deployment:
ceph: false
ceph: true
client_secrets: false
rbd_provisioner: false
cephfs_provisioner: false
rgw_keystone_user_and_endpoints: true
bootstrap:
enabled: false
pod:
replicas:
rgw: 2
conf:
rgw_ks:
enabled: true
config:
#NOTE (portdirect): See http://tracker.ceph.com/issues/21226
rgw_keystone_token_cache_size: '0'
ceph_client:
configmap: ceph-etc
configmap: tenant-ceph-etc
secrets:
keyrings:
admin: pvc-tceph-client-key
dependencies:
- ceph-htk
- tenant-ceph-htk
...

+ 254
- 0
global/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml View File

@ -0,0 +1,254 @@
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-client-global
layeringDefinition:
abstract: true
layer: global
storagePolicy: cleartext
labels:
name: tenant-ceph-client-global
substitutions:
# Chart source
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.tenant-ceph-client
dest:
path: .source
# Images
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ceph.tenant-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
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.identity
dest:
path: .values.endpoints.identity
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.object_store
dest:
path: .values.endpoints.object_store
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mon
dest:
path: .values.endpoints.ceph_mon
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mgr
dest:
path: .values.endpoints.ceph_mgr
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.keystone.admin
dest:
path: .values.endpoints.identity.auth.admin
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.swift.keystone
dest:
path: .values.endpoints.identity.auth.swift
# Secrets
- dest:
path: .values.endpoints.identity.auth.admin.password
src:
schema: deckhand/Passphrase/v1
name: osh_keystone_admin_password
path: .
- dest:
path: .values.endpoints.identity.auth.swift.password
src:
schema: deckhand/Passphrase/v1
name: ceph_swift_keystone_password
path: .
- dest:
path: .values.conf.ceph.global.fsid
src:
schema: deckhand/Passphrase/v1
name: tenant_ceph_fsid
path: .
data:
chart_name: tenant-ceph-client
release: tenant-ceph-client
namespace: tenant-ceph
protected:
continue_processing: true
wait:
timeout: 900
labels:
release_group: airship-tenant-ceph-client
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release_group: airship-tenant-ceph-client
values:
labels:
job:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
provisioner:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
mds:
node_selector_key: tenant-ceph-mds
node_selector_value: enabled
rgw:
node_selector_key: tenant-ceph-rgw
node_selector_value: enabled
mgr:
node_selector_key: tenant-ceph-mgr
node_selector_value: enabled
endpoints:
identity:
namespace: openstack
object_store:
namespace: openstack
ceph_mon:
namespace: tenant-ceph
ceph_mgr:
namespace: tenant-ceph
monitoring:
ceph_mgr:
port: 9284
deployment:
ceph: true
bootstrap:
enabled: true
manifests:
deployment_mds: false
conf:
features:
mds: false
pool:
spec:
# RBD pool
- name: rbd
application: rbd
replication: 3
percent_total_data: 10
# Cinder volumes pool
- name: cinder.volumes
application: cinder-volume
replication: 3
percent_total_data: 40
# 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.data.root
application: rgw
replication: 3
percent_total_data: 0.1
- name: default.rgw.gc
application: rgw
replication: 3
percent_total_data: 0.1
- name: default.rgw.log
application: rgw
replication: 3
percent_total_data: 0.1
- 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.keys
application: rgw
replication: 3
percent_total_data: 0.1
- name: default.rgw.users.email
application: rgw
replication: 3
percent_total_data: 0.1
- name: default.rgw.users.swift
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.extra
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: 30
# 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
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: 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
dependencies:
- tenant-ceph-htk
...

+ 147
- 0
global/software/charts/osh/openstack-tenant-ceph/ceph-config.yaml View File

@ -0,0 +1,147 @@
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-config
layeringDefinition:
abstract: false
layer: global
storagePolicy: cleartext
substitutions:
# Chart source
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.tenant-ceph-provisioners
dest:
path: .source
# Images
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ceph.tenant-ceph-provisioners
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: osh_endpoints
path: .osh.identity
dest:
path: .values.endpoints.identity
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.object_store
dest:
path: .values.endpoints.object_store
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mon
dest:
path: .values.endpoints.ceph_mon
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mgr
dest:
path: .values.endpoints.ceph_mgr
# Credentials
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.keystone.admin
dest:
path: .values.endpoints.identity.auth.admin
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.swift.keystone
dest:
path: .values.endpoints.identity.auth.swift
# Secrets
- dest:
path: .values.endpoints.identity.auth.admin.password
src:
schema: deckhand/Passphrase/v1
name: osh_keystone_admin_password
path: .
- dest:
path: .values.endpoints.identity.auth.swift.password
src:
schema: deckhand/Passphrase/v1
name: ceph_swift_keystone_password
path: .
data:
chart_name: tenant-ceph-config
release: tenant-ceph-config
namespace: openstack
wait:
timeout: 900
labels:
release_group: airship-tenant-ceph-config
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release_group: airship-tenant-ceph-config
values:
labels:
job:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
provisioner:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
mds:
node_selector_key: tenant-ceph-mds
node_selector_value: enabled
rgw:
node_selector_key: tenant-ceph-rgw
node_selector_value: enabled
mgr:
node_selector_key: tenant-ceph-mgr
node_selector_value: enabled
deployment:
ceph: false
client_secrets: true
rbd_provisioner: false
cephfs_provisioner: false
rgw_keystone_user_and_endpoints: false
bootstrap:
enabled: false
conf:
rgw_ks:
enabled: true
storageclass:
rbd:
ceph_configmap_name: tenant-ceph-etc
user_secret_name: pvc-tceph-client-key
admin_secret_namespace: tenant-ceph
dependencies:
- tenant-ceph-htk
...

+ 23
- 0
global/software/charts/osh/openstack-tenant-ceph/ceph-htk.yaml View File

@ -0,0 +1,23 @@
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-htk
layeringDefinition:
abstract: false
layer: global
storagePolicy: cleartext
substitutions:
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.tenant-ceph-htk
dest:
path: .source
data:
chart_name: tenant-ceph-htk
release: tenant-ceph-htk
namespace: tenant-ceph-htk
values: {}
dependencies: []
...

+ 64
- 0
global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml View File

@ -0,0 +1,64 @@
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-ingress
layeringDefinition:
abstract: false
layer: global
storagePolicy: cleartext
substitutions:
# Chart source
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.ingress
dest:
path: .source
# Images
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ucp.ingress
dest:
path: .values.images.tags
data:
chart_name: tenant-ceph-ingress
release: tenant-ceph-ingress
namespace: tenant-ceph
wait:
timeout: 300
labels:
release_group: airship-tenant-ceph-ingress
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release_group: airship-tenant-ceph-ingress
values:
conf:
ingress:
proxy-body-size: 20m
labels:
server:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
error_server:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
pod:
replicas:
ingress: 2
error_page: 2
network:
ingress:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 20m
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
dependencies:
- ucp-ingress-htk
...

+ 162
- 0
global/software/charts/osh/openstack-tenant-ceph/ceph-mon.yaml View File

@ -0,0 +1,162 @@
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-mon
layeringDefinition:
abstract: false
layer: global
storagePolicy: cleartext
labels:
name: tenant-ceph-mon
substitutions:
# Chart source
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.tenant-ceph-mon
dest:
path: .source
# Images
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ceph.tenant-ceph-mon
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
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.identity
dest:
path: .values.endpoints.identity
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.object_store
dest:
path: .values.endpoints.object_store
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mon
dest:
path: .values.endpoints.ceph_mon
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_infra_endpoints
path: .osh_infra.fluentd
dest:
path: .values.endpoints.fluentd
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mgr
dest:
path: .values.endpoints.ceph_mgr
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.keystone.admin
dest:
path: .values.endpoints.identity.auth.admin
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.swift.keystone
dest:
path: .values.endpoints.identity.auth.swift
# Secrets
- dest:
path: .values.endpoints.identity.auth.admin.password
src:
schema: deckhand/Passphrase/v1
name: osh_keystone_admin_password
path: .
- dest:
path: .values.endpoints.identity.auth.swift.password
src:
schema: deckhand/Passphrase/v1
name: ceph_swift_keystone_password
path: .
- dest:
path: .values.conf.ceph.global.fsid
src:
schema: deckhand/Passphrase/v1
name: tenant_ceph_fsid
path: .
data:
chart_name: tenant-ceph-mon
release: tenant-ceph-mon
namespace: tenant-ceph
protected:
continue_processing: true
wait:
timeout: 1800
labels:
release_group: airship-tenant-ceph-mon
install:
no_hooks: false
upgrade:
no_hooks: false
pre:
delete:
- type: job
labels:
release_group: airship-tenant-ceph-mon
values:
logging:
fluentd: true
labels:
job:
node_selector_key: tenant-ceph-control-plane
node_selector_value: enabled
mon:
node_selector_key: tenant-ceph-mon
node_selector_value: enabled
endpoints:
identity:
namespace: openstack
object_store:
namespace: openstack
ceph_mon:
namespace: tenant-ceph
ceph_mgr:
namespace: tenant-ceph
fluentd:
namespace: osh-infra
monitoring:
ceph_mgr:
port: 9284
conf:
storage:
mon:
directory: /var/lib/openstack-helm/tenant-ceph/mon
storageclass:
rbd:
admin_secret_namespace: tenant-ceph
deployment:
ceph: true
storage_secrets: true
bootstrap:
enabled: true
dependencies:
- tenant-ceph-htk
...

+ 164
- 0
global/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml View File

@ -0,0 +1,164 @@
---
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-osd-global
layeringDefinition:
abstract: true
layer: global
storagePolicy: cleartext
labels:
name: tenant-ceph-osd-global
substitutions:
# Chart source
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .charts.ucp.tenant-ceph-osd
dest:
path: .source
# Images
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ceph.tenant-ceph-osd
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
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.identity
dest:
path: .values.endpoints.identity
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_endpoints
path: .osh.object_store
dest:
path: .values.endpoints.object_store
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mon
dest:
path: .values.endpoints.ceph_mon
- src:
schema: pegleg/EndpointCatalogue/v1
name: osh_infra_endpoints
path: .osh_infra.fluentd
dest:
path: .values.endpoints.fluentd
- src:
schema: pegleg/EndpointCatalogue/v1
name: ucp_endpoints
path: .ceph.tenant_ceph_mgr
dest:
path: .values.endpoints.ceph_mgr
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.keystone.admin
dest:
path: .values.endpoints.identity.auth.admin
- src:
schema: pegleg/AccountCatalogue/v1
name: osh_service_accounts
path: .osh.swift.keystone
dest:
path: .values.endpoints.identity.auth.swift
# Secrets
- dest:
path: .values.endpoints.identity.auth.admin.password
src:
schema: deckhand/Passphrase/v1
name: osh_keystone_admin_password
path: .
- dest:
path: .values.endpoints.identity.auth.swift.password
src:
schema: deckhand/Passphrase/v1
name: ceph_swift_keystone_password
path: .
- dest:
path: .values.conf.ceph.global.fsid
src:
schema: deckhand/Passphrase/v1
name: tenant_ceph_fsid
path: .
data:
chart_name: tenant-ceph-osd
release: tenant-ceph-osd
namespace: tenant-ceph
protected:
continue_processing: true
wait:
timeout: 900
labels:
release_group: airship-tenant-ceph-osd
install:
no_hooks: false
upgrade:
no_hooks: false
values:
logging:
fluentd: true
labels:
osd:
node_selector_key: tenant-ceph-osd
node_selector_value: enabled
endpoints:
identity:
namespace: openstack
object_store:
namespace: openstack
ceph_mon:
namespace: tenant-ceph
ceph_mgr:
namespace: tenant-ceph
fluentd:
namespace: osh-infra
monitoring:
ceph_mgr:
port: 9284
bootstrap:
enabled: true
conf:
storage:
mon:
directory: /var/lib/openstack-helm/tenant-ceph/mon
osd:
- data:
type: directory
location: /var/lib/openstack-helm/tenant-ceph/osd/osd-one
journal:
type: directory
location: /var/lib/openstack-helm/tenant-ceph/osd/journal-one
osd:
# 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.
osd_crush_chooseleaf_type: 0
ceph:
osd:
osd_op_num_threads_per_hdd: 2
osd_op_num_threads_per_ssd: 4
dependencies:
- tenant-ceph-htk
...

+ 19
- 0
global/software/charts/osh/openstack-tenant-ceph/chart-group.yaml View File

@ -0,0 +1,19 @@
---
schema: armada/ChartGroup/v1
metadata:
schema: metadata/Document/v1
name: openstack-tenant-ceph
layeringDefinition:
abstract: false
layer: global
storagePolicy: cleartext
data:
description: Ceph Storage
sequenced: true
chart_group:
- tenant-ceph-ingress
- tenant-ceph-mon
- tenant-ceph-osd
- tenant-ceph-client
- tenant-ceph-config
...

+ 40
- 38
global/software/config/versions.yaml View File

@ -256,6 +256,36 @@ data:
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: helm-toolkit
type: git
tenant-ceph-client:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: ceph-client
type: git
tenant-ceph-htk:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: helm-toolkit
type: git
tenant-ceph-mon:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: ceph-mon
type: git
tenant-ceph-osd:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: ceph-osd
type: git
tenant-ceph-provisioners:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: ceph-provisioners
type: git
tenant-ceph-rgw:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
subpath: ceph-rgw
type: git
ceph-client:
location: https://git.openstack.org/openstack/openstack-helm-infra
reference: 922d7d3d26b15d1d25e40ba1528337002ae15b0c
@ -430,44 +460,16 @@ data:
etcd: quay.io/coreos/etcd:v3.2.14
etcdctl: quay.io/coreos/etcd:v3.2.14
ceph:
ceph-client:
ceph_bootstrap: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_config_helper: docker.io/port/ceph-config-helper:v1.10.2
ceph_mds: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_mgr: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_rbd_pool: docker.io/port/ceph-config-helper:v1.10.2
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
image_repo_sync: docker.io/docker:17.07.0
ceph-mon:
ceph_bootstrap: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_config_helper: docker.io/port/ceph-config-helper:v1.10.2
ceph_mon: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_mon_check: docker.io/port/ceph-config-helper:v1.10.2
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
fluentbit: docker.io/fluent/fluent-bit:0.12.14
image_repo_sync: docker.io/docker:17.07.0
ceph-osd:
ceph_bootstrap: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_osd: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
fluentbit: docker.io/fluent/fluent-bit:0.12.14
image_repo_sync: docker.io/docker:17.07.0
ceph-provisioners:
ceph_bootstrap: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
ceph_cephfs_provisioner: quay.io/external_storage/cephfs-provisioner:v0.1.1
ceph_config_helper: docker.io/port/ceph-config-helper:v1.10.2
ceph_rbd_provisioner: quay.io/external_storage/rbd-provisioner:v0.1.1
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
image_repo_sync: docker.io/docker:17.07.0
ceph-rgw:
ceph_config_helper: docker.io/port/ceph-config-helper:v1.10.2
ceph_rgw: docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
image_repo_sync: docker.io/docker:17.07.0
ks_endpoints: docker.io/openstackhelm/heat:ocata
ks_service: docker.io/openstackhelm/heat:ocata
ks_user: docker.io/openstackhelm/heat:ocata
rgw_s3_admin: docker.io/port/ceph-config-helper:v1.10.2
ceph-client: {}
ceph-mon: {}
ceph-osd: {}
ceph-provisioners: {}
ceph-rgw: {}
tenant-ceph-client: {}
tenant-ceph-mon: {}
tenant-ceph-osd: {}
tenant-ceph-provisioners: {}
tenant-ceph-rgw: {}
kubernetes:
apiserver:
anchor: gcr.io/google-containers/hyperkube-amd64:v1.10.2


+ 1
- 0
global/software/manifests/full-site.yaml View File

@ -37,6 +37,7 @@ data:
- osh-infra-dashboards
- openstack-ingress-controller
- openstack-ceph-config
- openstack-tenant-ceph
- openstack-mariadb
- openstack-memcached
- openstack-compute-services


+ 2
- 2
site/airship-seaworthy/baremetal/nodes.yaml View File

@ -175,13 +175,13 @@ data:
address: 10.23.22.14
# NEWSITE-CHANGEME: The next node's host profile
# This is the third "primary" control plane profile after genesis
host_profile: cp_r740-secondary
host_profile: dp_r720
metadata:
# NEWSITE-CHANGEME: The next node's rack designation
rack: cab23
# NEWSITE-CHANGEME: The next node's role desigatnion
tags:
- 'masters'
- 'workers'
...
---
schema: 'drydock/BaremetalNode/v1'


+ 1
- 1
site/airship-seaworthy/deployment/deployment-configuration.yaml View File

@ -36,6 +36,6 @@ data:
get_releases_timeout: 300
get_status_timeout: 300
manifest: 'full-site'
post_apply_timeout: 2700
post_apply_timeout: 7200
validate_design_timeout: 600
...

+ 4
- 0
site/airship-seaworthy/profiles/genesis.yaml View File

@ -27,6 +27,10 @@ data:
- ceph-rgw=enabled
- ceph-mgr=enabled
- ceph-bootstrap=enabled
- tenant-ceph-control-plane=enabled
- tenant-ceph-mon=enabled
- tenant-ceph-rgw=enabled
- tenant-ceph-mgr=enabled
- kube-dns=enabled
- kube-ingress=enabled
- kubernetes-apiserver=enabled


+ 7
- 2
site/airship-seaworthy/profiles/hardware/dell_r720.yaml View File

@ -59,13 +59,18 @@ data:
dev_type: 'PERC H710P'
bus_type: 'scsi'
# /dev/sdb
cephjournal:
cephjournal1:
address: '0:2.1.0'
dev_type: 'PERC H710P'
bus_type: 'scsi'
# /dev/sdc
ephemeral:
cephjournal2:
address: '0:2.2.0'
dev_type: 'PERC H710P'
bus_type: 'scsi'
# /dev/sdc
ephemeral:
address: '0:2.3.0'
dev_type: 'PERC H710P'
bus_type: 'scsi'
...

+ 44
- 14
site/airship-seaworthy/profiles/host/cp_r720.yaml View File

@ -75,14 +75,27 @@ data:
mountpoint: '/var'
fstype: 'ext4'
mount_options: 'defaults'
cephjournal:
cephjournal1:
partitions:
- name: 'cephj'
size: '100g'
filesystem:
mountpoint: '/var/lib/ceph/cp'
fstype: 'xfs'
mount_options: 'defaults'
- name: 'ceph-j1'
size: '10g'
- name: 'ceph-j2'
size: '10g'
- name: 'ceph-j3'
size: '10g'
- name: 'ceph-j4'
size: '10g'
cephjournal2:
partitions:
- name: 'ceph-j5'
size: '10g'
- name: 'ceph-j6'
size: '10g'
- name: 'ceph-j7'
size: '10g'
- name: 'ceph-j8'
size: '10g'
platform:
kernel: 'hwe-16.04'
@ -168,14 +181,27 @@ data:
mountpoint: '/var'
fstype: 'ext4'
mount_options: 'defaults'
cephjournal:
cephjournal1:
partitions:
- name: 'cephj'
size: '100g'
filesystem:
mountpoint: '/var/lib/ceph/cp'
fstype: 'xfs'
mount_options: 'defaults'
- name: 'ceph-j1'
size: '10g'
- name: 'ceph-j2'
size: '10g'
- name: 'ceph-j3'
size: '10g'
- name: 'ceph-j4'
size: '10g'
cephjournal2:
partitions:
- name: 'ceph-j5'
size: '10g'
- name: 'ceph-j6'
size: '10g'
- name: 'ceph-j7'
size: '10g'
- name: 'ceph-j8'
size: '10g'
platform:
kernel: 'hwe-16.04'
@ -210,6 +236,10 @@ data:
ceph-rgw: enabled
ucp-maas: enabled
kube-dns: enabled
tenant-ceph-control-plane: enabled
# tenant-ceph-mon: enabled
tenant-ceph-rgw: enabled
tenant-ceph-mgr: enabled
kubernetes-apiserver: enabled
kubernetes-controller-manager: enabled
# kubernetes-etcd: enabled


+ 13
- 7
site/airship-seaworthy/profiles/host/dp_r720.yaml View File

@ -74,14 +74,20 @@ data:
mountpoint: '/var'
fstype: 'ext4'
mount_options: 'defaults'
cephjournal:
cephjournal1:
partitions:
- name: 'cephj'
size: '100g'
filesystem:
mountpoint: '/var/lib/ceph/dp'
fstype: 'xfs'
mount_options: 'defaults'
- name: 'ceph-j1'
size: '10g'
- name: 'ceph-j2'
size: '10g'
cephjournal2:
partitions:
- name: 'ceph-j3'
size: '10g'
- name: 'ceph-j4'
size: '10g'
ephemeral:
partitions:
- name: 'nova'


+ 12
- 0
site/airship-seaworthy/secrets/passphrases/tenant_ceph_fsid.yaml View File

@ -0,0 +1,12 @@
---
schema: deckhand/Passphrase/v1
metadata:
schema: metadata/Document/v1
name: tenant_ceph_fsid
layeringDefinition:
abstract: false
layer: site
storagePolicy: cleartext
# uuidgen
data: 29d8953d-0bb6-4ba1-a48a-f9be1c0937a9
...

+ 23
- 0
site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml View File

@ -0,0 +1,23 @@
---
# The purpose of this file is to define envrionment-specific parameters for the
# ceph client
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-client
layeringDefinition:
abstract: false
layer: site
parentSelector:
name: tenant-ceph-client-global
actions:
- method: merge
path: .
storagePolicy: cleartext
data:
values:
conf:
pool:
target:
osd: 12
...

+ 55
- 0
site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml View File

@ -0,0 +1,55 @@
---
# The purpose of this file is to define environment-specific parameters for
# ceph-osd
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
name: tenant-ceph-osd
layeringDefinition:
abstract: false
layer: site
parentSelector:
name: tenant-ceph-osd-global
actions:
- method: replace
path: .values.conf.storage.osd
- method: merge
path: .
storagePolicy: cleartext
data:
values:
labels:
osd:
node_selector_key: tenant-ceph-osd
node_selector_value: enabled
conf:
storage:
# NEWSITE-CHANGEME: The OSD count and configuration here should not need
# to change if your HW matches the HW used in this environment.
# Otherwise you may need to add or subtract disks to this list.
osd:
- data:
type: block-logical
location: /dev/sde
journal:
type: block-logical
location: /dev/sdb1
- data:
type: block-logical
location: /dev/sdf
journal:
type: block-logical
location: /dev/sdb2
- data:
type: block-logical
location: /dev/sdg
journal:
type: block-logical
location: /dev/sdc1
- data:
type: block-logical
location: /dev/sdh
journal:
type: block-logical
location: /dev/sdc2
...

+ 2
- 2
site/airship-seaworthy/software/charts/ucp/ceph/ceph-client-update.yaml View File

@ -21,6 +21,6 @@ data:
target:
# NEWSITE-CHANGEME: Total number of OSDs. Does not need to change if
# your HW matches this site's HW. Verify for your environment.
# 8 OSDs per node x 4 nodes = 32
osd: 32
# 8 OSDs per node x 3 nodes = 24
osd: 24
...

+ 20
- 20
site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd-update.yaml View File

@ -24,52 +24,52 @@ data:
# to change if your HW matches the HW used in this environment.
# Otherwise you may need to add or subtract disks to this list.
osd:
- data:
type: block-logical
location: /dev/sdc
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdc
- data:
type: block-logical
location: /dev/sdd
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdd
type: block-logical
location: /dev/sdb1
- data:
type: block-logical
location: /dev/sde
journal:
type: directory
location: /var/lib/ceph/cp/journal-sde
type: block-logical
location: /dev/sdb2
- data:
type: block-logical
location: /dev/sdf
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdf
type: block-logical
location: /dev/sdb3
- data:
type: block-logical
location: /dev/sdg
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdg
type: block-logical
location: /dev/sdb4
- data:
type: block-logical
location: /dev/sdh
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdh
type: block-logical
location: /dev/sdc1
- data:
type: block-logical
location: /dev/sdi
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdi
type: block-logical
location: /dev/sdc2
- data:
type: block-logical
location: /dev/sdj
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdj
type: block-logical
location: /dev/sdc3
- data:
type: block-logical
location: /dev/sdk
journal:
type: block-logical
location: /dev/sdc4
...

+ 20
- 20
site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd.yaml View File

@ -28,52 +28,52 @@ data:
# to change if your HW matches the HW used in this environment.
# Otherwise you may need to add or subtract disks to this list.
osd:
- data:
type: block-logical
location: /dev/sdc
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdc
- data:
type: block-logical
location: /dev/sdd
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdd
type: block-logical
location: /dev/sdb1
- data:
type: block-logical
location: /dev/sde
journal:
type: directory
location: /var/lib/ceph/cp/journal-sde
type: block-logical
location: /dev/sdb2
- data:
type: block-logical
location: /dev/sdf
journal:
type: directory
location: /var/lib/ceph/cp/journal-sdf
type: block-logical
location: /dev/sdb3
- data:
type: block-logical
location: /dev/sdg
journal: