this commit handle golangci-lint linter errcheck.
`errcheck` - Errcheck is a program for checking for
unchecked errors in go programs. These unchecked errors
can be critical bugs in some cases
To see only staticcheck linter output
`golangci-lint run --disable-all -E errcheck`
Signed-off-by: subhamkrai <srai@redhat.com>
This PR makes the changes in csi templates and
upgrade documentation required for updating
csi sidecar images.
Signed-off-by: Mudit Agarwal <muagarwa@redhat.com>
this commit handle golangci-lint linter staticcheck error.
`staticcheck` - Staticcheck is a go vet on steroids,
applying a ton of static analysis checks.
To see only `staticcheck` linter output
`golangci-lint run --disable-all -E staticcheck`
Signed-off-by: subhamkrai <srai@redhat.com>
this commit will enable one more linter ineffassign
in golangci-lint.
This linter throws an error when variable is assigned and never used.
`golangci-lint run --disable-all -E ineffassign` is used detects ineffassign
errors only.
Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
this commit enables the rook integration
testing capability on openshift. currently
this commit enable CephSmokeSuite testing
only.
Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
Rook is now capable of configuring mirroring between sites. The
implementation works at different levels:
* CephBlockPool: which introduces a new `mirroring` configuration as well
as `statusCheck`. When turned on, Rook will enable mirroring on the
pool. It will also create a bootstrap peer token and store it in a
Kubernetes Secret. The name of that Secret can be found in the Status
field of the CephBlockPool CRD. This token can be fetched and used by
other clusters to configure the site as a peer. Mirroring can be
configured either at the pool or the image level.
* CephRBDMirror: which introduces a new `peers` configuration allowing
Rook to connect to peers by passing a Secret name. The administrator will
create a Kubernetes Secret with 2 keys: 'token' for the bootstrap peer
token and 'pool' for the name of pool. Once detected the rbd-mirror
controller will go ahead and import the peer configuration.
Pool mirroring status example:
```
status:
info:
rbdMirrorBootstrapPeerSecretName: pool-peer-token-test
mirroringInfo:
lastChanged: "2020-09-17T14:47:27Z"
lastChecked: "2020-09-17T14:48:27Z"
summary:
summary:
mode: image
peers:
- client_name: client.rbd-mirror-peer
direction: rx-tx
mirror_uuid: ""
site_name: rhcs
uuid: c50522a4-28a4-4bd3-ba68-e11780308882
site_name: 91eae0dd-06b1-4d2c-91f3-1311c9df382b-rook-ceph
mirroringStatus:
lastChecked: "2020-09-17T14:48:27Z"
summary:
summary:
daemon_health: OK
health: OK
image_health: OK
states:
replaying: 1
```
Signed-off-by: Sébastien Han <seb@redhat.com>
currently, we are setting the rook operator as owner
on the csidriver objects, as csidriver is cluster
scoped object we should not set namespaced object as
owner on cluster scoped object
fixes#6162
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
In K8s 1.19 the integration tests are not running in PRs since no test suites
were assigned to 1.19. Similarly, the flex suite was not being run since 1.14
was removed from the test matrix in master.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Added E2E testing to create,delete and restore
a snapshot, create a pvc-pvc clone, install
and uninstall snapshot controller and snapshot
CRD.
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
If we try to run the integration test with `go test`, it fails as follows.
```
$ go test -v -timeout 1800s -run CephMultiClusterDeploySuite github.com/rook/rook/tests/integration
=== RUN TestCephMultiClusterDeploySuite
2020-09-02 00:00:31.874738 I | installer: test environment variable (default) "STORAGE_PROVIDER_TESTS"=""
2020-09-02 00:00:31.950226 I | testutil: Loaded kubectl context kubernetes at https://192.168.123.2:6443. secure=false
2020-09-02 00:00:31.951121 I | integrationTest: running all tests
2020-09-02 00:00:32.027964 I | testutil: Loaded kubectl context kubernetes at https://192.168.123.2:6443. secure=false
2020-09-02 00:00:32.028640 I | installer: Rook Version: master
2020-09-02 00:00:32.028667 I | installer: Ceph Version: ceph/ceph:v14
2020-09-02 00:00:32.028686 I | installer: test environment variable "TEST_HELM_PATH"="/tmp/rook-tests-scripts-helm/linux-amd64/helm"
2020-09-02 00:00:32.031927 I | installer: test environment variable "TEST_SCRATCH_DEVICE"="/dev/sdb"
2020-09-02 00:00:32.031982 I | testutil: Running tests/scripts/localPathPV.sh [/dev/sdb]
ceph_multi_cluster_test.go:161:
Error Trace: ceph_multi_cluster_test.go:161
ceph_multi_cluster_test.go:151
ceph_multi_cluster_test.go:81
suite.go:102
ceph_multi_cluster_test.go:62
Error: Received unexpected error:
fork/exec tests/scripts/localPathPV.sh: no such file or directory
Test: TestCephMultiClusterDeploySuite
--- FAIL: TestCephMultiClusterDeploySuite (0.16s)
FAIL
FAIL github.com/rook/rook/tests/integration 0.211s
FAIL
$
```
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
It's messy to answer `y` everytime in `tests/script/kubeadm.sh clean.`
Since the cluster only exists for testing, it's safe to reset without prompting.
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
The upgrade tests can safely use the rbac.authorization.k8s.io/v1 instead of
rbac.authorization.k8s.io/v1beta1. In K8s 1.19, the upgrade test was failing
because v1beta1 has been deprecated.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The lifecycle preStop hook fails on container stop / exit
because /bin/sh is not present in the driver registrar container
image.
the driver-registrar will remove the socket file
before stopping. we dont need to have any preStop hook
to remove the socket as it was not working as expected
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This replaces any K8S clientset usages of the
`rbac.authorization.k8s.io/v1beta1` APIs with
`rbac.authorization.k8s.io/v1` client.
This is done as some RBAC objects used the `v1beta1` and others already
using `v1`, for consistency.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
This replaces any uses of `rbac.authorization.k8s.io/v1beta1` with
`rbac.authorization.k8s.io/v1` affecting RBAC objects like ClusterRole
and ClusterRoleBindings, etc. to make it consistent.
This is done as some RBAC objects used the `v1beta1` and others already
using `v1`.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
Currently, SmokeTest is not cleaned up after the test.
As this can affect other following tests, set rookCephCleanup as true.
Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
"Giving up waiting for Rook Toolbox to be ready" error always
logged even if Rook Toolbox is ready.
This commit fix the problem.
Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
`anon-user-access` clusterrolebinding is created when installing rook operator.
However each test suite does not delete the clusterrolebinding,
and cause errors.
This PR skip creating the clusterrolebinding in each suite if it already exists.
Signed-off-by: Takashi IIGUNI <iiguni.tks@gmail.com>
currently, the object store schema requires the
port to be non-zero. This does not allow http
access to the object store to be disabled.
so setting the port minimum to 0 to from 1 in the cr.
Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
The object bucket tests will now always check if the conditions being waited
upon for creating users and buckets were completed, instead of allowing
the test to continue even when they didn't succeed.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Previously we did not supported defining crushRoot in some of the CRDs. With this fix, we plan to fix this behaviour.
Signed-off-by: mridulv <mridulv09@gmail.com>
The object bucket check is sometimes not completed yet
that causes the integration test to fail intermittently.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
This commit will remove "sudo rm /usr/local/bin/kube*" and "sudo rm kubectl" in "tests/scripts/kubeadm.sh".
I think that CI-test doesn't make those files.
Signed-off-by: tenzen-y <toyonomajyutushi@yahoo.co.jp>
It's not necessary to use random string for mon directory.
In addition, current implementation leaves garbage under /var/lib/rook.
Signed-off-by: Takashi IIGUNI <iiguni.tks@gmail.com>