Commit Graph
561 Commits
Author SHA1 Message Date
mergify[bot] c1d25e71e7 Merge pull request #12906 from rook/mergify/bp/release-1.12/pr-12895
mgr: Allow more than two mgrs (backport #12895)
2023-09-14 23:17:13 +00:00
travisn 3eb06d1f05 build: update the release version to v1.12.4
For the patch release update the docs and examples
to v1.12.4.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-09-14 16:01:40 -06:00
travisn 19ffd749e0 mgr: allow more than two mgrs
While two mgrs is considered sufficient, more mgr daemons are
now allowed in case the admin wants even more fault tolerance
to the active mgr going down, in case multiple mgrs go down.
Up to five mgr pods will be allowed. All mgrs will be in
standby mode except one active mgr. All mgr pods have a sidecar
that will update their respective pod specs with the active
or passive label.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 66547d27be)
2023-09-14 21:03:43 +00:00
Micah Nagel 60170feb83 helm: update docs to reflect reef support
some helm comments incorrectly indicate ceph v18 is not supported

Signed-off-by: Micah Nagel <micah.nagel@defenseunicorns.com>
(cherry picked from commit 0ff224d453)
2023-09-08 18:51:27 +00:00
Blaine Gardner 8b72dfa020 multus: detect network CIDRs via canary
Change how Rook detects network CIDRs for Multus networks. The IPAM
configuration is only defined as an arbitrary string JSON blob with a
"type" field and nothing more. Rook's detection of CIDRs for whereabouts
had already grown out of date since the initial implementation.
Additionally, Rook did not support DHCP IPAM, which is a reasonable
choice for users. And more, Rook did not support CNI plugin chaining,
which further complicates NADs. Based on the CNI spec, network chaning
can result in any changes to network CIDRs from the first-given plugin.

All these problems make it more and more difficult for Rook to support
Multus by inspecting the NAD itself to predict network CIDRs. Instead,
it is better for Rook to treat the CNI process as a black box. To
preserve legacy functionality of auto-detecting networks and to make
that as robust as possible, change to a canary-style architecture like
that used for Ceph mons, from which Rook will detect the network CIDRs
if possible.

Also allow users to specify overrides for CIDR ranges. This allows Rook
to still support esoteric and unexpected NAD or network configurations
where a CIDR range is not detectable or where the range detected would
be incomplete. Because it may be impossible for Rook to understand the
network CIDRs wholistically while residing only on a portion of the
network, this feature should have been present from Multus's inception.

Improving CIDR auto-detection and allowing users to specify overrides
for auto-detected CIDRs rounds out Rook's Multus support for CephCluster
(core/RADOS) installations. No further architectural changes should be
needed for CephClusters as regards application of public/cluster network
CIDRs for Multus networks.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 3c43268d0a)
2023-09-07 19:43:17 +00:00
Louis Bailleul e65e7bac12 operator: config default interval value for discovery daemon
Correctly set discoveryInterval default value by passing defaultDiscoverInterval to k8sutil.GetValue
Allow to set ROOK_DISCOVER_DEVICES_INTERVAL env var through discoveryDaemonInterval helm value

Signed-off-by: Louis Bailleul <louis.bailleul@pgs.com>
(cherry picked from commit e56122cbce)
2023-09-07 09:12:46 -06:00
subhamkrai 233e68ecbf operator: move most of discover pod setting to cm
It's better to move most of discover daemon setting
from env to configmap rook-ceph-operator-config.
Although, we are moving to configmap, we keep reading settings
from env but the priority will be configmap settings.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit fb39580067)
2023-09-07 14:15:55 +00:00
Travis Nielsen 36f078f8f7 Merge pull request #12853 from travisn/toolbox-operator-image
build: Correct release version for toolbox based on operator in release-1.12 branch
2023-09-06 10:05:24 -06:00
Stephen Muth 54ed618eb0 helm: move discovery daemon settings into configmap
This allows the rook mgr module to check if the discovery daemon is enabled. The udev blacklist setting was also moved just to keep similar settings in the same place.

Signed-off-by: Stephen Muth <smuth4@gmail.com>
(cherry picked from commit 37d8de0993)
2023-09-05 23:19:52 +00:00
travisn 38f86864b9 build: correct release version for toolbox based on operator
The toolbox based on the operator image was added after the initial
release of v1.12.0, where the image tags from master were replaced
by hte release version. When the feature was backported,
the master tag remained. Now the version tag is set
as expected.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-09-05 15:02:54 -06:00
travisn 715ea7730a build: update release version to v1.12.3
For the patch release update the examples and documents to
v1.12.3.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-08-31 15:51:40 -06:00
parth-gr 63d9f8f41a external: change cluster_name to k8s_cluster_name
it was confusing if we are calling a ceph cluster name
or k8s cluster name, so re-named

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 98c4567219)
2023-08-31 14:14:25 +00:00
travisn 3876561a44 object: allow creating an object user in different namespace
The object user was previously required to be created in the
same namespace as the object store and the cluster. Now,
the object user can be reconciled even in a different namespace
from the cluster and object store. The namespace would be specified
in the object user CR.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 2b1cc4c7b8)
2023-08-25 19:01:44 +00:00
Michael Adam 06bc7ebe40 multus: commit updated validation job manifest from make docs
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 8a6b7786e0)
2023-08-25 17:52:23 +00:00
Michael Adam beb7163af2 multus: auto-update the validation job manifest file with help text
Signed-off-by: Michael Adam <obnox@samba.org>

