Commit Graph
330 Commits
Author SHA1 Message Date
Blaine Gardner 3e2e906ea7 test: update multus canary test
Update the multus canary test to reflect modern knowledge about how it
should be configured.

No longer test for the network device in OSD pods. Pods will utterly
fail to start if Multus is unable to attach interfaces.
Instead, look to the OSD map to test the connections more wholistically.
OSDs must have map IPs that include both public and cluster network.
This implicitly tests that the interfaces exist in the Pod, and it
additionally verifies other details, like Ceph `*_network` configs are
set propertly.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-09-18 17:15:23 -06:00
subhamkrai 90d81e11b6 ci: upgrade the kubernetes versions for ci
since, kubernetes v1.28.0 release upgrading the
latest k8s version to v.1.28.0 excepth objectSuite
tes.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-08-28 10:35:44 +05:30
subhamkrai ad50c8e780 ci: use local tag instead master image
using `rook/ceph:master` tags take longer time
to pull and also, we should be using `rook/ceph:local-build`
tag for our ci. This will help canary raw test to be more stable.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-08-25 17:26:54 +05:30
Travis Nielsen 8e1090b3be Merge pull request #12624 from parth-gr/s5-cmd
object: fix s5cmd for s3 endpoint verification
2023-08-04 08:19:28 -06:00
parth-gr 8a3f058329 object: fix s5cmd for s3 endpoint verification
add a new toolbox yaml manifest which will use the
rook image instead of ceph image
for running s5 cmd container needs to run with rook image

closes: https://github.com/rook/rook/issues/12227

Signed-off-by: parth-gr <paarora@redhat.com>
2023-08-04 18:29:05 +05:30
subhamkrai 4502ea8ee1 multus: use right interface in ci validation
runner version `2.306` had the interface `net`
but somehow version `2.307.1` which is latest
doesn't have `net` it has `eth0*` so using that.

```
cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth0:     446       5    0    0    0     0          0         0        0       0    0    0    0     0       0          0
sh-4.4# grep etho /proc/net/dev
sh-4.4# grep eth0 /proc/net/dev
  eth0:     446       5    0    0    0     0          0         0        0       0    0    0    0     0       0          0
sh-4.4# exit
```

Signed-off-by: subhamkrai <srai@redhat.com>
2023-08-02 20:11:34 +05:30
subhamkrai b9c41fd548 ci: same ceph version in toolbox and cluster-test
Let's use same ceph version(latest Reef) in both
cluster-test and toolbox.yaml so that we don't need
to pull image twice. Alos, github action helper script
was calling `deploy_manifest_with_local_build` which
is required for operator.yaml and not for toolbox.yaml.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-08-02 20:11:30 +05:30
subhamkrai 0ed91458dc test: collect kube-system logs for debugging
added kube-system namespace also to collect
logs from to debug the smoke suite issue

Signed-off-by: subhamkrai <srai@redhat.com>
2023-07-26 14:09:15 +05:30
Jiffin Tony Thottan b48dc8a335 object: intial cosi driver controller design
Adding CephCOSIDriver CRD and controller. The controller will bring up
the ceph cosi driver when first object store is created in the rook
operator namespace. Then admin can defined COSI CRDs like BucketClass
and BucketAccessClass for different object stores deployed via Rook.
Using the BucketClass and BucketAccessClass, user can define
BucketAccess for backend bucket in the RGW. The CephCOSIDriver CRD
defines configuration options for ceph cosi driver. In the first version
its usability is minimal. Even if it is not defined Rook will bring up
the ceph cosi driver with default values.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2023-07-18 22:49:41 +05:30
subhamkrai 70f29be748 ci: fix ci test encryption-pvc-kms-vault-token-auth
we need to wait for the rgw pod to be delete and not
only the cephobjectsore, sometime the pod could be in
terminating state. Also, in some place it require proper
command to wait for pod to be ready/delete and get the
pod name only.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-07-05 14:49:18 +05:30
Travis Nielsen 3b4ba859fd Merge pull request #12267 from parth-gr/fix-rgw-ci
ci: catch error in ci for external rgw server canary test
2023-05-31 12:42:12 -06:00
parth-gr ef4fa96e26 ci: catch error in ci for external rgw server canary test
currently we just print the error is anything fails in
script for rgw, So by that there is no panic or
failiure of script if something wrong happened,

Added Explicittly forcing to catch the error from
the error message that is thrown

Closes: https://github.com/rook/rook/issues/12244

