Commit Graph
616 Commits
Author SHA1 Message Date
TomHellier 6c9c91f131 build: update s5cmd to resolve vulnerabilities
The docker.io/rook/ceph image contains vulnerabilities in the s5cmd binary.
A new version of s5cmd was released on 16th December which resolves these issues.

Signed-off-by: TomHellier <me@tomhellier.com>
(cherry picked from commit a87843de62)
2024-12-17 15:20:15 +00:00
Peter Razumovsky 7a29055e36 osd: add osd auth recovery from file canary job test
Add test to canary-integration-test scenarios which removes
osd auth and then recovers it on osd activation from keyring
file.

Resolves: #14825
Signed-off-by: Peter Razumovsky <prazumovsky@mirantis.com>
(cherry picked from commit 12613bc2fa)
2024-11-15 22:14:49 -07:00
Satoru Takeuchi 123f97e899 doc: avoid always enabling tmate session
tmate session is always enabled by mistake. This bug is
introduced in the following PR.

https://github.com/rook/rook/pull/14934

We should enable this if `inputs.debug-ci` is `true`.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 47ca3fd245)
2024-10-31 14:07:58 +00:00
Satoru Takeuchi 135a084f68 test: make debug-ci label work again
cmoposite workflow can't use `github` variable.

close: https://github.com/rook/rook/issues/14898

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 448f42ab12)
2024-10-30 17:26:29 +00:00
Satoru Takeuchi 70f639c307 test: specify ceph image correctly
`encryption-pvc-kms-ibm-kp` workflow replaces the name of ceph-image.
Since the dest value is always empty by mistake, this workflow
always fails.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 36721edae8)
2024-10-28 19:01:14 +00:00
Praveen M 794b5655ed ci: add test for vault key rotation
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit c9bc3a2685)
2024-10-24 17:39:18 +00:00
Michael Adam 44993687f2 ci: remove incorrect comment from codegen workflow
PR #14883 fixed the codegen workflow but introduced a comment
that is simply wrong.

This change rectifies this mistake by removing the comment.

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 714f80a80a)
2024-10-22 17:18:16 +00:00
Michael Adam 04af4bb93c ci: fix the codegen workflow
The codegen workflow recently sometimes failed to detect files modified
by codegen. This has been analysed in a test PR:
https://github.com/rook/rook/pull/14723

The result of the analysis is the insight that the codegen tooling did not work
as expcted because the git checkout was not located in the src/github.com
directory under the GOPATH.

This change fixes the codegen workflow by post-processing the git checkout
action by copying the git checkout directory to the expected location.

Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit f32d3df995)
2024-10-22 15:51:56 +00:00
Joshua Hoblitt 251c7b432b test: fix ceph image tag used by most canary tests
Fix ceph image tag string passed to replica_ceph_image.  Previously, the
result was "" was being passed in most cases.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 84694397bc)
2024-10-18 20:43:25 +00:00
subhamkrai 230d142d45 ci: macos-12 will EOL soon, let's use latest tag
Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit febfa5acbc)
2024-10-18 13:44:12 +00:00
Joshua Hoblitt 32a6976046 test: improve reliability of canary rgw-multisite-testing
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 92d9f994c2)
2024-10-14 17:07:47 +00:00
Joshua Hoblitt f3468c7860 test: inline .github/workflows/rgw-multisite-test
Merge/inline.github/workflows/rgw-multisite-test/action.yml into
.github/workflows/canary-integration-test.yml as the step from the
"composite" action are not displayed in the console.  The absence of the
step names may make it difficult to determine where a failure is
occurring.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit b4ac943b62)
2024-10-14 17:07:45 +00:00
Joshua Hoblitt 4822dfc73c test: mv canary test specific resources out of deploy_cluster()
Factor out most of the CRs used by various canary tests to a new
deploy_cluster_full_of_cruft_please_stop_using_this() function.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 31d55b90fe)
2024-10-03 17:51:32 +00:00
Joshua Hoblitt 33b345f0a5 test: add object-with-cephblockpool canary test
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit ed8156017e)
2024-10-03 17:51:31 +00:00
Michael Adam e751697177 build: support golang 1.23
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 9ecd6a2500)
2024-09-25 16:16:53 +00:00
subhamkrai 3b9188071d ci: fix ci permission issue with minikube start
this commit upgrade the minikube, k8s, crictl versions
in CI and also fix permission error in the github runner.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit f647444515)
2024-09-19 16:01:29 +00:00
Alexander Trost 4f69682e7d ci: code spell ignore grafana dashboard json files
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
(cherry picked from commit 325950239b)
2024-09-12 16:44:34 +00:00
subhamkrai 194b3403e7 csi: add csi-operator rbac, crds files
adding the CSI-operator manifest files
inside rook repo naming deploy/examples/csi-operator-manifests.yaml.

