Commit Graph
3851 Commits
Author SHA1 Message Date
avanthakkar d216c2ddd7 core: use ROOK_CEPH_MON_HOST from config store in OSD pods too
Signed-off-by: avanthakkar <avanjohn@gmail.com>

Volume "ceph-daemons-sock-dir" is coming empty in case if dataDirHostPath,
which is the case for osd onPVC. Fix the volume creation by using the
ceph cluster spec dataDirHostPath, which allows to run socket commands
on osd containers.

(cherry picked from commit 541d091f9c)
2023-06-01 16:57:01 +00:00
avanthakkar bb74cd5ced core: cleanup exporter resources
Cleanup exporter daemon even if ceph version is not supported along with other resources like
metrics service and service monitor.
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 41a8294510)
2023-05-31 21:16:24 +00:00
Travis Nielsen 201573c59d Merge pull request #12313 from rook/mergify/bp/release-1.11/pr-12264
external: fqdn should be persisted (backport #12264)
2023-05-31 15:15:30 -06:00
Travis Nielsen 1d41f8d86a Merge pull request #12307 from rook/mergify/bp/release-1.11/pr-12256
object: add missing caps for object store user (backport #12256)
2023-05-31 15:15:07 -06:00
parth-gr 3fbcff5127 external: fqdn should be persisted
1) donot change rgw fqdn to ip if provided,
As now the bucket class supports the
entry of fqdn

2) update crds with new description in EndpointAddress

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit f66de7b9df)
2023-05-31 20:01:30 +00:00
Blaine Gardner 7502af1739 test: fix nginx image client template error
Regarding Go templates: when inside a range, the base dot (.) context is
not available, so anything used within the range must be set to a
shell-style variable.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
(cherry picked from commit d0995c8d76)
2023-05-30 23:37:52 +00:00
Jiffin Tony Thottan c853a77fcf object: add missing caps for object store user
Lot of new caps added to rgw users, reflecting same changes on the
object store user CRD.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit ad0c000e6a)
2023-05-30 22:37:57 +00:00
Travis Nielsen 04e2137106 Merge pull request #12303 from rook/mergify/bp/release-1.11/pr-12302
core: use -default-* flags (backport #12302)
2023-05-30 15:38:51 -06:00
Javier 1c9b7680b1 core: use -default-* flags
enable flags with --default prefix for --log-to-stderr, --mon-cluster-log-to-stderr, --err-to-stderr, and --log-stderr-prefix

Signed-off-by: Javier <sjavierlopez@gmail.com>
(cherry picked from commit 02e17196f2)
2023-05-30 19:05:50 +00:00
Ho Kim f9c9a6ad8a mgr: update default rook_cluster of ServiceMonitor
When deploying a cluster with Helm Chart, if the namespace is not the default value `rook-ceph`, and if the monitoring feature is enabled, then the generated ServiceMonitor's `rook_cluster` selector now follows the namespace, not the hard-coded value `rook-ceph`.

Signed-off-by: Ho Kim <ho.kim@ulagbulag.io>
(cherry picked from commit 42caef169f)
2023-05-30 17:11:28 +00:00
Jiffin Tony Thottan 8fd527cac0 object: use networkspec from clusterinfo spec while running radosgw-admin
The radosgw-admin command uses the network spec from ceph cluster spec
in object context but it is not filled properly in the object package.
But with PR 10898, network spec is available in clusterinfo which can
be used directly. Also removed cluserspec from object context.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit 1f45cfa581)
2023-05-30 14:15:57 +00:00
iPraveenParihar 945c7f155a test: allow specifying custom nginx image for multus validation
Allow overriding the nginx server image used for the web server and clients from CLI with --nginx-image flag.
Set default image in flag as 'nginxinc/nginx-unprivileged:stable-alpine'