Signed-off-by: parth-gr <paarora@redhat.com>
2023-05-31 18:42:52 +05:30
Blaine Gardner 2eb5a9a3f6 test: add CI e2e test for multus validation test
Add a CI e2e test for the multus validation routine that runs whenever
the multus validation test is modified and on master/releases.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2023-05-26 12:19:54 -06:00
Blaine Gardner e58b09c01c test: add tmate pod manifest
Add a tmate manifest that can be added to CI tests to allow manually
debugging them in real-time while the test is ongoing.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2023-05-19 16:59:23 -06:00
Blaine Gardner 0f6e7ee921 test: add multus validation test routine to rook binary
Add a more involved multus validation test to the Rook binary. Because
this is intended to be end-user runnable, make sure operator-only
commands are hidden.

Build this into the rook binary instead of creating a separate binary
for ease, and because any binary built with the kube api becomes 40+
megabytes. We save quite a bit of space by including this in the Rook
binary, which is good for keeping container layers as small as possible.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2023-05-02 10:23:00 -06:00
Travis Nielsen 8ea26a72ed Merge pull request #11789 from thotz/test-failure-encryption-pvc-kms-vault-token
test: check rgw pod is running for canary github workflow
2023-04-06 10:55:55 -06:00
Jiffin Tony Thottan 715c89bcd8 test: check rgw pod is running for canary github workflow
For the RGW daemon validation please check whether pod is Running than
the exisitng checks

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2023-04-06 16:28:10 +05:30
Alexander Trost 99f5c9c713 build: fix publish docs step
The `DOCS_GIT_REPO` var needs to be exported when not set through a `.env`
file, as otherwise it is not propagated to commands run in the
`build-release.sh` script.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-04-04 18:50:02 +02:00
Alexander Trost 76ddb32025 Merge pull request #11968 from koor-tech/feature/ksd-124 2023-04-04 17:48:06 +02:00
travisn 558732d0ae ci: canary test should enable the prometheus module
The canary test is waiting for the prometheus module,
which is now disabled by default. For the canary test,
we need to enable the prometheus module for the external
cluster test.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-04-03 15:32:11 -06:00
Alexander Trost ecb6ba7383 build: allow overriding variables from a dot env file
This helps forks build custom rook releases more easily by allowing
certain Makefile vars to be overwriten using a `.env` file.
In addition this introduces the `DOCKERCMD` var to the
`build/release/Makefile`.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
Signed-off-by: Deepika Upadhyay <deepika@koor.tech>
Signed-off-by: Zuhair AlSader <zuhair@koor.tech>
2023-03-31 11:34:07 -04:00
Blaine Gardner ab9fa938d4 docs: add script to help evaluate environments for multus
Add a script to help evaluate environments for running multus.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2023-03-15 15:54:40 -06:00
Rakshith R b9fc9a643e ci: add test for key rotation
This commit adds test for key rotation.

Signed-off-by: Rakshith R <rar@redhat.com>
2023-03-08 12:07:26 +05:30
subhamkrai d983f3620e ci: fix multus ci
Signed-off-by: subhamkrai <srai@redhat.com>
2023-03-02 12:20:59 +05:30
Travis Nielsen 4c5163f843 test: print return value for intermittent failure
The canary tests sometimes have an intermittent failure
when processing the return value of a grep for the osds
to be running. Print some debug info to help track it
down.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2023-02-23 09:11:20 -07:00
Travis Nielsen ff01722b0f test: increase timeout waiting for ceph commands
The test scripts were only waiting for a timeout of three
seconds for ceph commands, which was causing intermittent
failures in the CI. Now the timeout is increased to
ten seconds.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2023-02-23 09:11:20 -07:00
Travis Nielsen 11e80b7047 Merge pull request #11436 from subhamkrai/bump-ci-k8s-version
ci: Update min K8s support to 1.21 and add 1.26 support
2023-02-14 20:26:56 -07:00
subhamkrai 1effb11a0a ci: bump min and max k8s support
this commit bump minmum k8s version to 1.21.14 and
max k8s version to latest 1.26.0. Keeping support for
most recent 6 versions.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-02-15 07:08:02 +05:30
Travis Nielsen eb4a727658 docs: remove mention of psps from documentation
The PSPs have long since been deprected. In K8s 1.21 the PSPs
were first deprecated, and support was completely removed
for them in 1.25. With Rook v1.11, the min supported version of
K8s is now 1.21. To reduce confusion in the documentation,
mention of the PSPs is now removed from the 1.11 docs.
For the corner case that users still require the PSPs,
the helm chart still contains the option for creating PSPs
or other users can still create the psp.yaml.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2023-02-13 13:30:32 -07:00
subhamkrai 45a10dcb85 core: upgrade to latest operator-sdk v1.25.0
upgrading to latest operator-sdk later version
and changing the way of csv generation.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-02-13 17:08:09 +05:30
Joshua Hoblitt 468f3f6f35 test: add secondary->master zone repl test to rgw-multisite-test
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2023-01-19 16:12:30 -07:00
Joshua Hoblitt 97bcc0a349 test: remove naughty words
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2023-01-19 11:13:12 -07:00
Shinya Hayashi 05875a3f4f osd: support loop devices for test clusters
A new variable is added to rook-ceph-operator-config
ConfigMap to allow using loop devices for osd.

