From 44dafaa96e6cab5c651fd8fdac9c90fc3f3263a0 Mon Sep 17 00:00:00 2001 From: Kaspars Skels Date: Fri, 12 Oct 2018 13:11:06 -0500 Subject: [PATCH] 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 --- global/profiles/genesis.yaml | 4 + global/profiles/host/cp.yaml | 4 + global/profiles/host/dp.yaml | 1 + .../schemas/pegleg/SoftwareVersions/v1.yaml | 81 ++++++ .../charts/osh/openstack-cinder/cinder.yaml | 3 + .../osh/openstack-compute-kit/libvirt.yaml | 3 + .../osh/openstack-compute-kit/nova.yaml | 3 + .../charts/osh/openstack-glance/glance.yaml | 3 + .../osh/openstack-radosgw/chart-group.yaml | 3 +- .../charts/osh/openstack-radosgw/radosgw.yaml | 56 ++-- .../openstack-tenant-ceph/ceph-client.yaml | 254 ++++++++++++++++++ .../openstack-tenant-ceph/ceph-config.yaml | 147 ++++++++++ .../osh/openstack-tenant-ceph/ceph-htk.yaml | 23 ++ .../openstack-tenant-ceph/ceph-ingress.yaml | 64 +++++ .../osh/openstack-tenant-ceph/ceph-mon.yaml | 162 +++++++++++ .../osh/openstack-tenant-ceph/ceph-osd.yaml | 164 +++++++++++ .../openstack-tenant-ceph/chart-group.yaml | 19 ++ global/software/config/versions.yaml | 78 +++--- global/software/manifests/full-site.yaml | 1 + site/airship-seaworthy/baremetal/nodes.yaml | 4 +- .../deployment/deployment-configuration.yaml | 2 +- site/airship-seaworthy/profiles/genesis.yaml | 4 + .../profiles/hardware/dell_r720.yaml | 9 +- .../profiles/host/cp_r720.yaml | 58 +++- .../profiles/host/dp_r720.yaml | 20 +- .../secrets/passphrases/tenant_ceph_fsid.yaml | 12 + .../openstack-tenant-ceph/ceph-client.yaml | 23 ++ .../osh/openstack-tenant-ceph/ceph-osd.yaml | 55 ++++ .../charts/ucp/ceph/ceph-client-update.yaml | 4 +- .../charts/ucp/ceph/ceph-osd-update.yaml | 40 +-- .../software/charts/ucp/ceph/ceph-osd.yaml | 40 +-- .../software/config/endpoints.yaml | 27 +- .../software/manifests/full-site.yaml | 1 + 33 files changed, 1240 insertions(+), 132 deletions(-) create mode 100644 global/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml create mode 100644 global/software/charts/osh/openstack-tenant-ceph/ceph-config.yaml create mode 100644 global/software/charts/osh/openstack-tenant-ceph/ceph-htk.yaml create mode 100644 global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml create mode 100644 global/software/charts/osh/openstack-tenant-ceph/ceph-mon.yaml create mode 100644 global/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml create mode 100644 global/software/charts/osh/openstack-tenant-ceph/chart-group.yaml create mode 100644 site/airship-seaworthy/secrets/passphrases/tenant_ceph_fsid.yaml create mode 100644 site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml create mode 100644 site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml diff --git a/global/profiles/genesis.yaml b/global/profiles/genesis.yaml index b84f13623..b262a5a0e 100644 --- a/global/profiles/genesis.yaml +++ b/global/profiles/genesis.yaml @@ -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 diff --git a/global/profiles/host/cp.yaml b/global/profiles/host/cp.yaml index e121dce50..92005b371 100644 --- a/global/profiles/host/cp.yaml +++ b/global/profiles/host/cp.yaml @@ -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 diff --git a/global/profiles/host/dp.yaml b/global/profiles/host/dp.yaml index 2a454edb0..23e43e18d 100644 --- a/global/profiles/host/dp.yaml +++ b/global/profiles/host/dp.yaml @@ -52,6 +52,7 @@ data: metadata: owner_data: openstack-nova-compute: enabled + tenant-ceph-osd: enabled openvswitch: enabled contrail-vrouter: kernel openstack-libvirt: kernel diff --git a/global/schemas/pegleg/SoftwareVersions/v1.yaml b/global/schemas/pegleg/SoftwareVersions/v1.yaml index 7c8e46dc8..eeb89255d 100644 --- a/global/schemas/pegleg/SoftwareVersions/v1.yaml +++ b/global/schemas/pegleg/SoftwareVersions/v1.yaml @@ -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: diff --git a/global/software/charts/osh/openstack-cinder/cinder.yaml b/global/software/charts/osh/openstack-cinder/cinder.yaml index 25407cd43..dd2c9205c 100644 --- a/global/software/charts/osh/openstack-cinder/cinder.yaml +++ b/global/software/charts/osh/openstack-cinder/cinder.yaml @@ -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: diff --git a/global/software/charts/osh/openstack-compute-kit/libvirt.yaml b/global/software/charts/osh/openstack-compute-kit/libvirt.yaml index 6cdfabe7f..67c673fc9 100644 --- a/global/software/charts/osh/openstack-compute-kit/libvirt.yaml +++ b/global/software/charts/osh/openstack-compute-kit/libvirt.yaml @@ -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 diff --git a/global/software/charts/osh/openstack-compute-kit/nova.yaml b/global/software/charts/osh/openstack-compute-kit/nova.yaml index 20dc407da..c7930921f 100644 --- a/global/software/charts/osh/openstack-compute-kit/nova.yaml +++ b/global/software/charts/osh/openstack-compute-kit/nova.yaml @@ -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: diff --git a/global/software/charts/osh/openstack-glance/glance.yaml b/global/software/charts/osh/openstack-glance/glance.yaml index 50de8da77..9fb60b5e7 100644 --- a/global/software/charts/osh/openstack-glance/glance.yaml +++ b/global/software/charts/osh/openstack-glance/glance.yaml @@ -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: diff --git a/global/software/charts/osh/openstack-radosgw/chart-group.yaml b/global/software/charts/osh/openstack-radosgw/chart-group.yaml index 467aa1f53..6ecad9d4d 100644 --- a/global/software/charts/osh/openstack-radosgw/chart-group.yaml +++ b/global/software/charts/osh/openstack-radosgw/chart-group.yaml @@ -10,4 +10,5 @@ metadata: data: description: Deploy Radosgw chart_group: - - radosgw + - tenant-ceph-rgw +... diff --git a/global/software/charts/osh/openstack-radosgw/radosgw.yaml b/global/software/charts/osh/openstack-radosgw/radosgw.yaml index 9f0381054..d91cb817d 100644 --- a/global/software/charts/osh/openstack-radosgw/radosgw.yaml +++ b/global/software/charts/osh/openstack-radosgw/radosgw.yaml @@ -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 ... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml new file mode 100644 index 000000000..6e0bbafcf --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml @@ -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 +... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-config.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-config.yaml new file mode 100644 index 000000000..bb2570080 --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-config.yaml @@ -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 +... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-htk.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-htk.yaml new file mode 100644 index 000000000..f3b88c448 --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-htk.yaml @@ -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: [] +... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml new file mode 100644 index 000000000..0fcc51622 --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml @@ -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 +... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-mon.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-mon.yaml new file mode 100644 index 000000000..f9994c53e --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-mon.yaml @@ -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 +... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml new file mode 100644 index 000000000..df9a9f001 --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml @@ -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 +... diff --git a/global/software/charts/osh/openstack-tenant-ceph/chart-group.yaml b/global/software/charts/osh/openstack-tenant-ceph/chart-group.yaml new file mode 100644 index 000000000..6d395d57c --- /dev/null +++ b/global/software/charts/osh/openstack-tenant-ceph/chart-group.yaml @@ -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 +... diff --git a/global/software/config/versions.yaml b/global/software/config/versions.yaml index 7245adc99..adf8af7a7 100644 --- a/global/software/config/versions.yaml +++ b/global/software/config/versions.yaml @@ -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 diff --git a/global/software/manifests/full-site.yaml b/global/software/manifests/full-site.yaml index ed3a5015d..65531422c 100644 --- a/global/software/manifests/full-site.yaml +++ b/global/software/manifests/full-site.yaml @@ -37,6 +37,7 @@ data: - osh-infra-dashboards - openstack-ingress-controller - openstack-ceph-config + - openstack-tenant-ceph - openstack-mariadb - openstack-memcached - openstack-compute-services diff --git a/site/airship-seaworthy/baremetal/nodes.yaml b/site/airship-seaworthy/baremetal/nodes.yaml index ee88a16a8..968b5e11d 100644 --- a/site/airship-seaworthy/baremetal/nodes.yaml +++ b/site/airship-seaworthy/baremetal/nodes.yaml @@ -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' diff --git a/site/airship-seaworthy/deployment/deployment-configuration.yaml b/site/airship-seaworthy/deployment/deployment-configuration.yaml index 676e219df..752ce434c 100644 --- a/site/airship-seaworthy/deployment/deployment-configuration.yaml +++ b/site/airship-seaworthy/deployment/deployment-configuration.yaml @@ -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 ... diff --git a/site/airship-seaworthy/profiles/genesis.yaml b/site/airship-seaworthy/profiles/genesis.yaml index ff793b75c..d40e41a1b 100644 --- a/site/airship-seaworthy/profiles/genesis.yaml +++ b/site/airship-seaworthy/profiles/genesis.yaml @@ -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 diff --git a/site/airship-seaworthy/profiles/hardware/dell_r720.yaml b/site/airship-seaworthy/profiles/hardware/dell_r720.yaml index 70a993701..9e078756e 100644 --- a/site/airship-seaworthy/profiles/hardware/dell_r720.yaml +++ b/site/airship-seaworthy/profiles/hardware/dell_r720.yaml @@ -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' ... diff --git a/site/airship-seaworthy/profiles/host/cp_r720.yaml b/site/airship-seaworthy/profiles/host/cp_r720.yaml index 7239be986..aa6028713 100644 --- a/site/airship-seaworthy/profiles/host/cp_r720.yaml +++ b/site/airship-seaworthy/profiles/host/cp_r720.yaml @@ -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 diff --git a/site/airship-seaworthy/profiles/host/dp_r720.yaml b/site/airship-seaworthy/profiles/host/dp_r720.yaml index ed5d66215..d68657156 100644 --- a/site/airship-seaworthy/profiles/host/dp_r720.yaml +++ b/site/airship-seaworthy/profiles/host/dp_r720.yaml @@ -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' diff --git a/site/airship-seaworthy/secrets/passphrases/tenant_ceph_fsid.yaml b/site/airship-seaworthy/secrets/passphrases/tenant_ceph_fsid.yaml new file mode 100644 index 000000000..18bd48556 --- /dev/null +++ b/site/airship-seaworthy/secrets/passphrases/tenant_ceph_fsid.yaml @@ -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 +... diff --git a/site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml b/site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml new file mode 100644 index 000000000..ce93795ba --- /dev/null +++ b/site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-client.yaml @@ -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 +... diff --git a/site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml b/site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml new file mode 100644 index 000000000..051dd178a --- /dev/null +++ b/site/airship-seaworthy/software/charts/osh/openstack-tenant-ceph/ceph-osd.yaml @@ -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 +... diff --git a/site/airship-seaworthy/software/charts/ucp/ceph/ceph-client-update.yaml b/site/airship-seaworthy/software/charts/ucp/ceph/ceph-client-update.yaml index d2ac01fff..4b08d763a 100644 --- a/site/airship-seaworthy/software/charts/ucp/ceph/ceph-client-update.yaml +++ b/site/airship-seaworthy/software/charts/ucp/ceph/ceph-client-update.yaml @@ -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 ... diff --git a/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd-update.yaml b/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd-update.yaml index 6228ffa2b..475ee92ca 100644 --- a/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd-update.yaml +++ b/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd-update.yaml @@ -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 ... diff --git a/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd.yaml b/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd.yaml index 5e2cf4c35..3a0d7340d 100644 --- a/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd.yaml +++ b/site/airship-seaworthy/software/charts/ucp/ceph/ceph-osd.yaml @@ -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: - 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 ... diff --git a/site/airship-seaworthy/software/config/endpoints.yaml b/site/airship-seaworthy/software/config/endpoints.yaml index c977f8b61..cbc1ac82f 100644 --- a/site/airship-seaworthy/software/config/endpoints.yaml +++ b/site/airship-seaworthy/software/config/endpoints.yaml @@ -320,6 +320,29 @@ data: default: 7000 scheme: default: "http" + tenant_ceph_mon: + namespace: tenant-ceph + hosts: + default: ceph-mon + discovery: ceph-mon-discovery + host_fqdn_override: + default: null + port: + mon: + default: 6790 + tenant_ceph_mgr: + namespace: tenant-ceph + hosts: + default: ceph-mgr + host_fqdn_override: + default: null + port: + mgr: + default: 7001 + metrics: + default: 9284 + scheme: + default: http ... --- schema: pegleg/EndpointCatalogue/v1 @@ -427,7 +450,7 @@ data: osh: object_store: name: swift - namespace: ceph + namespace: openstack hosts: default: ceph-rgw public: radosgw @@ -446,7 +469,7 @@ data: public: 443 ceph_object_store: name: radosgw - namespace: ceph + namespace: openstack hosts: default: ceph-rgw public: radosgw diff --git a/site/airship-seaworthy/software/manifests/full-site.yaml b/site/airship-seaworthy/software/manifests/full-site.yaml index 593dfc106..17f93cf09 100644 --- a/site/airship-seaworthy/software/manifests/full-site.yaml +++ b/site/airship-seaworthy/software/manifests/full-site.yaml @@ -43,6 +43,7 @@ data: - osh-infra-dashboards - openstack-ingress-controller - openstack-ceph-config + - openstack-tenant-ceph - openstack-mariadb - openstack-memcached - openstack-keystone