Signed-off-by: iPraveenParihar <praveenparihar68@gmail.com>
(cherry picked from commit 78d6528153)
2023-05-24 18:55:56 +00:00
Blaine Gardner b0167660f5 operator: pull multus validation test images before test
Before starting multus validation test clients, pull the client image to
all nodes. This will ensure that variations in client readiness timing
will not be affected by variations in the time nodes take to pull the
image. This is intended to reduce the number of false reports of flaky
multus networks.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
(cherry picked from commit 3a27cb60b3)
2023-05-19 20:40:05 +00:00
travisn c6eb3a33c6 rbdmirror: retry reconcile if cluster not initialized
The rbd mirror reconcile was not re-queuing the reconcile
if the cephcluster was not initialized. All other controllers
waiting for the initialization are requeuing the event,
just not the rbd mirror controller.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 2877523137)
2023-05-17 23:26:33 +00:00
travisn d361b4ca1b docs: remove obsolete comments about old versions
Remove old mentions of rook or ceph versions that
are no longer relevant.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 0f6b099403)
2023-05-17 20:30:00 +00:00
Satoru Takeuchi 4c0c67df1a osd: supoprt expand lvm osd on pvc
The expansion of OSD on PVC is only supported in raw mode OSD.
It's nice to support lvm mode osd too.

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

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 13e4464fed)
2023-05-16 17:03:24 +00:00
Travis Nielsen 6bcb53749d Merge pull request #12222 from rook/mergify/bp/release-1.11/pr-12216
monitoring: Skip creating the service monitor for the exporter if monitoring is not enabled (backport #12216)
2023-05-10 15:49:45 -06:00
travisn eac19b36d3 monitoring: no service monitor by default for exporter
The exporter is enabled by default, but the service monitor
can only be enabled if prometheus CRDs are available. The
monitoring.enabled must be set to true as the flag that
prometheus is available and the service monitor should
be created.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 1b80767877)
2023-05-10 15:57:06 +00:00
avanthakkar 262597b2c2 core: add termination grace period for exporter pods
Shorten the termination time for exporter pod before it
gets deleted to avoid crashing of pod.
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 8a8eb863d0)
2023-05-10 13:58:27 +00:00
travisn 6cbf660e00 monitoring: configurable option to disable prometheus metrics
The prometheus mgr module and ceph exporter can now be optionally
disabled by the monitoring.metricsDisabled setting in the
CephCluster CR. These will not be disabled by default, rather
than the mgr module being disabled by default from v1.11.4.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 92a0ab37e3)
2023-05-08 17:04:32 +00:00
travisn 28edc07c5b mgr: default to active mgr label
The active and standby labels are updated on the mgr pods
by the mgr sidecar. In the case of a single mgr, there is
not sidecar, so the dashboard and other mgr services were
not available when there was a single mgr. Now the mgr
pod will default to the active mgr status label so that
the single mgr case will succeed. In the case of two mgrs,
the sidecar will immediately update the standby mgr to
remove the active status label.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 1fa3c5ae18)
2023-05-05 20:52:56 +00:00
Travis Nielsen 317be1d4fa Merge pull request #12135 from rook/mergify/bp/release-1.11/pr-11976
osd: allow scanning devices with filter (backport #11976)
2023-05-05 14:51:50 -06:00
Travis Nielsen 96c629d539 Merge pull request #12197 from rook/mergify/bp/release-1.11/pr-12194
core: disable controller runtime metrics server (backport #12194)
2023-05-05 14:51:22 -06:00
Redouane Kachach 5395d17a55 mgr: using dynamic mgr_role label to implement mgr HA
Closes: https://github.com/rook/rook/issues/11844

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit f00bd790a8)
2023-05-05 17:52:23 +00:00
Madhu Rajanna c7cb7c0588 core: disable controller runtime metrics server
As we are not using the controller runtime
metrics we dont even need to start the server
as its just uses extra resouces and its not
much useful.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 6f30700f5e)
2023-05-05 17:45:24 +00:00
Javier 7e82ddc839 osd: allow to use filter device
this feature is to allow the use of filters using the deviceFilter flag
by skipping devices that do not match the filter

Closes: #10340
Signed-off-by: Javier <sjavierlopez@gmail.com>
(cherry picked from commit 884d5e9855)
2023-05-05 10:27:04 -06:00
Travis Nielsen 85e3b39f28 Merge pull request #12183 from rook/mergify/bp/release-1.11/pr-12181
ceph: unset all the encryption configuration before setting (backport #12181)
2023-05-03 11:49:17 -06:00
Madhu Rajanna b5584ce8a0 core: unset all encryption configuration before setting
if the configuration is already set in the ceph
database, using `ceph config assimilate-conf`
will add the key and value if its missing but
it wont update the value if the key is already
present, To fix this problem we can remove the
key and add all the configurations once again.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 1139cefc94)
2023-05-03 16:56:59 +00:00
Javier 2ab562c918 docs: auto-generate the documentation for CRDs
add generate-crd-docs.sh tool for auto-generate the documentation for CRDs automatically

Closes: #1873
Signed-off-by: Javier <sjavierlopez@gmail.com>
(cherry picked from commit 661e476969)
2023-05-02 20:48:46 +00:00
Travis Nielsen 2c12f4ef7c Merge pull request #12171 from rook/mergify/bp/release-1.11/pr-12155
nfs: pare down config file volume sources (backport #12155)
2023-05-02 14:37:27 -06:00
Blaine Gardner 52eb79c3bf nfs: pare down config file volume sources
Pare down the available volume sources for NFS config files so that the
CRD isn't unnecessarily huge. This allows us to recommend
`kubectl apply` again in the upgrade doc.

Size of the NFS CRD is reduced by approximately 60%.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
(cherry picked from commit 6500c11d57)
2023-05-02 13:53:55 -06:00
Blaine Gardner 8bb189c5c8 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>
(cherry picked from commit 0f6e7ee921)
2023-05-02 17:38:10 +00:00
parth-gr 9bc7debca5 mgr: fix ceph dashboard login issue
Dashboard ac-user-create cmd was taking more time
then the usual ceph command to run,
So increased the timeout to run the cmd, and
now dashboard admin user is sucessfully created

Closes: https://github.com/rook/rook/issues/12113
Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit ed61d25fc3)
2023-05-02 16:29:40 +00:00
sp98 6cb4dab7d2 core: skip OBC and Notification controllers
Skip running Object Bucket and Object bucket notification
controllers based on env variable.

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit e87338fbc4)
2023-04-24 16:28:26 +00:00
avanthakkar 7f4f2a4035 core: disable exporter service
Create the exporter service only if exporter pods are created.
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 32b2445ee4)
2023-04-21 23:54:02 +00:00
Sachin Prabhu 2e2925b04c nfs: set nsswitch.conf to lookup local files
When using sssd, the /etc/nsswitch.conf should also include local files
for lookups. This is required when looking up uid 0 and the root user
which are not handled by ldap or other sources.