Also, let's skip running any lint check on file `deploy/examples/csi-operator.yaml` as this is owned by CSI-operator.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit c30b8a527b)
2024-08-15 16:45:05 -06:00
Blaine Gardner 63f95ce842 ci: fix failing multus validation tool test
Ceph image no longer has `ip` tool installed. Use a different container
image for the daemonset which sets host IPs and routes for multus hosts.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 5773132d7f)
2024-08-14 21:30:43 +00:00
Travis Nielsen 955876cc44 core: support k8s versions 1.26 through 1.31
With the release of K8s v1.31.0, we update the minimum
supported version to v1.26, and add v1.31 to the CI
so we can test the most recent six versions of K8s.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit e157bb5a56)
2024-08-13 17:58:03 -06:00
Michael Adam db55e50b80 ci: fix excessive token permissions -- again
PR https://github.com/rook/rook/pull/14473

tried to improve the token-permissions score of the OpenSSF scorecard
report.

https://scorecard.dev/viewer/?uri=github.com/rook/rook

The latest scorecard run however shows that this score has  not improved.
It still shows two warbnings about missing top level permissions.

The rest looks good (just Info entries).

This change aims at  finally improving the token-permissions score

by adding top level permissions to the two warned-about workflow files.

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 2d292976a6)
2024-08-12 18:20:41 +00:00
Sebastian Riese 85949049a3 rgw: add support for keystone auth + swift/s3
For the specification see:
<https://github.com/rook/rook/blob/master/design/ceph/object/swift-and-keystone-integration.md>

* extend the API object specs for swift and keystone integration

* adapt rgw to the new go-ceph version

  - The parameter lists of the API call have changes, as parameters
    ignored by the RGW Admin Ops API are no longer serialized, therefore
    the mock has to be adapted.

  - There is now validation for the user keys that are passed to the
    User get API, therefore things failed when we had empty keys in our
    User proxy object.

* expand the reconcile loop for the swift and keystone integration

* fix minor mistakes in design document

* add env var to pass extra args to minikube

  Minikube decides CPU cores and memory automatically based on the
  available resources on the machine which may be insufficient to
  run rook. This commit adds an environment variable to add arbitrary
  arguments to the minikube command, so both can be specified if
  desired.

