Commit Graph
2947 Commits
Author SHA1 Message Date
travisn e13bdd0f8f csi: ipv6 compatibility for requiring msgr2
The msgr2 conversion assumed the endpoints were formatted
with a single :, which is not compatible with ipv6.
Now if the endpoint ends with the v1 port, it will
simply update the prefix to v2.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit bbfba5425f)
2023-03-29 15:16:09 +00:00
sp98 8dccb4fcc8 mon: remove condition to use 6790 mon port
PR #3143 added check to retain 6790 port for mons. Now
we can remove this check in Rook 1.11.

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 755135582f)
2023-03-23 16:20:09 +00:00
Travis Nielsen e311df61c7 Merge pull request #11953 from rook/mergify/bp/release-1.11/pr-11950
core: remove ceph-conf-dir volume mount from exporter (backport #11950)
2023-03-21 13:10:16 -06:00
avanthakkar 14bf3fd4e1 core: remove ceph-conf-dir volume mount from exporter
Remove the `ceph-conf-dir` volume and volume mount from exporter
as it's no more required to spin up exporter daemon

Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 1a000673a4)
2023-03-21 18:25:19 +00:00
travisn 44f6455247 core: set key rotation default in code instead of crds
The defaults in CRDs cause an update and trigger a new
reconcile if the value is not set. For the key rotation
setting, the default was only being updated when the kms
feature was enabled. This update was causing the reconcile
to fail in the kms tests. With the default now in code,
the default can remain empty and no cr update will trigger
a new reconcile unexpectedly.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit cd94ed7ddc)
2023-03-21 18:16:43 +00:00
Travis Nielsen 77b98c496b Merge pull request #11939 from rook/mergify/bp/release-1.11/pr-11928
operator: use msgr2 if compression is enabled (backport #11928)
2023-03-20 13:28:19 -06:00
Travis Nielsen 367c39676e Merge pull request #11912 from rook/mergify/bp/release-1.11/pr-11823
osd: validate and remove duplicate topology (backport #11823)
2023-03-20 12:42:30 -06:00
Thomas Way 229bd17f79 operator: log ceph error in monstore
Closes: #11795
Signed-off-by: Thomas Way <thomas@6f.io>
(cherry picked from commit ef60650f09)
2023-03-20 18:25:24 +00:00
Thomas Way b859b4b3d2 operator: use msgr2 if compression is enabled
Closes: #11795
Signed-off-by: Thomas Way <thomas@6f.io>
(cherry picked from commit 891fdb3f77)
2023-03-20 18:25:24 +00:00
root 0a972a0850 rgw: allow the rgw dashboard to be disabled
The rgw dashboard can be disabled by the setting in the
CephObjectStore `gateway.dashboardEnabled` if set to false.

Signed-off-by: xiaobaowen <xiaobaowen@deeproute.ai>
(cherry picked from commit 253d4123f6)
2023-03-17 14:19:29 +00:00
parth-gr ec74ca2b4f ci: update golangci-lint version as it fails for some k8s version in 1.10
Closes: https://github.com/rook/rook/issues/11896

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 8e317ee074)
2023-03-16 16:52:46 +00:00
parth-gr e2b2c9958a osd: remove deprecated k8s topology label
Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 89764f0371)
2023-03-15 18:40:01 +00:00
parth-gr 80919e67b9 osd: validate and remove duplicate topology
remove the duplicate topology added to the node,
and the priority to keep duplicate would be give to
the one who is lowest in the hierarchy

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

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit c22f5f36cb)
2023-03-15 18:40:01 +00:00
Richard Bateman f9f72c326b nfs: add hostNetwork option for the ganesha daemon
Add a hostNetwork option for a Ganesha server.
This allows you to use host networking for the cluster but still
use regular pod networking for NFS Ganesha servers

