Commit Graph
1260 Commits
Author SHA1 Message Date
Blaine Gardner 52f5119cef multus: allow node profiles in validation test
Add the ability to specify node profiles in the multus validation test.

This addresses a few points of early feedback on the validation tool.
Statements below critique the tool's behavior before this patch.
1. The tool assumes all daemons are on public and cluster network, which
   means users who have a significantly smaller cluster net (a
   design choice) cannot run a single test to determine if Rook is
   likely to install correctly.
2. The tool does not have placement options to select only a subset of
   Kubernetes nodes to run validation on.
3. Users of multus seem to have a dedicated pool of storage nodes more
   often than the average Rook install. This makes sense for security-
   and perforance-minded users. The tool cannot run a single test to
   verify storage-only and general-workload nodes at one time.

These points are addressed by allowing users to specify configurations
for different "NodeTypes."

Each NodeType config has options for selecting the number of OSDs as
well as the number of other (non-OSD) Ceph daemons. This limits the
unnecessary exhaustion of cluster network addresses from critique 1.

Each NodeType config has its own placement (critique 2).

Users can define as many NodeTypes as needed to test the network for
their planned CephCluster. Specifically, this allows the tool to test
storage-only nodes and generalized-workload nodes at the same time. An
arbitrary number of NodeTypes are allowed to support even more highly
specialized cluster setups, such as multiple tiers of storage nodes
where some storage-only nodes may run more OSDs than others.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 0c721e05d5)
2023-10-04 15:46:21 -06:00
Travis Nielsen 320795292d Merge pull request #12995 from rook/mergify/bp/release-1.12/pr-12633
object: create cosi user for each object store (backport #12633)
2023-10-04 13:48:57 -06:00
Travis Nielsen 6bd401c80f Merge pull request #12975 from rook/mergify/bp/release-1.12/pr-12971
ci: remove workaround for clean disk action (backport #12971)
2023-10-04 10:50:11 -06:00
Jiffin Tony Thottan c92bf401ab object: create cosi user for each object store
Create each cosi user for each object store and secret which holds
credentials.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit a941b3c33f)
2023-10-04 16:10:52 +00:00
Redouane Kachach 5f8c552b91 docs: fixing some spelling issues
closes: https://github.com/rook/rook/issues/12987

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit b3dd74ea20)
2023-10-03 14:06:59 +00:00
subhamkrai 7b0a46c07d ci: remove workaround for clean disk action
The issues are fixed from the clean disk action
repo and we shouldn't require any workaround. Also,
I'm not using git revert to revert the commit is earlier
clean disk action was mentioned in every CI which was
duplicate and now we have placed the action to composite yaml

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit e14f8c7710)
2023-09-29 15:58:14 +00:00
subhamkrai 0723bab51d ci: fix github action free disk space
Since `google-cloud-sdk` is renamed with `google-cloud-cli`,
the github action is failing to remove the older name and this
is causing ci issues. Applying changes suggested by community to
manually remove some packages to resolve the issue.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 3267576307)
2023-09-28 14:23:18 +00:00
Blaine Gardner 79333c9d6c 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>
(cherry picked from commit 3e2e906ea7)
2023-09-19 17:29:45 +00:00
subhamkrai 9858f214e9 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>
(cherry picked from commit 90d81e11b6)
2023-08-28 16:06:27 +00:00
subhamkrai ddcb9efa9a ci: enable tmate when in debug mode
we don't want to wait for extra 10min once the ci passed,
so we'll add a check if `debug-ci` label is added or debug runner
is triggered from UI then only start tmate. Also, updaing the
development doc and rook test doc.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit a223b6777b)
2023-08-28 14:32:18 +00:00
subhamkrai dd0451117f 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>
(cherry picked from commit ad50c8e780)
2023-08-25 15:10:22 +00:00
travisn 4fdee4b7d7 tests: use same ceph version for toolbox in multicluster
The multicluster test was using a different ceph image for the
toolbox than from the original cluster. For efficiency of
pulling images in the test, the toolbox of the external cluster
will now use the same ceph image as the internal cluster.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 0bd7d4ac84)
2023-08-17 14:38:34 +00:00
travisn f9e419329d tests: start toolbox earlier in tests
The toolbox sometimes times out when the tests are waiting
for it to start. Now we create the toolbox spec sooner in
the tests so we won't need to wait so long for it to start
or increase the wait timeout in the tests.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 90d06a862b)
2023-08-17 14:38:34 +00:00
parth-gr eae3643ece ci: fix testobjectsuite ci
Current reason for failure
clients: "cephbuckettopic" "my-topic" exist, but ARN was not set

Added some more re-try as it might take some more time to
update the ARN in status