Closes: https://github.com/rook/rook/issues/11925
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
(cherry picked from commit d3636aaf3e)
2023-04-14 16:18:40 +00:00
Sachin Prabhu 06694b0eb0 nfs: do not restrict search domain to localhost
Adding the search domain localhost causes lookup failures.

Many DNS servers have a wildcard entry *.localhost which returns
127.0.0.1. Adding a "search localhost" to resolv.conf appends a
".localhost" for every host lookup for which the DNS server returns
127.0.0.1 which causes failures further down the execution path.

example: with localhost in the search domains
 # ping google.com
PING google.com.localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.071 ms

Closes: https://github.com/rook/rook/issues/11870
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
(cherry picked from commit 08d83a33cd)
2023-04-14 16:18:39 +00:00
avanthakkar 6969b459f7 core: disable exporter for Ceph v17.2.6
The expected ceph version for exporter is changed temporarily because
some regression was detected in Ceph version 17.2.6.
Thus, disabling ceph-exporter for now until all the regression are fixed.

Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 3e46522423)
2023-04-12 22:08:37 +00:00
travisn e6e98074ea 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>
(cherry picked from commit 609ac91cb1)
2023-04-12 06:15:52 +00:00
sp98 578045291a core: use clusterID for service nslookup
use ClusterID of the k8s cluster while doing nslookup of the
exported mon or osd service IP

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 9e8e85d68b)
2023-04-11 16:50:03 +00:00
sp98 45288d9f26 core: add clusterID to MCS spec
ClusterID uniquely identifies a cluster. It is used as a prefix to
nslookup exported services.
For example: <clusterid>.<svc>.<ns>.svc.clusterset.local

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit aefe0054c4)
2023-04-11 16:50:02 +00:00
zc 1c58c90177 mgr: failed to update the port of mgr's dashboard
if port was used by other daemon,the dashboard will start failed and the status of the ceph will be err,then we update the port to a unused port,the operator can not deal with it

Signed-off-by: zc <zc@zcdeMacBook-Pro.local>
(cherry picked from commit caf7b8c753)
2023-04-06 13:59:53 +00:00
Travis Nielsen 519b02398e Merge pull request #11959 from rook/mergify/bp/release-1.11/pr-11899
csi: make AttachRequired as configurable (backport #11899)
2023-04-04 14:28:55 -06:00
Shachar Sharon 55e36b66f8 nfs: add support for nfs-ganesha metrics monitoring
NFS-Ganesha (as of V5-dev.2 [1]) supports Prometheus monitoring from
within the NFS server itself. It provides metrics for both connected
clients and active exports, via TCP port 9587. Expose those metrics via
existing nfs k8s-service.

[1] https://github.com/nfs-ganesha/nfs-ganesha/commit/b6c59df5a0b8a3ae5b2a87446f8906cb321ee026

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
(cherry picked from commit 7b28f1de05)
2023-04-04 15:37:56 +00:00
Travis Nielsen 4f9b1e835e Merge pull request #12014 from rook/mergify/bp/release-1.11/pr-11980
mgr: disable the prometheus module by crds (backport #11980)
2023-04-03 16:49:53 -06:00
Jiffin Tony Thottan 5e1c733cac object: check obc provisioner for bucket notification
obc-label-controller needs to check only obc provisioned by Rook operator.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit 01a3dd0baf)
2023-03-31 21:14:46 +00:00
xiaobaowen 6e171c3218 mgr: disable the prometheus module by crds
Signed-off-by: xiaobaowen <xiaobaowen@deeproute.ai>
(cherry picked from commit e7254c2a1b)
2023-03-31 14:17:33 +00:00
Miles Simpson 5d873ff881 core: fix config format for msgr2 ipv6 monitors
Signed-off-by: Miles Simpson <miles@milessimpson.com>
(cherry picked from commit f99a8dea3f)
2023-03-30 14:05:26 +00:00
Travis Nielsen 036f70bf75 Merge pull request #12000 from rook/mergify/bp/release-1.11/pr-11966
osd: handle global or node-local device class configuration correctly (backport #11966)
2023-03-29 11:17:16 -06:00
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