this change  introduces a new 'make target 'docs'that generates part of the documentation

It particular, it runs the `helm-docs` target.

Additionally, `make docs`  updates the  multus validation job manifest
by inserting the output of `rook multus validation run --help` between
two newly introduced markers.

The result of running `make docs` is intended to be committed to git after running

Fixes: #12706

Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Michael Adam <obnox@samba.org>

Update build/deploy/generate-deploy-examples.sh

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 22882c5358)
2023-08-25 17:52:22 +00:00
Travis Nielsen 010e5ac648 Merge pull request #12762 from rook/mergify/bp/release-1.12/pr-12734
helm: improvement in docs (backport #12734)
2023-08-21 14:47:10 -06:00
Travis Nielsen 3a05759a50 Merge pull request #12755 from rook/mergify/bp/release-1.12/pr-12747
helm: replaced broken documentation references (backport #12747)
2023-08-21 14:46:54 -06:00
Travis Nielsen 77d398cb3e Merge pull request #12752 from rook/mergify/bp/release-1.12/pr-12507
Replace OSD to use new backend store (backport #12507)
2023-08-21 14:46:28 -06:00
parth-gr 626070be62 helm: update the default version tag to master
updating this to ease the local testing
using helm for master branch repo

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 67f294b623)
2023-08-21 16:18:29 +00:00
Rowan Ruseler 9e7e6e4125 helm: replaced broken documentation references
Noticed that since the release of 1.9, the values.yaml file has some
old documentation references. Replaced them with the new locations.

Adjusted the link as requested by travisn
Placed extra line eof back as requested by path-gr

Signed-off-by: Rowan Ruseler <rowanruseler@gmail.com>
(cherry picked from commit 8f8f46dbd6)
2023-08-18 14:13:26 +00:00
travisn a7225a9a57 build: update crds gen for new descriptions
The CRDs were not generated for the latest since #12384
was merged without rebasing, and other updates with a newer
dependency required the newer descriptions.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 438b61721f)
2023-08-17 18:45:52 +00:00
sp98 84b7b68582 osd: replace osd to use new backend store
If osd store is updated in the ceph cluster, then
delete OSDs one by one, cleanup disks and provision a new OSD on
the same disk

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 886bb357ef)
2023-08-17 18:42:52 +00:00
Deepika Upadhyay 0e63059eb7 mon: fix some of the zonal storageclass support failures
Signed-off-by: Deepika Upadhyay <deepika@koor.tech>
(cherry picked from commit 0d86588620)
2023-08-17 17:53:34 +00:00
Deepika Upadhyay 385855e17d docs: update crds for mon zonal support
Signed-off-by: Deepika Upadhyay <deepika@koor.tech>
(cherry picked from commit fa7162504e)
2023-08-17 17:53:33 +00:00
Chris Jones 76aaca4285 monitoring: add "for" to CephOSDDownHigh alert
As part of a normal restart, an OSD can go down just as prometheus tries
to scrape it, causing this alert to fire. Alerts shouldn't fire as part
of normal operations. This change requires the OSD to be down for 5
consecutive minutes before the alert will fire.

Signed-off-by: Chris Jones <chris@cjones.org>
(cherry picked from commit 9f1e5ec4ee)
2023-08-16 20:12:25 +00:00
Travis Nielsen af2b375c6c Merge pull request #12740 from rook/mergify/bp/release-1.12/pr-12672
build: update vault and other indirect imports (backport #12672)
2023-08-16 13:51:58 -06:00
subhamkrai 00b941be28 build: update vault and other indirect imports
update vault and other indirect imports. Also,
updating k8s package to `v0.28.0-rc.0` since with
v0.27.4 it was through build error.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit ab3763767f)
2023-08-16 17:12:01 +00:00
parth-gr 523664e095 helm: install rook in openshift cluster
The sccs were missing in the helm installation,
added it

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

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit 62e3ffb2ba)
2023-08-16 17:07:02 +00:00
travisn e81bc1b5b6 build: update patch version to v1.12.2
For the patch release the examples and the docs are updated
to v1.12.2.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-08-15 13:18:48 -06:00
Nikhil-Ladha afff610a06 multus: add sample job manifest for multus config validation
added a sample job manifest named `multus-validation` that
validates the multus configuration in the cluster.

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
(cherry picked from commit 9fea9cd865)
2023-08-11 19:29:11 +00:00
karthik-us cc819f00df csi: add maxUnavailable for cephfs csi daemonset
Adding maxUnavailable parameter to the cephfs csi daemonset. The
default value of maxUnavailable = 1 can make the upgrade process
slower in environments with large number of nodes.

