Skip to content

Commit

Permalink
Merge pull request #706 from rook/release-1.15
Browse files Browse the repository at this point in the history
build: Sync from upstream release-1.15 to downstream release-4.17
  • Loading branch information
subhamkrai committed Aug 22, 2024
2 parents 8f20865 + 5b49a2c commit fbae2aa
Show file tree
Hide file tree
Showing 133 changed files with 22,113 additions and 727 deletions.
1 change: 1 addition & 0 deletions .github/workflows/.yamllint
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ ignore: |
deploy/examples/csi/template
deploy/examples/crds.yaml
deploy/examples/monitoring/
deploy/examples/csi-operator.yaml
rules:
line-length: disable
new-lines: disable
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-assign.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
assign:
permissions:
# write permissions are needed to assign the issue.
contents: write
issues: write
name: Run self assign job
runs-on: ubuntu-latest
steps:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/canary-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ defaults:
# reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
shell: bash --noprofile --norc -eo pipefail -x {0}

permissions:
contents: read

jobs:
canary:
runs-on: ubuntu-22.04
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
# in other places, so ignore the file itself assuming it is correct
# crds.yaml, resources.yaml: CRD files are fully generated from content we control (should
# be flagged elsewhere) and content we don't control (can't fix easily), so ignore
skip: .git,*.png,*.jpg,*.svg,*.sum,./LICENSE,./deploy/examples/crds.yaml,./deploy/charts/rook-ceph/templates/resources.yaml
skip: .git,*.png,*.jpg,*.svg,*.sum,./LICENSE,./deploy/examples/crds.yaml,./deploy/charts/rook-ceph/templates/resources.yaml,./deploy/examples/csi-operator.yaml
# aks: Amazon Kubernetes Service
# keyserver: flag to apt-key
# atleast: codespell wants to flag any 'AtLeast' method
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-helm-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
69 changes: 69 additions & 0 deletions .github/workflows/integration-test-keystone-auth-suite.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Integration test CephKeystoneAuthSuite
on:
pull_request:
branches:
- master
- release-*
paths-ignore:
- "Documentation/**"
- "design/**"

defaults:
run:
# reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
shell: bash --noprofile --norc -eo pipefail -x {0}

permissions:
contents: read

# cancel the in-progress workflow when PR is refreshed.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true

jobs:
TestCephKeystoneAuthSuite:
if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: consider debugging
uses: ./.github/workflows/tmate_debug
with:
use-tmate: ${{ secrets.USE_TMATE }}

- name: setup latest cluster resources
uses: ./.github/workflows/integration-test-config-latest-k8s
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
kubernetes-version: ${{ matrix.kubernetes-versions }}