Signed-off-by: Richard Bateman <taxilian@gmail.com>
(cherry picked from commit 0ca9da23e8)
2023-03-13 18:14:57 +00:00
travisn 12d79edd1d 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>
(cherry picked from commit 0484a3973f)
2023-03-10 21:51:55 +00:00
avanthakkar f8b4a4e568 core: add missing labels in exporter deployment
Adding missing `ceph_daemon_id` & `rook_cluster` labels to the exporter deployment.
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit e235e01fa1)
2023-03-09 17:26:43 +00:00
Rakshith R 30692ca9c8 osd: add capability to reconcile key rotation cron jobs
This commits adds code to reconcile key rotation cron jobs.

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit f39a32fcdb)
2023-03-08 16:37:33 +00:00
Rakshith R 65007124ab osd: add util function to create key rotation cron job
This commit adds util function to create key rotation cron job
such as getKeyRotationContainer, getKeyRotationCronPodTemplateSpec
and makeKeyRotationCronJob.

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit ef38aea2a4)
2023-03-08 16:37:33 +00:00
Rakshith R 542906be28 osd: add rotate-key functionality to rook's key-management cmd
This commit adds functionality to be able to rotate
key encryption key of encrypted PVC backed OSDs.
Necessary changes such as adding update functionality
to kms and rbac changes are made as well.

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit 71e011f731)
2023-03-08 16:37:32 +00:00
Travis Nielsen f6b3d53f5a Merge pull request #11849 from rook/mergify/bp/release-1.11/pr-11848
core: Add env var to exporter for ceph config (backport #11848)
2023-03-07 15:02:56 -07:00
avanthakkar 6accfb6380 core: add env var to exporter for ceph config
The exporter requires the mon config and keyring.
Use the CEPH_ARGS env var to specify the config
instead of expecting a ceph.conf to be generated
by another component on the host path.

Co-Authored-By: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit b6013d9b11)
2023-03-07 21:22:17 +00:00
Redouane Kachach eaf09ad77a Revert "mgr: use k8s readiness probe to implement mgr HA"
This reverts commit dc76f81fea.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 0ae7867dd1)
2023-03-07 18:28:25 +00:00
Redouane Kachach 9a3e5c4e94 Revert "mgr: remove mgr sidecar"
This reverts commit ff75ec96b7.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 456a0c328c)
2023-03-07 18:28:25 +00:00
Redouane Kachach 4d56aca868 Revert "mgr: addressing review comments"
This reverts commit 9f37439a07.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit adc79d4ee4)
2023-03-07 18:28:24 +00:00
Redouane Kachach 580a9ec5c3 Revert "ci: fix MultiClusterDeploySuite CI"
This reverts commit b464428978.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 0c652d28e2)
2023-03-07 18:28:24 +00:00
Redouane Kachach f6fa004343 Revert "mgr: wait for the mgr pod to be running"
This reverts commit 4d1017f805.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit c31832095d)
2023-03-07 18:28:24 +00:00
Travis Nielsen d70d8ad608 Merge pull request #11813 from rook/mergify/bp/release-1.11/pr-11584
external: add realm support for external cluster (backport #11584)
2023-03-02 11:59:15 -07:00
Travis Nielsen 3250629791 Merge pull request #11816 from rook/mergify/bp/release-1.11/pr-11665
object: make OBC genUserID unique across clusters (backport #11665)
2023-03-02 11:57:52 -07:00
Travis Nielsen 4def787153 Merge pull request #11807 from rook/mergify/bp/release-1.11/pr-11797
ceph: add osd container ports only if mcs is enabled (backport #11797)
2023-03-02 11:56:37 -07:00
Blaine Gardner 0ced2b6f84 object: make OBC genUserID unique across clusters
Rook's implementation of OBC's GenerateUserID could generate colliding
user IDs for multisite clusters where each site is configured with the
same namespace/name of CephObjectStore. Add the Ceph cluster FSID to the
generated name to ensure the names won't conflict for multiple sites.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
(cherry picked from commit 2733375ca4)
2023-03-01 22:29:44 +00:00
parth-gr 1344036419 external: add realm support for external cluster
if a cluster won't use the deafult realm and try to
execute the python script it will fail to vaildate rgw
as the rgw-admin-user would be created on default realm
So creating user in specific realm if the realm name is passed

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 96ea7817f8)
2023-03-01 19:43:40 +00:00
zhucan 6f36d10a12 file: check if fs exists before checking dependencies
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
(cherry picked from commit 46c2bef9bc)
2023-03-01 19:18:26 +00:00
sp98 5cb72de8d0 osd: add container ports only if mcs is enabled
Add container ports for OSD container only when multi cluster service is
enabled in the cluster spec.

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 12bbc9b1a8)
2023-03-01 16:30:18 +00:00
Ben Gao 0cccf48a1f core: on crash pod ensure rook version label is not set
ceph crash pod gets rook version label added unintentionally, which is only for deployment label.
changes include:
1, make a copy of the labels for pod spec from deployment labels just before adding rook version label.
2, add unit test to make sure it works as designed.
This fix along with pr 11674 is to stop ceph daemons pod restarting unnecessarily after upgrading rook operator.

Signed-off-by: Ben Gao <bengao168@msn.com>
(cherry picked from commit ed6ed25257)
2023-02-28 18:25:38 +00:00
Satoru Takeuchi 0e4103a51c osd: handle device name change and device removel correctly
If a kernel device name change happens and a block device file
in the OSD directory becomes dangling link, this OSD fails
to start continuously. This problem can be resolved by confirming
the validity of the device file and recreating it if necessary.

The original problem happened in host-based clusters. A similar
problem exists in PVC-based clusters. In this case, if a PV,
corresponds to an existing OSD, and points to a missing block
device file, the OSD pod fails to consume this PV. Although this
behavior is undesirable, I don't think this problem should be
handled in Rook. If doing so, we must re-create the existing PV.
Rook shouldn't do such work.

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

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 3a44a394b5)
2023-02-27 18:55:21 +00:00
sp98 c69c5a16fd core: export mon and OSD services
Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 7292ac5927)
2023-02-27 10:23:43 -07:00
Travis Nielsen 946fbcf66e osd: create a service for each osd
The osd needs to bind to an ip that will allow both internal
and external access for rbd mirroring scenarios.
THe operator will create a service for each osd and
instruction the osd to bind to the pod ip while
publishing the clusterIP of the service as the
public IP.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 14e7225e0a18aff85ede1d476fcaddbbfbcbb732)
(cherry picked from commit d655c86b2f)
2023-02-27 16:50:55 +00:00
parth-gr 4c92a2e93a build: update k8s version to 1.26.1
Update the Kubernetes API version used to 1.26.1, and start testing
against Kubernetes version 1.26.1 in CI.