* integration tests for swift and keystone

  The new integration of swift or s3 and keystone support by rook
  does not have any integration tests yet.

  This commit introduces integration tests for swift and keystone. The
  tests are done against a minimal keystone setup (keystone container
  image from Yaook-project (https://yaook.cloud), sqlite as database
  backend, cert-manager and trust-manager for test certificate setup).

  To prevent hardcoded credentials, passwords are generated
  by the tests. The integration tests use the openstack client
  (keystone- and swift-functionality) (https://docs.openstack.org/
  python-openstackclient/ latest/). This was a concious design decision
  to use client tooling as close as possible to the end user instead of
  using other go-libraries (such as gophercloud).

* add documentation on swift and keystone

  Currently there is no documentation on the use of Swift to access
  an object store as well as the use of OpenStack keystone for
  authentication.

  This commit adds documentation on the use of Swift and OpenStack
  keystone, as well as CRD-related documentation and an example setup.

* add integration tests for S3 via keystone

  This commit introduces integration tests for s3 and keystone. The
  tests are run against the same minimal keystone setup that the tests
  for swift and keystone use.

  The integration tests use the aws s3 client to use client tooling as
  close as possible to the end user instead of using other go-libraries.

Co-authored-by: Jan Klippel <jan.klippel@uhurutec.com>
Co-authored-by: Silvio Ankermann <silvio.ankermann@cloudandheat.com>
Signed-off-by: Sebastian Riese <sebastian.riese@cloudandheat.com>
Signed-off-by: Jan Klippel <jan.klippel@uhurutec.com>
Signed-off-by: Silvio Ankermann <silvio.ankermann@cloudandheat.com>
(cherry picked from commit ee8bcad49d)
2024-08-08 15:56:28 +00:00
Michael Adam c57a21a80e ci: fix the permissions of the assign action
Fixes: #14518

A recent change seems to have broken the permissions of the auto-assign
action.

This tries to fix this by making permissions more specific.

Signed-off-by: Michael Adam <obnox@samba.org>
2024-07-31 20:06:38 +02:00
Michael AdamandBlaine Gardner 9b2b9b7be2 ci: fix excessive token permissions
Fixes: #14466

The OpenSSF scorecard report

https://scorecard.dev/viewer/?uri=github.com/rook/rook

warns about excessive token-permissions in the rook project's github CI
workflows.

This bulk change aims at improving this by

1. adding top-level read permissions where missing for integration tests.
2. adding write permissions as needed for the auto-assign workflow.
3. removing the warned-about and unused create-tag workflow

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
2024-07-22 12:34:01 +02:00
Travis Nielsen 22d4139b74 core: add support for ceph squid
With the release of the first squid RC, we add squid
to the supported versions and add tests to run
Rook against the squid release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-07-15 10:04:32 -06:00
Blaine Gardner 33f5407dd4 multus: add host checking to validation tool
In order to help users check that they have implemented the newly-added
Multus host configuration prerequisites, add a check to the validation
tool to verify connectivity.

Because users who are already running clusters with Multus enabled, add
a flag that allows users to only check for host configuration
prerequisites. This mode will not start the large number of clients that
would normally be started because those clients could disrupt a running
Rook cluster negatively.

Host checking pods require host network access. Many Kubernetes
distributions have pod security features enabled. In order to allow
non-Vanilla distros to run this tool, allow specifying a service account
that pods will run as, which can be configured by the admin to allow
test pods.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-07-10 13:41:38 -06:00
subhamkrai b4510fdace ci: fix govulcheck by updating to go 1.22.5
govulcheck requires go 1.22.5 and even if `check-latest` is `true`
with go `1.22` it is failing so setting specific version go `1.22.5`

Signed-off-by: subhamkrai <srai@redhat.com>
2024-07-03 17:15:18 +05:30
subhamkrai d116429f75 build: upgrade to go 1.22
this commit upgrade to go 1.22 in go mod file and ci related files.
Also remove go 1.21 support

Signed-off-by: subhamkrai <srai@redhat.com>
2024-07-03 17:01:33 +05:30
parth-gr 5387ef16fd external: add support for config file in external mode
Now user can pass the cli flags using config file and
also command line argument,
if mentioned at both the place priority is given to
command line argument

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-06-26 17:07:49 +05:30
subhamkrai 85c25bbc6e ci: fix codespell ci by skipping some words
fixing 'secert' to `secret` and adding workds like
`NotIn, addin` to skip work list.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-05-27 10:26:34 +05:30
NymanRobin 8af9917b9e ci: bump github actions dependency setup-go
The version v2 was deprecated and was causing warnings.

Signed-off-by: NymanRobin <robin.nyman@est.tech>
2024-05-14 12:46:33 +03:00
dependabot[bot] b55b65a3f2 build(deps): bump golangci/golangci-lint-action from 5 to 6
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5 to 6.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6)

