Commit Graph
11197 Commits
Author SHA1 Message Date
Travis Nielsen 90a1dee611 Merge pull request #14170 from rook/mergify/bp/release-1.14/pr-14166
ci: update ubuntu image to 22.04 (backport #14166)
2024-05-08 08:43:44 -06:00
subhamkrai ea553c45dd ci: update ubuntu image to 22.04
updating ubuntu image to 22.04 from 20.04 which is used in ci test

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 11ce20feaf)
Signed-off-by: subhamkrai <srai@redhat.com>
2024-05-08 11:23:19 +05:30
Blaine Gardner f181a95412 Merge pull request #14172 from rook/mergify/bp/release-1.14/pr-14038
ci: add misspell linter (backport #14038)
2024-05-07 09:56:48 -06:00
Liang Zheng e617463811 ci: add misspell linter
add misspell linter to check all source codes

Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
(cherry picked from commit e76dd03f54)
2024-05-07 15:42:59 +00:00
Travis Nielsen d70e7386ba Merge pull request #14168 from rook/mergify/bp/release-1.14/pr-14167
docs: improve wording in BlockPoolRados Namespace CRD doc. (backport #14167)
2024-05-07 07:27:27 -06:00
Michael Adam d6855803a8 docs: improve wording in BlockPoolRados Namespace CRD doc
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 10df932d62)
2024-05-07 13:22:50 +00:00
Travis Nielsen 233d101c1e Merge pull request #14164 from rook/mergify/bp/release-1.14/pr-14160
mgr: fix UpdateActiveMgrLabel to retry label update on failure (backport #14160)
2024-05-06 13:44:36 -06:00
Redouane Kachach da909b6da7 mgr: fix UpdateActiveMgrLabel to retry label update on failure
fix UpdateActiveMgrLabel to retry label update on failure. Previously,
the function always returned the current manager, even if update
failed, leading to inconsistent labels. This fix ensures retries on
failures.

Fixes: https://github.com/rook/rook/issues/13601

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
(cherry picked from commit ee7c71c89e)
2024-05-06 19:00:43 +00:00
Travis Nielsen 549825dc6e Merge pull request #14153 from travisn/release-1.14.3
build: update release version to v1.14.3
v1.14.3
2024-05-03 13:28:32 -06:00
Travis Nielsen e25de22c77 build: update release version to v1.14.3
For the patch release update the docs and examples
to v1.14.3

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-05-03 12:50:05 -06:00
mergify[bot] b681296ac5 Merge pull request #14157 from rook/mergify/bp/release-1.14/pr-14154
csi: fix missing namespace bug in csi cluster config map (backport #14154)
2024-05-03 18:40:10 +00:00
Blaine Gardner 9a58da323d csi: fix missing namespace bug in csi cluster config map
Someone testing the Multus holder pod removal feature encountered an
issue where the migration process failed to lead to a system state where
PVCs could be created successfully.

The root cause was found to be a ceph csi config map wherein the primary
CephCluster entry was lacking a value for the "namespace" field.

I observed this once in my development on the holder pod removal
feature, but I was unable to reproduce and assumed it was my own error.
Since this has been seen in a user environment, it must be that the
error is a race condition, and I am unable to determine the exact source
of the bug.

I do not believe this bug would be present if the code that updates the
CSI configmap were properly idempotent, but it has many conditions based
on prior states, and I was unable to determine how to resolve this
underlying impelementation pattern issue.

Instead, I opted to separate the `clusterKey` parameter into two clear
parts:
1. `clusterID` for when `clusterKey` is used as an analogue for
   `clusterID`
2. `clusterNamespace` for when `clusterKey` is used as an analogue for
   `clusterNamespace`

I added unit tests to ensure that SaveClusterConfig() will be able to
detect when the namespace is currently missing, and using the new
`clusterNamespace` field, it should always know what value to use as
input when correcting the bug in already-installed systems.

I also verified that this update works when the function simultaneously
removes netNamespaceFilePath entries, and that those entries are removed
properly.

Finally, manual testing also verifies the change.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 4ff881240f)
2024-05-03 18:10:30 +00:00
Travis Nielsen 7e7da0b3b6 Merge pull request #14156 from rook/mergify/bp/release-1.14/pr-14134
osd: limit storageClassDeviceSets to 63 chars (backport #14134)
2024-05-03 08:04:00 -06:00
subhamkrai 578f582c34 osd: limit storageClassDeviceSets to 63 chars
there are some cases where storageClassDeviceSets length
are more 63 chars and osd provisioned failed due to this.
with error
```
 failed to run osd provisioning job for PVC "ocs-deviceset-*-local-volume-storageclass-0-data-*": Job.batch "rook-ceph-osd-prepare-*" is invalid: [spec.template.spec.volumes[10].name: Invalid value: "ocs-deviceset-*-local-volume-storageclass-0-data-*": must be no more than 63 characters, spec.template.spec.containers[0].volumeMounts[9].name: Not found: "ocs-deviceset-*-local-volume-storageclass-0-data-*",
```

Using x-validator to limit the maxLength to the deviceClassSet.Name to
40 chars and adding code check that overall pvc name should be less than
63 chars.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 6f5cc9b01d)
2024-05-03 13:30:13 +00:00
Blaine Gardner 15ce957c4e Merge pull request #14146 from rook/mergify/bp/release-1.14/pr-14114
ci: use markdownlint to enforce mkdocs compatibility (backport #14114)
2024-05-01 17:19:27 -06:00
Travis Nielsen a1dd672e8b Merge pull request #14150 from rook/mergify/bp/release-1.14/pr-14147
mon: Disable the msgr v1 port if msgr2 is required (backport #14147)
2024-05-01 16:04:59 -06:00
Travis Nielsen 2fda1a74b6 mon: disable v1 port if msgr2 is required
The mon was listening on both v1 and v2 ports inside the daemon
even though the service endpoint would not redirect any traffic
to the v1 port. When msgr2 is required, disable the mon from
listening on the v1 port for reduced security footprint.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 954b000ba6)
2024-05-01 21:39:12 +00:00
Travis Nielsen fff583b4b3 mon: remove quincy check since quincy is min version
With the removal of Ceph Pacific support, no need to check if Quincy
is avaiable to support encryption on the wire.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 25d36c4c75)
2024-05-01 21:39:11 +00:00
Blaine Gardner 1391228b1d ci: use markdownlint to enforce mkdocs compatibility
mkdocs uses a markdown renderer that is hardcoded to 4 spaces per tab
for detecting indentation levels, including ordered- and
unordered-lists. Since we cannot easily change the renderer, begin using
a markdown linter in CI that will fail if official docs do not adhere to
the spacing rules.

As a starting point, the markdownlint config does not begin with the
default set of checks, which might overwhelm attempts to fix them.
Instead, focus on list-tab-spacing rules and a few other highly useful
checks.

markdownlint also has some gaps in its abilities that allow common Rook
doc issues to pass acceptance. However, it allows creating custom
linting plugins. Create 2 such linting plugins to check 2 things:

- all doc lines (except code blocks) must be aligned to a 4-space
  boundary, without exception. This ensures that markdown will render
  correctly with mkdocs. This unfortunately makes it possible to create
  lists that are internally aligned strangely.
- admonitions must all follow the same format of
  ```
  !!! header
      body
  ```

For the strange lists, this is allowed and renders correctly, but it
looks strange:

```md
- first bullet
- second bullet
    still second bullet
- third bullet

    has a paragraph
    of text inside

- last bullet

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit c9d99e01a0)
2024-05-01 13:52:39 -06:00
Blaine Gardner a4b4e7d319 Merge pull request #14149 from rook/mergify/bp/release-1.14/pr-14083
csi: remove out-dated prerequisites (backport #14083)
2024-05-01 13:52:07 -06:00
Praveen M 5d51cdd76e doc: update snapshot version
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit da8518095d)
2024-05-01 19:48:11 +00:00
Praveen M 83caca7655 csi: remove the out-dated prerequisites
Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 0467eb8a4c)
2024-05-01 19:48:11 +00:00
Blaine Gardner 4005730b15 Merge pull request #14148 from rook/mergify/bp/release-1.14/pr-13932
external: Restructure external cluster examples manifests (backport #13932)
2024-05-01 13:40:51 -06:00
smoshiur1237 b2d1a8df88 external: restructure external cluster examples manifests
This PR will add separate directory to handle the external manifest. Here external manifests will have same namespace (rook-ceph) for external cluster.

Signed-off-by: smoshiur1237 <moshiur.rahman@est.tech>
(cherry picked from commit dab17f72a1)
2024-05-01 18:29:48 +00:00
mergify[bot] f7127c8c4a Merge pull request #14132 from rook/mergify/bp/release-1.14/pr-14106
mon: fix mon scaledown when mons are portable (backport #14106)
2024-04-29 04:35:58 +00:00
subhamkrai 3af95231e2 mon: fix mon scaledown when mons are portable
in case of portable mons, mon scaledown was skipped
with below code
```
if mon.NodeName == "" {
			logger.Debugf("mon %q is not scheduled to a specific host", mon.DaemonName)
			continue
		}
```
which skips mon removal if mon nodeName is empty
but if mons are scale down in case of portable mons
in that case also we want to remove extra mons to match
the cephCluster configuration.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit d23a8433ed)
2024-04-25 16:40:56 +00:00
mergify[bot] 4564f9b2c9 Merge pull request #14130 from rook/mergify/bp/release-1.14/pr-14129
csi: update csi sidecars image version  (backport #14129)
2024-04-25 15:09:00 +00:00
Praveen M affdd02f1c csi: update csi sidecars' image version
Below sidecars are updated with latest available versions

csi-node-driver-registrar: v2.10.1
csi-resizer: v1.10.1
csi-provisioner: v4.0.1
csi-attacher: v4.5.1
csi-snapshotter: v7.0.2

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit faf7837621)
2024-04-25 08:43:50 -06:00
mergify[bot] 54275ecb1a Merge pull request #14127 from rook/mergify/bp/release-1.14/pr-14125
csi: create csi configmap if csi controller is disabled (backport #14125)
2024-04-24 15:18:36 +00:00
mergify[bot] 636e74b731 Merge pull request #14122 from rook/mergify/bp/release-1.14/pr-14115
operator: support custom dashboard service labels and annotations (backport #14115)
2024-04-24 15:13:06 +00:00
mergify[bot] 2f4ce55791 Merge pull request #14113 from rook/mergify/bp/release-1.14/pr-13769
external: add support for rados namespace for rbd ec pools (backport #13769)
2024-04-24 15:06:49 +00:00
parth-gr 91292df78b csi: create csi configmap if csi controller is disabled
Creating a cluster never succeeds if CSI driver is disabled
So to fix that we need to always create the csi configmap

closes: https://github.com/rook/rook/issues/14123

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 47ed6a8632)
2024-04-24 14:51:48 +00:00
subham rai 0074038112 Merge pull request #14121 from rook/mergify/bp/release-1.14/pr-14119
fixing typo in ceph-object-store-crd.md (backport #14119)
2024-04-24 10:46:57 +05:30
Steven Fackler a60dfda70f operator: support custom dashboard service labels and annotations
Unlike other components, the Ceph dashboard Service object could not be
configured with custom labels and annotations. This can be useful when
integrating Rook into a cluster with custom controllers similarly to how
the RGW service is customized.

Signed-off-by: Steven Fackler <sfackler@gmail.com>
(cherry picked from commit 0c38dd81c2)
2024-04-23 20:22:54 +00:00
ev cdab7999d0 docs: fixing typo in ceph-object-store-crd.md
Example cephobjectstore uses wrong field name for "dnsNames".

Signed-off-by: Adam Prycki <adam.prycki@gmail.com>
(cherry picked from commit c1e727384a)
2024-04-23 16:46:43 +00:00
parth-gr cb23a4f4d1 external: add support for rados namespace for rbd ec pools
currently addded the support for rados namesapce
for rbd ec pools upstream

closes: https://github.com/rook/rook/issues/13633

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit adf40b1944)
2024-04-22 17:14:13 +00:00
Travis Nielsen 782a4ae0ff Merge pull request #14112 from rook/mergify/bp/release-1.14/pr-14107
doc: fix external cluster document (backport #14107)
2024-04-22 10:08:43 -06:00
parth-gr 6fa4987323 doc: fix external cluster document
fixing the list numbers in external document

closes: https://github.com/rook/rook/issues/13968

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit fe30ac83ad)
2024-04-22 15:38:24 +00:00
Satoru Takeuchi 75bfd11006 Merge pull request #14105 from rook/mergify/bp/release-1.14/pr-14100
osd: Legacy LVM-based OSDs on PVCs crash on resize init container (backport #14100)
2024-04-22 16:33:16 +09:00
Travis Nielsen d0fbec4b8d osd: legacy osds on lvm pvcs crash on resize init container
OSDs on LVM-mode PVCs are failing to come up and crashing
in the expand-bluefs init container. To avoid the crash
and allow the OSDs to start, a workaround was found to
simply remove that init container. Now we disable the
OSD resize for this case to avoid others hitting this
during upgrade as well.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit acd7b4faa0)
2024-04-22 03:35:11 +00:00
Travis Nielsen 7c23760421 Merge pull request #14097 from travisn/release-1.14.2
build: Update the release version to v1.14.2
v1.14.2
2024-04-19 10:52:23 -06:00
Travis Nielsen edeea1d554 build: update the release version to v1.14.2
For the patch release update the examples and manifests
to v1.14.2

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-04-19 09:13:16 -06:00
Travis Nielsen 1a1ff5c176 Merge pull request #14095 from rook/mergify/bp/release-1.14/pr-14093
ci: add k8s 1.30 support in ci (backport #14093)
2024-04-19 08:03:24 -06:00
subhamkrai 68b751d345 ci: add k8s 1.30 support in ci
adding support for kubernetes 1.30 in ci which released yesterday.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 128ec16ee6)
2024-04-19 13:31:00 +00:00
Travis Nielsen 297ba70686 Merge pull request #14090 from rook/mergify/bp/release-1.14/pr-14089
csi: only create CSI config configmap in CSI reconciler (backport #14089)
2024-04-18 15:05:37 -06:00
Travis Nielsen dfcdebbf90 Merge pull request #14091 from rook/mergify/bp/release-1.14/pr-14088
helm: Use correct metadata and data ec block pool (backport #14088)
2024-04-18 15:05:23 -06:00
Travis Nielsen a420ffa913 helm: use correct metadata and data ec block pool
The metadata and data block pools for an EC block pool
were switched, causing issues with the EC configuration.
Now the metadata and data pool settings are correct
in the helm chart.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit bbfa4f21ad)
2024-04-18 20:31:29 +00:00
Blaine Gardner 9ca7cfc1c1 csi: ensure correct csi config map owner during creation
In the primary CSI reconcile, ensure the CSI config map
(`rook-ceph-csi-config`) has the correct owner info.

This corrects any pre-existing config maps that might have incorrect
owner info, which has observed to include references to CephClusters.
The config map should only have a single reference, and it should refer
to the operator deployment.

If any existing Rook clusters have a CSI config map which has a
CephCluster as an owner, this change will ensure that the config map is
not deleted when the CephCluster is deleted. This is especially
important for any environments with multiple CephClusters installed.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 605b9633ea)
2024-04-18 20:18:23 +00:00
Blaine Gardner 03c601349a csi: only create CSI config configmap in CSI reconciler
There have been some issues with non-CSI Rook controllers that are
creating the CSI config configmap (`rook-ceph-csi-config`). This causes
problems with the K8s OwnerReference. The primary CSI reconciler
(controller) creates the configmap with the correct owner reference,
which is supposed to be the operator deployment.

Other instances were creating the configmap with owner references set to
the CephCluster. This is a minor bug, but it can result in this
configmap being deleted along with the first CephCluster that initially
created it.

To fix this issue, remove all instances of `CreateCsiConfigMap()` except
the single usage which the CSI reconcile uses to initially create the
configmap. Other controllers that might have attempted to create this
configmap previously will return an error indicating that it is waiting
for the configmap to be created.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit eb3278d575)
2024-04-18 20:18:22 +00:00
Travis Nielsen b66af928a6 Merge pull request #14084 from travisn/release-1.14.1
build: Update the release version to v1.14.1
v1.14.1
2024-04-17 14:28:47 -06:00