Co-authored-by: parth-gr <paarora@redhat.com>
Co-authored-by: Blaine Gardner <blaine.gardner@redhat.com>

Signed-off-by: parth-gr <paarora@redhat.com>
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
(cherry picked from commit 69ae9569cd)
2023-02-24 22:13:45 +00:00
Madhu Rajanna 3d65f951d8 csi: update cephcsi to v3.8.0
updating the cephcsi image to v3.8.0
release and also removing support for
3.6.0 as its deprecated and not supported
any more.

More details at
https://github.com/ceph/ceph-csi/releases/tag/v3.8.0
and https://github.com/ceph/ceph-csi/tree/release-v3.8
\#ceph-csi-container-images-and-release-compatibility

fixes #11688

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit b01180580c)
2023-02-22 15:30:15 +00:00
Travis Nielsen abc45c43a4 Merge pull request #11733 from rook/mergify/bp/release-1.11/pr-11716
object: update os user caps (backport #11716)
2023-02-22 07:15:41 -07:00
Redouane Kachach baa8a8988b mgr: addressing review comments
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 9f37439a07)
2023-02-22 05:20:01 +00:00
Redouane Kachach 0207134140 mgr: remove mgr sidecar
With the new mgr HA implementation (based on readiness probe) we
don't need the mgr sidecar (live-watch) anymore. This commit is
intended to remove all the related code.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit ff75ec96b7)
2023-02-22 05:20:00 +00:00
Liang Zheng e3fb072415 object: update os user caps
Removing user caps will be skipped as the UserCaps is empty, which will cause updating user caps to not take effect.

Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
(cherry picked from commit c81aa7f856)
2023-02-21 19:26:37 +00:00
Travis Nielsen 60e0328ab2 mgr: wait for the mgr pod to be running
After an update, the mgr pod will be restarted. Since the
readiness probe will indicate the standby mgr pod is never
ready, we need to check simply for the running mgr pod
and not whether or not it is ready.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 4d1017f805)
2023-02-21 15:36:05 +00:00
parth-gr 63c66da813 core: change io/ioutil package to use io and os package
few functions got change as they were deprecated
for ex: ioutil.Readfile change to os.Readfile
ioutil.TempFile change to os.CreateTemp
And fixed golang-ci-lint-issues

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit a84daf9bf0)
2023-02-17 16:24:10 +00:00
Travis Nielsen 6343775767 Merge pull request #11695 from rook/mergify/bp/release-1.11/pr-11690
ci: fix MultiClusterDeploySuite CI (backport #11690)
2023-02-16 14:34:59 -07:00
Redouane Kachach 6f45ea1a98 ci: fix MultiClusterDeploySuite CI
This fixes the the MultiClusterDeploySuite CI failure. The operator
is timing out waiting for the mgr deployments to be
ready, according to the WaitForDeploymentToStart() method. After
the reconcile times out after about five minutes, the next
reconcile succeeds since the wait is only done for new mgr
deployments.

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

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit b464428978)
2023-02-16 18:20:58 +00:00
Rakshith R 21fa74f2d9 csi: add option to enable read affinity for rbd volumes
This commit adds code to supply variables required
to enable read affinity for rbd volumes.
It leverages `read_from_replica=localize,crush_locations=key:value`
krbd map option from ceph to serve reads from the most local OSD.
refer:
https://docs.ceph.com/en/latest/man/8/rbd/#kernel-rbd-krbd-options

Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit 8b9ded1f77)
2023-02-16 15:00:32 +00:00
Travis Nielsen 06eb431525 Merge pull request #11674 from travisn/osd-version-label
osd: Ensure rook version label is not set on pod
2023-02-15 12:21:09 -07:00
Travis Nielsen ace2e152e8 Merge pull request #11673 from travisn/rgw-pool-pgs
object: RGW metadata pg count reduction on 16.2.11
2023-02-15 12:20:23 -07:00