---
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-05-13 12:19:27 +00:00
Blaine Gardner 115e0aa430 ci: add missing markdownlint CI step
The CI step that runs markdown lint accidentally got removed as part of
PR updates. Add the CI step back in.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-05-08 10:55:33 -06:00
Blaine Gardner f21f3f549c ci: update go version for govulncheck
Update the version of Go used for govulncheck to get the latest CVE fix
present in Go v1.22.3.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-05-08 08:01:57 -06:00
subhamkrai 11ce20feaf ci: update ubuntu image to 22.04
updating ubuntu image to 22.04 from 20.04 which is used in ci test

Signed-off-by: subhamkrai <srai@redhat.com>
2024-05-07 12:46:12 +05:30
Travis Nielsen 8ec9f94387 Merge pull request #14072 from rook/dependabot/github_actions/wagoid/commitlint-github-action-6.0.1
build(deps): bump wagoid/commitlint-github-action from 6.0.0 to 6.0.1
2024-05-02 12:05:34 -06:00
subham rai 6e53a97ac4 Merge pull request #14136 from rook/dependabot/github_actions/helm/kind-action-1.10.0
build(deps): bump helm/kind-action from 1.9.0 to 1.10.0
2024-04-29 22:40:40 +05:30
dependabot[bot] 4c9f40b90f build(deps): bump golangci/golangci-lint-action from 4 to 5
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4 to 5.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5)

---
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-04-29 12:21:09 +00:00
dependabot[bot] 188f153bc4 build(deps): bump helm/kind-action from 1.9.0 to 1.10.0
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/v1.9.0...v1.10.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-04-29 12:21:03 +00:00
subhamkrai 128ec16ee6 ci: add k8s 1.30 support in ci
adding support for kubernetes 1.30 in ci which released yesterday.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-04-19 07:41:05 +05:30
dependabot[bot] 2334494ddf build(deps): bump wagoid/commitlint-github-action from 6.0.0 to 6.0.1
Bumps [wagoid/commitlint-github-action](https://github.com/wagoid/commitlint-github-action) from 6.0.0 to 6.0.1.
- [Changelog](https://github.com/wagoid/commitlint-github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/wagoid/commitlint-github-action/compare/v6.0.0...v6.0.1)

---
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-04-15 12:29:49 +00:00
Liang Zheng e76dd03f54 ci: add misspell linter
add misspell linter to check all source codes

Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2024-04-08 18:51:04 +08:00
subhamkrai f063e8fe39 ci: update go mod and go version in govulncheck
this commits updates the go version to 1.22.2 in govulncheck ci and
also updates golang.org/x/net to v0.23.0 to fix the ci

Signed-off-by: subhamkrai <srai@redhat.com>
2024-04-04 12:08:35 +05:30
dependabot[bot] 1c40381790 build(deps): bump wagoid/commitlint-github-action from 5.4.5 to 6.0.0
Bumps [wagoid/commitlint-github-action](https://github.com/wagoid/commitlint-github-action) from 5.4.5 to 6.0.0.
- [Changelog](https://github.com/wagoid/commitlint-github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/wagoid/commitlint-github-action/compare/v5.4.5...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 12:19:04 +00:00
Travis Nielsen 83b017994e ci: fix mergify auto merge test names
The test names must match exactly for the mergify
auto merge to complete successfully. Update two of
the test names to match the latest CI.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-03-28 15:57:37 -06:00
subhamkrai 43e0c1cdb3 build: add support for go 1.22
Few day's back go 1.22 is release. Let's add that
as valid version to build on. Also, adding 1.22 as
test matric for linux build CI.

https://tip.golang.org/doc/go1.22

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-27 10:34:21 +05:30
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