OBC bound status was failing and going into
race condition adding a seprate timeout
makes recover it from that state

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 715bd31a0a)
2023-08-09 15:05:56 +00:00
parth-gr 0f1d90b0b6 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>
(cherry picked from commit 8a3f058329)
2023-08-04 14:20:13 +00:00
Travis Nielsen 88a92ff77a Merge pull request #12648 from rook/mergify/bp/release-1.12/pr-12608
ci: skip mgr pod restart count upgrade 1.22.x suite (backport #12608)
2023-08-02 11:35:25 -06:00
subhamkrai 1661f84179 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>
(cherry picked from commit 4502ea8ee1)
2023-08-02 16:16:17 +00:00
subhamkrai fa78cd72ba 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>
(cherry picked from commit b9c41fd548)
2023-08-02 16:16:16 +00:00
subhamkrai d29095421b ci: skip mgr pod restart count upgrade 1.22.x suite
for now, let's skip the mgr pod restart count
for upgrade suite 1.22.x to get the CI green
and so that we don't skip any other error in name
of mgr restart count.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 1bd4ab9d81)
2023-08-02 16:03:46 +00:00
travisn dd0401e711 build: update release version to v1.12.1
For the patch release update the examples and docs

Signed-off-by: travisn <tnielsen@redhat.com>
2023-08-01 14:33:24 -06:00
travisn e326dc7c07 tests: multi cluster suite toolbox version
The toolbox image tag was always being set from #12625
even when the image was not set in the test. If the image
is not set, skip replacing the image name to use the default
test version.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit c17724b536)
2023-07-31 23:11:48 +00:00
travisn 31cc2c554e tests: toolbox uses same ceph image as the test
The test is currently only using the ceph version that is
included with toolbox.yaml, which may be different
from the version of the ceph cluster being tested.
Now the version will be replaced to match the desired
ceph test version.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 600068ea21)
2023-07-31 21:07:10 +00:00
Alexander Trost a6bab103c3 Merge pull request #12601 from rook/mergify/bp/release-1.12/pr-12564 2023-07-26 22:31:51 +02:00
subhamkrai 2c5672ab65 test: fix upgrade suite for 1.27.x version
the upgrade suite for version 1.27.x is failing
due
```
debug 2023-07-24T19:11:20.264+0000 7f3395a82c80 -1 error: monitor data filesystem reached concerning levels of available storage space (available: 5% 4.4 GiB)
you may adjust 'mon data avail crit' to a lower value to make this go away (default: 5%)
```
so adding mon setting to start on `compact` also adding
other setting present in cluster-test.yaml.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit e8e8a4673a)
2023-07-26 15:48:23 +00:00
subhamkrai 73fed34bfb 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>
(cherry picked from commit 0ed91458dc)
2023-07-26 15:02:45 +00:00
Jiffin Tony Thottan ce716d538c 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>
(cherry picked from commit b48dc8a335)
2023-07-18 18:12:53 +00:00
Javier 3df489326a test: update reef as default version
update ceph to reef as default version

Signed-off-by: Javier <sjavierlopez@gmail.com>
(cherry picked from commit d17109a5f5)
2023-07-17 21:15:40 +00:00
Javier af7a063bf7 test: support Ceph Reef v18 with updated integration tests
update test files to support the next version of ceph, ceph reef v18

Signed-off-by: Javier <sjavierlopez@gmail.com>
(cherry picked from commit 46cb9435a6)
2023-07-11 00:05:43 +00:00
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
travisn 557a3e06cc core: api updates for controller runtime v0.15
For the controller runtime v0.15 there are some breaking
changes to the api that need to be updated.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-06-22 10:33:28 -06:00
Sheetal Pamecha a6d57c164d test: upgrade tests to update from v1.11
With the upcoming v1.12 release, Rook upgrade tests
should upgrade from v1.11.x to master instead of
from v1.10.x to master.

Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
2023-06-13 03:48:45 +05:30
Travis Nielsen 12d79814d3 Merge pull request #12257 from travisn/test-doc
docs: Update the integration test guide
2023-06-08 16:50:42 -06:00
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
travisn fa5b758f9e docs: update the integration test guide
The integration test guide is updated to be more accurate
and provide more hints that the CI is the recommended
place to troubleshoot the integration tests

Signed-off-by: travisn <tnielsen@redhat.com>
2023-05-22 12:10:15 -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 5a1d1f2175 Merge pull request #12069 from BlaineEXE/multus-golang-tester
test: add multus validation test routine to rook binary
2023-05-02 19:37:29 +02: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
travisn db04b127b0 core: remove obsolete journal size config value
The journal size was only applicable to the filestore OSD
format which has not been supported by rook since v1.2.
Remove the remaining obsolete setting from the examples and
code.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-04-24 15:54:53 -06:00
travisn 609ac91cb1 core: update default image to ceph v17.2.6
With the release of ceph v17.2.6, the examples and the base
image for the operator are updated to pick up the latest
and greatest.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-04-11 14:07:11 -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 44d58ef605 Merge pull request #11898 from BlaineEXE/multus-net-tester
docs: add script to help evaluate environments for multus
2023-03-15 16:04:31 -06: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
travisn 0484a3973f csi: update port to 3300 if msgr2 is required
When msgr2 is required, ensure the mon endpoints passed to
the csi configmap are on port 3300. The mons will be
listening on both 6789 and 3300. Existing volumes can
continue using port 6789 while new volumes will use
port 3300.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-03-10 10:34:56 -07:00