Commit Graph
10256 Commits
Author SHA1 Message Date
travisn e878caab41 ci: suppress mpl license from snyk
The Snyk scan was failing on a warning with the
MPL 2.0 license, which is compatible with Rook.
Now the warnings are suppressed.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit b718622919)
2023-09-28 11:37:39 +02:00
Michael Adam f4111f6286 ci: fix the snyk policy to correctly ignore the MPL license issue
after  https://github.com/rook/rook/pull/12932 has been merged, we
continue to see MPL issues reported by the snyk CI runs:

https://github.com/rook/rook/actions/runs/6302663608/job/17110310884

This updates to the `.snyk` policy file to correctly ignore the MPL license issue
by using the  the proper snyk ID for this issue

According to the doc
https://docs.snyk.io/manage-risk/policies/the-.snyk-file,

the correct ID is `snyk:lic:npm:symbol:MPL-2.0`

The update to the file has been performed with the `snyk ignore`
command to ensure validity of the policy file.

Fixes: #12930

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 4a672c8c35)
2023-09-28 11:36:37 +02:00
Michael Adam 464e99a258 ci: suppress snyk MPL license warnings
Fixes: #12930

This patch introduces a  .snyk policy file that lets snyk suppress the warnings
 about  the MPL license in projects pulled in as dependencies.

