The image pull policy was expected to be set in the cephcluster
CR or else the helm deployment would fail. Now we set the expected
default to pull if not present.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
into a single combined integration-test-setup-cluster-resources
workflow. This ensures that the same gha runner preparation, go version,
etc. is used for both the canary and integration tests.
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
since ceph-csi driver now handles both rbd and cephfs
volume node loss case, let's remove rbd specific
wording from the node loss doc in rook.
Signed-off-by: subhamkrai <srai@redhat.com>
since node fencing is disabled in rook for sometime
and this feature is implemented in csi. So, this
commits remove obsolete code related to node loss
Signed-off-by: subhamkrai <srai@redhat.com>
Kubernetes has begun releasing a kube-api-linter application for linting
Kubernetes APIs to match against common best-practices. (a.k.a., KAL).
Of note: KAL is still new and has no semver releases.
I believe this linter is helpful in encouraging Rook devs to think
deeply about how end-users consume the API. It ensures that new APIs
account for set/unset status, zero values, upper/lower bounds, and
possibly others in the future.
This commit adds initial support to Rook, without making the results a
requirement. Maintainers still need to evaluate rule configuration and
determine how tightly Rook wants to hold to the results.
As of this commit, I observe around 650 "issues" with the current Rook APIs.
This doesn't mean that Rook is in danger of breaking. Issues with API
types are often just indications that upper/lower bounds are missing, or
that there is ambiguity between set-empty and unset-empty values.
This commit uses `--new` in CI to ensure only new API issues are
flagged.
Also of note, KAL is a golangci-lint plugin. It is possible to locally
build KAL (from source) into golangci-lint to run both at the same time.
However, this is time-consuming, and it's harder to coordinate tool
binary caching this way when it's related to 2 different versions.
Treating KAL as a standalone binary allows for simpler make scripting
and maintenance.
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
In CI, lock the minikube version. This is important to ensure that when
release branches are created from master, the minikube version is locked
to a version that will forever support the desired k8s version. If the
latest minikube version is used, CI for older releases will eventually
break when the latest minikube no longer supports the older k8s version.
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
The do-not-reconcile label on the mon deployments was
causing the mon reconcile to be skipped for all mons,
even if the label was only on a single mon. Now, the
skipping of reconcile will only be scoped to a single
mon.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Add ceph version check to determine CA bundle configuration method.
Ceph Tentacle+ supports CURL_CA_BUNDLE environment variable, while older
versions require system CA trust update via init container.
Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
This mounts custom CA bundle directly to the RGW container at
/etc/ceph/rgw-ca-bundle/ and CURL_CA_BUNDLE points to the certificate
file. Ceph changes regarding CURL_CA_BUNDLE variable is in this PR:
https://github.com/ceph/ceph/pull/44283
This change simplifies the CA bundle handling by:
- Removing the update-ca-trust init container and related volumes
- Mounting the CA bundle secret directly to the RGW pod
Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
Update docs to reflect that useAllNodes should be set to false when
providing configuration for individual nodes.
Signed-off-by: Santosh <sapillai@redhat.com>
The setting for concurrent clusters is now available in the
helm chart, instead of only as an env var on the operator
deployment. reconcileConcurrentClusters will be applied to the
env var ROOK_RECONCILE_CONCURRENT_CLUSTERS.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
using github action for minikube will avoid
unwanted errors and probably will be more stable
than manual install. But both script and action
both uses almost same time for installation so
there we don't have preference.
Signed-off-by: subhamkrai <srai@redhat.com>
The two-object-one-zone canary test is not waiting
long enough for the cluster to be created. The default
timeout is 120s, and it frequently hits that timeout.
When the test passes, it commonly takes between 100-120
seconds to complete, so we just need to increase the
timeout.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Read affinity in Ceph v20.2.0 can cause corruption.
Disable this feature for this version of Ceph to
avoid hitting any corruption in this case. When the next
patch release is out for tentacle, this issue will be
resolved and when upgrading to it, read affinity would
automatically be re-enabled if needed.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>