- name: TestCephKeystoneAuthSuite
run: |
tests/scripts/github-action-helper.sh collect_udev_logs_in_background
tests/scripts/helm.sh up
export DEVICE_FILTER=$(lsblk|awk '/14G/ || /64G/ {print $1}'| head -1)
SKIP_CLEANUP_POLICY=false go test -v -timeout 3600s -failfast -run CephKeystoneAuthSuite github.com/rook/rook/tests/integration
- name: collect common logs
if: always()
run: |
export LOG_DIR="/home/runner/work/rook/rook/tests/integration/_output/tests/"
export CLUSTER_NAMESPACE="keystoneauth-ns"
export OPERATOR_NAMESPACE="keystoneauth-ns-system"
tests/scripts/collect-logs.sh
- name: Artifact
uses: actions/upload-artifact@v4
if: failure()
with:
name: ceph-keystone-auth-suite-artifact-${{ matrix.kubernetes-versions }}
path: /home/runner/work/rook/rook/tests/integration/_output/tests/
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-mgr-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.30.0"]
kubernetes-versions: ["v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.30.0"]
kubernetes-versions: ["v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-object-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-smoke-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/integration-test-upgrade-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/integration-tests-on-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.27.13", "v1.28.9", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.27.13", "v1.28.9", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.27.13", "v1.28.9", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.27.13", "v1.28.9", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -178,7 +178,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.27.13", "v1.28.9", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.28.12", "v1.29.7", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -219,7 +219,7 @@ jobs:
strategy:
fail-fast: false
matrix:
kubernetes-versions: ["v1.25.16", "v1.30.0"]
kubernetes-versions: ["v1.26.15", "v1.31.0"]
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/multus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ on:
- cmd/rook/userfacing/**
- pkg/daemon/multus/**
- .github/workflows/multus.yaml
- tests/scripts/multus/**

defaults:
run:
Expand Down
5 changes: 4 additions & 1 deletion Documentation/CRDs/Cluster/ceph-cluster-crd.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ For more details on the mons and when to choose a number other than `3`, see the
* `config`: Config settings applied to all OSDs on the node unless overridden by `devices`. See the [config settings](#osd-configuration-settings) below.
* `allowDeviceClassUpdate`: Whether to allow changing the device class of an OSD after it is created. The default is false
to prevent unintentional data movement or CRUSH changes if the device class is changed accidentally.
* `allowOsdCrushWeightUpdate`: Whether Rook will resize the OSD CRUSH weight when the OSD PVC size is increased.
This allows cluster data to be rebalanced to make most effective use of new OSD space.
The default is false since data rebalancing can cause temporary cluster slowdown.
* [storage selection settings](#storage-selection-settings)
* [Storage Class Device Sets](#storage-class-device-sets)
* `onlyApplyOSDPlacement`: Whether the placement specific for OSDs is merged with the `all` placement. If `false`, the OSD placement will be merged with the `all` placement. If true, the `OSD placement will be applied` and the `all` placement will be ignored. The placement for OSDs is computed from several different places depending on the type of OSD:
Expand Down Expand Up @@ -322,7 +325,7 @@ The following are the settings for Storage Class Device Sets which can be config
* `preparePlacement`: The placement criteria for the preparation of the OSD devices. Creating OSDs is a two-step process and the prepare job may require different placement than the OSD daemons. If the `preparePlacement` is not specified, the `placement` will instead be applied for consistent placement for the OSD prepare jobs and OSD deployments. The `preparePlacement` is only useful for `portable` OSDs in the device sets. OSDs that are not portable will be tied to the host where the OSD prepare job initially runs.
* For example, provisioning may require topology spread constraints across zones, but the OSD daemons may require constraints across hosts within the zones.
* `portable`: If `true`, the OSDs will be allowed to move between nodes during failover. This requires a storage class that supports portability (e.g. `aws-ebs`, but not the local storage provisioner). If `false`, the OSDs will be assigned to a node permanently. Rook will configure Ceph's CRUSH map to support the portability.
* `tuneDeviceClass`: For example, Ceph cannot detect AWS volumes as HDDs from the storage class "gp2", so you can improve Ceph performance by setting this to true.
* `tuneDeviceClass`: For example, Ceph cannot detect AWS volumes as HDDs from the storage class "gp2-csi", so you can improve Ceph performance by setting this to true.
* `tuneFastDeviceClass`: For example, Ceph cannot detect Azure disks as SSDs from the storage class "managed-premium", so you can improve Ceph performance by setting this to true..
* `volumeClaimTemplates`: A list of PVC templates to use for provisioning the underlying storage devices.
* `metadata.name`: "data", "metadata", or "wal". If a single template is provided, the name must be "data". If the name is "metadata" or "wal", the devices are used to store the Ceph metadata or WAL respectively. In both cases, the devices must be raw devices or LVM logical volumes.
Expand Down
8 changes: 4 additions & 4 deletions Documentation/CRDs/Cluster/pvc-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ in clusters where a local PV provisioner is available.

## AWS Storage Example

In this example, the mon and OSD volumes are provisioned from the AWS `gp2` storage class. This storage class can be replaced by any storage class that provides `file` mode (for mons) and `block` mode (for OSDs).
In this example, the mon and OSD volumes are provisioned from the AWS `gp2-csi` storage class. This storage class can be replaced by any storage class that provides `file` mode (for mons) and `block` mode (for OSDs).

```yaml
apiVersion: ceph.rook.io/v1
Expand All @@ -25,7 +25,7 @@ spec:
allowMultiplePerNode: false
volumeClaimTemplate:
spec:
storageClassName: gp2
storageClassName: gp2-csi
resources:
requests:
storage: 10Gi
Expand All @@ -42,8 +42,8 @@ spec:
resources:
requests:
storage: 10Gi
# IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
storageClassName: gp2
# IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2-csi)
storageClassName: gp2-csi
volumeMode: Block
accessModes:
- ReadWriteOnce
Expand Down
Loading

0 comments on commit fbae2aa

Please sign in to comment.