Fixes: #12636
Signed-off-by: karthik-us <ksubrahm@redhat.com>
(cherry picked from commit 2675c976d5)
2023-08-08 17:12:41 +00:00
Travis Nielsen 340ddc0756 Merge pull request #12662 from rook/mergify/bp/release-1.12/pr-12605
helm: additional ServiceMonitor labels (backport #12605)
2023-08-04 10:54:09 -06: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
Cyril Jouve 1e39cb650f helm: additional ServiceMonitor labels
add a value in rook-ceph chart to add additional labels to the
generated ServiceMonitor when monitoring is enabled

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>
(cherry picked from commit abd81e3c80)
2023-08-03 17:58:58 +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
Nikhil-Ladha e2c92d16ce external: added an optional flag for enabling v2 mon port
Added a new flag `--v2-port-enable` to enable the v2 mon port.

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
(cherry picked from commit 5daddbe379)
2023-07-31 19:20:56 +00:00
Travis Nielsen fe35e61aed Merge pull request #12554 from rook/mergify/bp/release-1.12/pr-12508
external: create ceph cluster namespace (backport #12508)
2023-07-27 12:47:29 -06:00
Travis Nielsen b3c3cfe389 Merge pull request #12587 from rook/mergify/bp/release-1.12/pr-12562
object: update ceph cosi driver image to v0.1.1 (backport #12562)
2023-07-27 12:46:48 -06:00
Blaine Gardner 910eca098d Merge pull request #12589 from rook/mergify/bp/release-1.12/pr-12466
osd: configure backend store (backport #12466)
2023-07-26 10:04:42 -06:00
subhamkrai ec76ca6b87 build: cosi driver is missing from olm list
adding cosi driver list in olm list as it is
being missed in csv crd list generated by
other project.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 884a5c1c18)
2023-07-26 11:02:10 +00:00
sp98 5d51214ad5 osd: configure backend store
Configure osd backend store from the cephCluster spec

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit c13d34f8d3)
2023-07-25 21:21:20 +00:00
Jiffin Tony Thottan 049f03e684 object: update ceph cosi driver image to v0.1.1
Update the ceph cosi driver image to v0.1.1, so that it can
work on both amd and arm platforms.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
(cherry picked from commit 1bf33f125e)
2023-07-25 20:55:39 +00:00
parth-gr c50dfb1053 external: create ceph cluster namespace
We need to create the namespace with the import script,
As per the documentation

The import script creates the secrets and
cm which is later used by the operator for cluster creation.

Signed-off-by: parth-gr <paarora@redhat.com>
(cherry picked from commit f9f880e528)
2023-07-18 22:46:10 +00:00
travisn e511e7ce83 build: update the release version to v1.12.0
For the minor release update the docs and example manifests
to v1.12.0.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-07-18 15:35:55 -06:00
Travis Nielsen d5b6405bdb Merge pull request #12546 from rook/mergify/bp/release-1.12/pr-12544
cosi: Correct capitalization for auto policy (backport #12544)
2023-07-18 14:40:05 -06:00
travisn 5dc023b512 cosi: correct capitalization for auto policy
The CephCOSIDriver deploymentStrategy requires Auto, Never,
or Always. Change the example to Auto.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 182211d26c)
2023-07-18 20:06:11 +00:00
Peter Goron 21007c1cbe object: align spelling of user admin capabilities with ceph
users & buckets admin capabilities aren't spelled the same
way between rook crd (singular) and ceph (plural). It's a bit
misleading when comparing ceph admin cap and rook users.

Signed-off-by: Peter Goron <peter.goron@gmail.com>
(cherry picked from commit 40eed236cf)
2023-07-18 19:23:56 +00:00
Travis Nielsen 1d5a3a27d9 Merge pull request #12539 from rook/mergify/bp/release-1.12/pr-12502
external: support custom ceph keyring file (backport #12502)
2023-07-18 13:21:02 -06: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
Angelos Kolaitis 5d76723686 external: support custom ceph keyring file
When the ceph.conf is not in a well-known location, it is typical
for a custom ceph.keyring to be required as well. Currently, the
create-external-cluster-resources.py only tries to load the keyring
from well-known paths, and fails.

This commit adds a new optional argument `--keyring` to help in this
situation. When specified, create-external-cluster-resources.py will
attempt to use this as the keyring to authenticate with Ceph.

Signed-off-by: Angelos Kolaitis <neoaggelos@gmail.com>
(cherry picked from commit c021256e96)
2023-07-18 17:20:12 +00:00