Commit Graph
570 Commits
Author SHA1 Message Date
subham rai b3b6775cf9 Merge pull request #13906 from subhamkrai/remove-csv-files
build: remove csv related files
2024-03-20 19:01:48 +05:30
Travis Nielsen 3a7bbe52ae Merge pull request #13821 from parth-gr/replica-1-external
external: add topologyconstraintpool support for rbd storageclass
2024-03-18 11:40:25 -06:00
parth-gr 0aa431c7e1 external: add ci and design documet
Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-03-18 22:17:25 +05:30
Santosh Pillai b8ee8a46ec Merge pull request #13852 from sp98/support-azure-kms
core: azure kms support
2024-03-18 14:44:11 +05:30
sp98 4efe3982b0 core: azure kms support
Add support for store OSD encryption Keys in Azure KMS

Signed-off-by: sp98 <sapillai@redhat.com>
2024-03-15 11:23:25 +05:30
Blaine Gardner 4f555dbbcb csi: allow force disabling holder pods
Add new CSI_DISABLE_HOLDER_PODS option for rook-ceph-operator.
This option will disable holder pods when set to "true".

In the long term, Rook plans to deprecate the holder pods entirely.
This new option will allow users to choose to migrate their clusters to
non-holder clusters when they are ready and able, giving them time to
gracefully migrate before the holders are permanently removed.

This option is set to "false" by default so that upgrading users don't
have their CSI pods modified unexpectedly.
Example manifests are modified to set this value to true so that new
clusters will not deploy holder pods.

Migrating users are provided with documentation to instruct them about
the new requirements they need to satisfy to successfully remove holder
pods, a procedure for migrating pods from holder to non-holder mounts,
and a way to delete holder pods once they are no longer in use.

When users set CSI_DISABLE_HOLDER_PODS="true", the CSI controller will
no longer deploy or update the holder pod Daemonsets, but it does not
delete any existing Daemonsets. This allows already-attached PVCs to
continue operating normally with their network connection continuing to
exist in the current holder pod. This is critical to avoid causing
ia cluster-wide storage outage.

More info: https://github.com/rook/rook/issues/13055

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-03-14 09:53:08 -06:00
Travis Nielsen fdacfd51c5 object: create an object store based on shared pools
Until now, an object store would create all the necessary
metadata pools and the data pool that were exclusively
for its own object store. When isolation between object
stores is necessary, this would cause many pools and
PGs to be created in the cluster, which was not
manageable.

Now one set of pools can be created to be shared
by any number of object stores. The metadata and data
between each object store is isolated by
RADOS namespaces, which by design will keep the
data safe for multi-tenancy.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-03-11 11:20:57 -06:00
subhamkrai dd8c3c9974 build: remove csv related files
remove csv related files/content which are not used/required for
upstream uses.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-11 21:01:53 +05:30
Travis Nielsen 4817a0442c Merge pull request #13896 from parth-gr/k8s-1.25
ci: upgrade min k8s supported version to 1.25 combiner
2024-03-07 10:29:36 -07:00
parth-gr ed6fb58bd1 ci: upgrade min k8s supported version to 1.25 combiner
upgrading minimum kubernetes supported version to v1.25.16
and max to k8s 1.29.2

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-03-07 21:59:04 +05:30
NymanRobin fdacd1e587 ci: remove minor version from setup-go in govulncheck
The patch version was pinned which caused problems
with security patches. Unpin it and always check
for new patch version

Signed-off-by: NymanRobin <nyman.robin@gmail.com>
2024-03-07 12:51:53 +02:00
dependabot[bot] 3cdb79a73d build(deps): bump azure/setup-helm from 3 to 4
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 3 to 4.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/azure/setup-helm/compare/v3...v4)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 12:22:14 +00:00
Blaine Gardner 9f98208914 ci: stop nightly canary from running in forks
Make sure the canary suites are only run from nightly CI in the
rook/rook project.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-16 12:17:50 -07:00
Blaine Gardner 1f65d84a8e Merge pull request #13755 from BlaineEXE/ci-fix-nightly-ids
ci: allow canary jobs to have ids for nightly suite
2024-02-14 11:19:28 -07:00
Blaine Gardner 3e76de7868 ci: allow canary jobs to have ids for nightly suite
For nightly jobs, canary tests are all running with the same job IDs,
making the last-run jobs cancel previous runs. Add a workflow-id
parameter to canary jobs that can be used to give each job in a canary
suite a unique job ID to prevent this.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-14 11:04:40 -07:00
subhamkrai 135307a4df ci: upgrade min k8s supported version to 1.24.17
upgrading minimum kubernetes supported version to v1.24.17
and also upgrading other kubernetes version to their latest
respective version.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-02-13 22:11:44 +05:30
subham rai b5eeb5d93e Merge pull request #13751 from rook/dependabot/github_actions/golangci/golangci-lint-action-4
build(deps): bump golangci/golangci-lint-action from 3 to 4
2024-02-12 18:41:37 +05:30
dependabot[bot] f264b45d30 build(deps): bump helm/kind-action from 1.8.0 to 1.9.0
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 12:15:48 +00:00
dependabot[bot] 2fffc69cfa build(deps): bump golangci/golangci-lint-action from 3 to 4
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3 to 4.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 12:15:45 +00:00
Blaine Gardner 33b603fa74 Merge pull request #13745 from rook/ci-run-canary-tests-nightly
CI: run canary tests nightly
2024-02-09 15:35:39 -07:00
Blaine Gardner 485e6fbf20 ci: run canary tests nightly
Run the canary test suites with nightly CI so that we can detect
incoming issues with Ceph devel versions.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-09 15:16:18 -07:00
Liang Zheng ee05e82cea osd: support create osd with metadata partition
Currently, when rook provisions OSDs(in the OSD prepare job), rook effectively run a
c-v command such as the following.
```console
ceph-volume lvm batch --prepare <deviceA> <deviceB> <deviceC> --db-devices <metadataDevice>
```
but c-v lvm batch only supports disk and lvm, instead of disk partitions.