Additinally, this  fixes a typo in the name of the snyk workflow
file

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
(cherry picked from commit d3bc9aafee)
2023-09-28 11:35:44 +02:00
Travis Nielsen 4ae0570cee Merge pull request #12961 from rook/mergify/bp/release-1.12/pr-12958
docs: krew is wrong word use kubectl instead (backport #12958)
2023-09-27 11:33:14 -06:00
subhamkrai ff4902d330 docs: krew is wrong word use kubectl instead
krew is itself a plugin and it is wrong wording
to use krew plugin intead it should be kubectl
pluging.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 47c0038136)
2023-09-27 16:23:10 +00:00
Blaine Gardner 3dd76e061e Merge pull request #12942 from rook/mergify/bp/release-1.12/pr-12921
docs: Review the teardown guide for updated guidelines (backport #12921)
2023-09-22 10:31:14 -06:00
travisn 9fbd192799 docs: review the teardown guide for updated guidelines
The teardown guide is updated with the guidelines to use
third person wording and be more concise. Also, remove
the list of CRDs from the example that easily becomes
outdated as the list changes from release to release.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 40d4eedb83)
2023-09-22 16:09:33 +00:00
mergify[bot] 7c657e3f70 Merge pull request #12936 from rook/mergify/bp/release-1.12/pr-12924
osd: support encrypted OSD on partiton (backport #12924)
2023-09-20 23:26:51 +00:00
Satoru Takeuchi 57eb4ae827 osd: support encrypted OSD on partiton
Let's use raw mode for encrypted OSD. This mode supports encrypted
OSD on partition.

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

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
(cherry picked from commit 093125904b)
2023-09-20 22:32:19 +00:00
mergify[bot] c83e99abd3 Merge pull request #12928 from rook/mergify/bp/release-1.12/pr-12329
helm: clusterrole to add objectbucketclaims to user facing roles (backport #12329)
2023-09-19 19:04:20 +00:00
mergify[bot] b79553176f Merge pull request #12927 from rook/mergify/bp/release-1.12/pr-12922
test: update multus canary test (backport #12922)
2023-09-19 18:24:04 +00:00
Cyril Jouve 7796295a91 helm: obc rbac aggregation to user facing roles
add view & edit ClusterRole for obc.

the roles are added to the default user facing roles
view / edit / admin respectively using k8s ClusterRole aggregation.

feature disabled for backward compatibility
and controlled with rbacAggregate.enableOBCs.

Signed-off-by: Cyril Jouve <jv.cyril@gmail.com>
(cherry picked from commit 45d897b8b3)
2023-09-19 18:13:17 +00:00
Blaine Gardner 79333c9d6c test: update multus canary test
Update the multus canary test to reflect modern knowledge about how it
should be configured.

No longer test for the network device in OSD pods. Pods will utterly
fail to start if Multus is unable to attach interfaces.
Instead, look to the OSD map to test the connections more wholistically.
OSDs must have map IPs that include both public and cluster network.
This implicitly tests that the interfaces exist in the Pod, and it
additionally verifies other details, like Ceph `*_network` configs are
set propertly.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 3e2e906ea7)
2023-09-19 17:29:45 +00:00
Blaine Gardner 9fa0745a3b Merge pull request #12912 from rook/mergify/bp/release-1.12/pr-12715
osd: make osd pod to sleep when osds are flapping (backport #12715)
2023-09-15 13:48:09 -06:00
sp98 639b1ae25a osd: make osd pod to sleep when osds are flapping
When OSDs flap, ceph stops the OSD daemon if its marked down greater than
5 times in 600 seconds. But OSD pod restarts and marks the OSD `up` again.
This causes the PGs mapped to these OSDs to peer. While the PGs are peering,
IO to these PGs are blocked.

So we need to ensure that if ceph is marking OSD `down` due to flapping, OSD pod
should not restart to mark the OSDs `up` again.

This PR adds a sleep to the OSD pod if the container returned with a 0 exit code
Default behavior is to sleep for 6 hrs. But user can configure it from the
ceph cluster spec.

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 4eb9f62205)
2023-09-15 18:24:50 +00:00
Travis Nielsen e662d75329 Merge pull request #12911 from rook/mergify/bp/release-1.12/pr-12904
build: Avoid CRD edits when building on mac (backport #12904)
2023-09-15 11:32:38 -06:00
travisn f97d3a8a0b build: avoid crd edits when building on mac
On mac development machines, the crds are being left in a
state of change with the description removed and the
OBC CRDs removed from crds.yaml and resources.yaml.
By skipping the related env vars, these resources
are no longer left unexpectedly modified.

Signed-off-by: travisn <tnielsen@redhat.com>
(cherry picked from commit 0bf117493d)
2023-09-15 16:50:19 +00:00
Travis Nielsen d8b736e58e Merge pull request #12910 from rook/mergify/bp/release-1.12/pr-12898
build: update s5cmd to version v2.2.1 (backport #12898)
2023-09-15 10:10:28 -06:00
Michael Adam a5f07a1543 build: update s5cmd to version v2.2.1
This is the latest available version.
The previously used version v2.0.0 was very outdated.

Fixes: #12883

Co-authored-by: subham rai subhamkrai <srai@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Subham Rai subhamkrai <srai@redhat.com>
  signed-off-by: Travis Nielsen <tnielsen@redhat.com>
    Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit cef43e1155)
2023-09-15 15:17:41 +00:00
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
Travis Nielsen 559f6605cc Merge pull request #12908 from travisn/release-1.12.4
build: Update the release version to v1.12.4
v1.12.4
2023-09-14 16:59:46 -06: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
Travis Nielsen 41004d8d2f Merge pull request #12831 from rook/mergify/bp/release-1.12/pr-12791
core: restart ceph daemons when network updated (backport #12791)
2023-09-12 16:23:59 -06:00
Travis Nielsen 7e64b9c144 Merge pull request #12873 from rook/mergify/bp/release-1.12/pr-12872
helm: update docs/comments to reflect reef support (backport #12872)
2023-09-12 16:22:46 -06:00
Travis Nielsen 7468605992 Merge pull request #12893 from rook/mergify/bp/release-1.12/pr-12886
exporter: bind to all interfaces if IPv6 is enabled (backport #12886)
2023-09-12 16:19:49 -06:00
Matthew Penner 9744c97227 exporter: bind to all interfaces if IPv6 is enabled
Previously ceph-exporter would only bind to IPv4 interfaces. Now if the
CephCluster is configured with `dualStack: true` and/or `ipFamily: IPv6`
an additional flag (`--addrs ::`) will be added to the ceph-exporter
container to make it listen both IPv6 and IPv4 interfaces.

Signed-off-by: Matthew Penner <me@matthewp.io>
(cherry picked from commit d09a43df37)
2023-09-12 20:10:55 +00:00
mergify[bot] f8035e561f Merge pull request #12892 from rook/mergify/bp/release-1.12/pr-12884
object: unique username for OBC even when preceding OBC was retained (backport #12884)
2023-09-12 17:01:41 +00:00
Sebastian Hasler 38958ecce2 object: unique username for OBC even when preceding OBC was retained
For an OBC's name we cannot simply use the OBC's namespace and name,
because they can be reused, while the preceding bucket might be
retained by reclaimPolicy. (Commit 2733375ca4 also didn't solve
this issue, as it is an intra-cluster issue.) Therefore we instead
use the OBC's UID which should be unique within the cluster and
across clusters.

Signed-off-by: Sebastian Hasler <sebastian.hasler@stuvus.uni-stuttgart.de>
(cherry picked from commit 041fc1a71c)
2023-09-12 16:11:06 +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 522b49bbd1 Merge pull request #12866 from rook/mergify/bp/release-1.12/pr-12778
multus: allow using NADs without inspectable CIDRs (backport #12778)
2023-09-07 15:07:40 -06: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
mergify[bot] c560c244e1 Merge pull request #12863 from rook/mergify/bp/release-1.12/pr-12844
Fix discover daemonset default value for discovery interval (backport #12844)
2023-09-07 16:07:56 +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
Travis Nielsen 00bf2ca893 Merge pull request #12864 from rook/mergify/bp/release-1.12/pr-12691
operator: move most of discover pod setting to cm (backport #12691)
2023-09-07 09:02:51 -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
mergify[bot] 5771c6dd7c Merge pull request #12854 from rook/mergify/bp/release-1.12/pr-12840
helm: move discovery daemon settings into the configmap (backport #12840)
2023-09-06 00:02:48 +00: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
mergify[bot] bf593820e0 Merge pull request #12851 from rook/mergify/bp/release-1.12/pr-12770
osd: replace existing OSDs to use new store (backport #12770)
2023-09-05 17:07:27 +00:00
Travis Nielsen f5da6ce08a Merge pull request #12835 from rook/mergify/bp/release-1.12/pr-12816
Simplify docs-check workflow by extracting functionality  (backport #12816)
2023-09-05 09:59:01 -06:00
sp98 ba91dec40f osd: replace existing OSDs to use new store
This follow up the #12507
- fixes replacing of encrypted OSDs.
- Updates OSD status at the end of reconcile

Signed-off-by: sp98 <sapillai@redhat.com>
(cherry picked from commit 11b8d10a5a)
2023-09-05 14:58:43 +00:00
Travis Nielsen a4114f1292 Merge pull request #12830 from rook/mergify/bp/release-1.12/pr-12487
csi: enable csi-addons-side when crds are deployed (backport #12487)
2023-09-05 08:33:34 -06:00
mergify[bot] f48756c535 Merge pull request #12836 from rook/mergify/bp/release-1.12/pr-12825
monitoring: set port for servicemonitor for ceph-exporter (backport #12825)
2023-09-01 18:53:56 +00:00
Divyansh Kamboj b17df46f5e monitoring: set port for servicemonitor for ceph-exporter
ceph-exporter's ServiceMonitor and Service CRD contain different port
name, which results in no metrics being collected by prometheus.

this commit makes GetCephMonitor configurable, which we use to set
consistent port names in ServiceMonitor and Service for ceph-exporter.

Signed-off-by: Divyansh Kamboj <dkamboj@redhat.com>
(cherry picked from commit 708dd29a97)
2023-09-01 17:59:33 +00:00
Michael Adam 172bc6f191 docs: mention make check-helm-docs and make docs in the contributing guide
Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: : Michael Adam <obnox@samba.org>
signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit c8c97bb8a1)
2023-09-01 17:33:05 +00:00
Michael Adam e680f4e302 ci: simplify the docs-check workflow by extracting functionality
This simplifies the docs-check workflow definition by extracting  functionality
directly coded into the workflow file into new make targets 'check-docs'
and 'check-helm-docs' and replacing the code in the workflow file by the simple invocation of
new make targets. As a side effect, it makes it easily possible for a
developer to check locally if they forgot to commit any autogenerated
docs.

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 04670d3f76)
2023-09-01 17:33:05 +00:00
subhamkrai 64fecc7564 core: restart ceph daemons when network updated
We need to restart all the ceph daemons whenever
cephCluster network settings are modified like
requiremsgr2, encryption and compression. This
required for Ceph to consider the new settings
it require new ceph daemons all over.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 29d2b6a071)
2023-09-01 14:43:26 +00:00
subhamkrai 0ad92bd4b8 csi: enable csi-addons-side when crds are deployed
when deploying csi, we'll check if csi-addons crds
are deployed we'll enable csi-addons sidecar by default.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit a755ec156a)
2023-09-01 13:24:40 +00:00