This feature is intended to be used for testing purposes only.

Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
2022-11-09 06:45:41 +00:00
Blaine Gardner 51fac0a993 nfs: fix nfs grace period when multus is enabled
Run the ganesha-rados-grace command in a remote pod when multus
networking is enabled.

Signed-off-by: parth-gr <paarora@redhat.com>
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-10-05 16:28:36 -06:00
subhamkrai cc65134d55 ci: create vault secret manually for k8s 1.24
The service account generated a secret that is required for
configuration automatically in Kubernetes 1.23. In Kubernetes
1.24+, you need to create the secret explicitly.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-09-30 18:36:33 +05:30
Satoru Takeuchi 5c2d325cc4 ci: move to ubuntu 2004 completely
github-hosted runner ubuntu-18.04 will be removed by Dec. 1st, 2022.

https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/

So, let's change the all runnners to ubuntu-20.04.

We need to uninstall `snapd` because `snapd` prevents kernel from
unmounting `/mnt` completely.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-09-27 04:32:20 +00:00
parth-gr ddea97ebde nfs: fix nfs if multus is enabled
Closes: https://github.com/rook/rook/issues/10812
Signed-off-by: parth-gr <paarora@redhat.com>
2022-09-21 14:09:40 +05:30
Satoru Takeuchi 47f7aefa20 ci: improve the log on intermittent build failure
The build process sometimes fails with intermittent problems. Some of them
are known problems and then we retry build process. However, there still
are unknown problems. In this case, it's hard to find the reason because
the build process exits immediately.

ref.
https://github.com/rook/rook/runs/8225144002?check_suite_focus=true#step:3:926

```
+ case "$o" in
+ exit 1
Error: Process completed with exit code 1.
```

To make debugging easier, let's print the output of `make`. This log won't be
too long since `make` prints most messages to stderr.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-09-07 10:48:21 +00:00
Rakshith R 07aac106df ci: add e2e for csi-nfsplugin restart
This commit adds e2e for csi-nfsplugin restart
when it is not on host-networking.

Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-02 14:16:15 +05:30
Travis Nielsen 44d62aaaaf Merge pull request #10699 from subhamkrai/upgrade-to-ubuntu22.04
ci: ubuntu 18.04 is deprecated upgrade to ubuntu 20.04
2022-08-29 09:51:25 -06:00
Travis Nielsen fb13df1d33 Merge pull request #10784 from subhamkrai/update-log-collector-script
test: update logcollector to get secrets -oyaml
2022-08-26 09:39:21 -06:00
subhamkrai d1e3023439 ci: collect operator logs in debug mode
collect operator logs in debug mode for both
canary tests and integration tests.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-08-26 19:32:59 +05:30
subhamkrai aec9ac3060 ci: ubuntu 18.04 is deprecated upgrade to ubuntu 22.04
Signed-off-by: subhamkrai <srai@redhat.com>
2022-08-26 15:19:26 +05:30
subhamkrai 0ae55eb472 ci: add right indentation for ci yaml and sh files
these indenation where added by vscode extentions.
for yaml I have extention ` YAML` by Red Hat
for bash I have `shell-format` and `shellCheck`.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-08-26 08:37:40 +05:30
Blaine Gardner 1e9bbae583 docs: move PSPs from common.yaml to psp.yaml
Also update docs. Use `make gen-rbac` to generate psp.yaml.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2022-08-25 16:39:52 -06:00
subhamkrai a9b7894fb4 test: update logcollector to get secrets -oyaml
in case of secrets we need to get `-oyaml` instead
of `describe` since in describe it will be hidden.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-08-24 21:41:42 +05:30
subhamkrai 4a05115aef ci: fix multus depment cr link
Signed-off-by: subhamkrai <srai@redhat.com>
2022-08-22 16:58:55 +05:30
Travis Nielsen fc541764f1 Merge pull request #10484 from jsoref/spelling
core: fix spelling
2022-07-15 08:31:41 -06:00
Travis Nielsen 53955790f3 ci: pin the whereabouts version to v0.5.3
The whereabouts manifests in the master branch
have moved around, so until the new approach
is investigated we pin to the latest release
version v0.5.3

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-07-13 10:37:15 -06:00
Satoru Takeuchi 7e571f6114 osd: support OSD on logical volume in host-based cluster
Rook supports raw mode OSD in host-based cluster. So we can also
support OSD on logical volume in this kind of cluster.

Logical volumes aren't picked by filters (i.e. `useAllDevices: true`
and `device{Path,}Filter` to avoid unwanted LV consumption on upgrade.

Closes: https://github.com/rook/rook/issues/2047

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2022-07-11 21:08:50 +00:00