We can resort to `ceph-volume lvm prepare` to implement it.

Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2024-02-07 11:34:09 +08:00
sp98 45adae1931 ci: fix ci failure for multicluster tests
This PR fixes the failure while running multicluster mirroring CI tests

Signed-off-by: sp98 <sapillai@redhat.com>
2024-02-06 12:54:18 +05:30
Blaine Gardner feacb6424e ci: fix detection of GH actions extra disk
The 'extra' block device attached to GH actions runners has changed size
twice in 3 months. The previous strategy of detecting the disk by size
is becoming harder to maintain. Additionally, the block size with recent
changes (75G) is now the same as the boot device (also 75G), making the
method inexact.

The method can now be summarized as, "find the boot disk and choose the
disk that isn't the boot disk to be the 'extra' one used."

Prior to this, we used a one-liner based on `lsblk`. While we could
still make this a one-liner, the method is now updated to 2 effective
lines, plus debug text output to stderr to help if we need to debug
further in the future.

Of note, the 'extra' disk has a mount point of "/mnt", but it is unclear
whether this is a reliable heuristic for detecting the extra disk. For
years now, GH action runners have had only 2 disks. Therefore, it seems
slightly more likely that a heuristic to "choose the non-boot disk" will
be a more robust long-term solution.

If this strategy proves to be unreliable in the future, it may be wise
to consider whether "the device with a partition mounted to '/mnt'"
would be a good alternative.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-05 17:55:16 -07:00
Travis Nielsen 577c7cc636 Merge pull request #13675 from subhamkrai/ci-fix-disk-size
ci: disk in github action increased to 75G from 64G
2024-02-05 10:28:59 -07:00
subhamkraiandJan Klippel 6b0deb32d9 ci: disk in github action increased to 75G from 64G
the disk size in the github action machine has
increased from 64G to 75G. Now, we detech the version
automatically not fetching hard coded value.

Co-authored-by: Jan Klippel <jan.klippel@uhurutec.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2024-02-05 22:24:03 +05:30
Blaine Gardner 21a99f33b2 Merge pull request #13670 from BlaineEXE/ci-add-gofmt-check
ci: check for gofmt usage in golangci-lint
2024-02-01 12:12:06 -07:00
Blaine Gardner c98ce0a56b ci: check for gofmt usage in golangci-lint
This is needed because not all contributors may be using gomft to format
source code, and this could result in inconsistent usage over time.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-01 10:26:46 -07:00
subhamkrai 62a978d54f ci: allow canary test to run on custom ceph image
Sometimes we need to run canary test on custom ceph images
to test any issue. For this we always need to create separate
PR with custom image. Now, with github action workflow_dispatch
we can use GitHub UI to pass ceph image as input for CI tests
and that image will be used to run the canary test otherwise,
it will be default value provided.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-01-19 10:21:13 +05:30
parth-gr 8e4ec01cbb external: honour support of cluster-name legacy flag
we have changed the --cluster-name flag to --k8s-cluster-name
but to support automation while upgrade we should support
the legacy flag

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-01-09 21:20:16 +05:30
dependabot[bot] bc12b87da2 build(deps): bump wagoid/commitlint-github-action from 5.4.4 to 5.4.5
Bumps [wagoid/commitlint-github-action](https://github.com/wagoid/commitlint-github-action) from 5.4.4 to 5.4.5.
- [Changelog](https://github.com/wagoid/commitlint-github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/wagoid/commitlint-github-action/compare/v5.4.4...v5.4.5)

---
updated-dependencies:
- dependency-name: wagoid/commitlint-github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 12:49:45 +00:00
Travis Nielsen c10fc802e3 Merge pull request #13453 from iPraveenParihar/test/csiaddons-validation
ci: add validation for csi-addons sidecar
2024-01-04 10:04:14 -07:00
Praveen M e9395d052f ci: add validation for csi-addons sidecar
Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-01-04 20:11:53 +05:30
Blaine Gardner 79e6a43747 Merge pull request #13461 from subhamkrai/fix-canary-arm64
ci: In arm64 daily test update livenessprobe
2024-01-02 08:24:24 -07:00
Ryotaro Banno e9c1f81d79 ci: wait for all OSD pods to become Running in wait_for_prepare_pod
Currently, `wait_for_prepare_pod` only waits until 1 prepare pod and 1
OSD pod are in Running state.

So if `wait_for_ceph_to_be_ready` failed after `wait_for_prepare_pod`
succeeded, there are 4 possible cases:

1. some prepare pods didn't start correctly;
2. some prepare pods didn't finish correctly;
3. some OSD pods didn't start correctly; or
4. all prepare pods and OSD pods worked correctly, but some other
   process failed.

As far as I understand, the number of prepare pods on the GitHub CI is
always 1, so cases 1 and 2 are not problematic. However, it is hard to
distinguish the other two cases from the CI log.

To solve the above problems, this patch makes wait_for_prepare_pod wait
for all OSD pods to become running state. If wait_for_prepare_pod
timeouts before the OSD pods become running state, this will be a strong
indication that the OSD pods didn't start properly (i.e., case 3).

Signed-off-by: Ryotaro Banno <ryotaro.banno@gmail.com>
2023-12-25 05:12:30 +00:00
subhamkrai f5be5b1fff ci: in arm64 daily test update livenessprobe
currently, in the cluster-test yaml, file we have both cephCluster
CR and cephBlockPool CR and we're trying to update the cephCluster
CR to disable the livnessProbe of mon, osd, mgr but since we had `yq write -d1`
it was updating the second instance of `spec` which is cephBlockPool
instead we have to do `yq write -d0` to update the cephCluster `spec`.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-22 10:32:55 +05:30
subhamkrai 2d3e561a00 ci: improve collect-log script
I was debugging helm tests, I noticed, the operator namespace
content is empty and operator is created in same namespace as
other pods. Also, let's collect the 'kube-system' namespace logs
in multus test only as that is the only test where we need to debug
cluster networking and require kube-system logs.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-19 21:08:06 +05:30
subhamkrai 0c115927e1 build: remove go1.20 support and default to go1.21
Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-19 11:55:03 +05:30
dependabot[bot] 4782ccf5ad build(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 12:36:21 +00:00
subhamkrai 54b3c9f79f ci: upgrade kubernetes version to latest version
Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-15 12:11:51 +05:30
Travis Nielsen 6449627976 Merge pull request #13385 from subhamkrai/clean-github-action
ci: add 'rook-ceph-seconday' ns to collect logs.
2023-12-13 15:32:13 -07:00
subhamkrai c05578a019 ci: fix multi-cluster-mirroing canary-test
use `sed` to update all the namespace in filesystem-test.yaml file.
Since with subvolumegroup CR added there are more than one `namespace: *`
present and only one was updating by yq command.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-13 16:50:53 +05:30
subhamkrai cb602fe33c ci: add 'rook-ceph-seconday' ns to collect logs
In canary test `multi-cluster-mirroring` we also need to collect
logs of `rook-ceph-secondary` namespace to debug the ci.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-13 15:08:07 +05:30
subhamkrai 319376bae5 ci: remove unwanted inputs from composite action
we are passing inputs to composite action, like
`github_token` which is not being used anymore. Its'
better to clean those lines.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-13 14:54:08 +05:30
Travis Nielsen b36b4f0037 Merge pull request #13363 from rook/dependabot/github_actions/actions/setup-go-5
build(deps): bump actions/setup-go from 4 to 5
2023-12-11 07:18:16 -07:00
Travis Nielsen 4b1f9968d4 Merge pull request #13364 from rook/dependabot/github_actions/actions/stale-9
build(deps): bump actions/stale from 8 to 9
2023-12-11 07:17:46 -07:00
dependabot[bot] 72256ad660 build(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:08:09 +00:00
dependabot[bot] 5d9a424174 build(deps): bump actions/stale from 8 to 9
Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:08:04 +00:00
dependabot[bot] a2c63650c5 build(deps): bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:07:59 +00:00
subhamkrai ccaffd935f ci: update go version in govulncheck
updating go version from `1.21.4` to `1.21.5`.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-08 09:07:22 +05:30