Commit Graph
4222 Commits
Author SHA1 Message Date
subham rai 71b3728a99 Merge pull request #13958 from NymanRobin/improve-kubectl-get-output
operator: improve the output of kubectl get
2024-04-03 10:42:17 +05:30
NymanRobin 17adb16d0b operator: improve the output of kubectl get
make the kubectl output for crds more verbose.
Following changes was done for each crd:

CephBlockPool:
Added print columns:
 - Type
 - FailureDomain
 - Replication
 - EC-CodingChunks
 - EC-DataChunks
 - Age
Extended info field of status to include:
type and failureDomain

CephObjectStore:
Added print columns:
 - Endpoint
 - SecureEndpoint
 - Age

Added Age to print columns of following crds:
CephObjectStoreUser, CephObjectZoneGroup,
CephObjectZone, CephBucketTopic, CephClient,
CephRBDMirror, CephFilesystemMirror,
CephFilesystemSubVolumeGroup

Signed-off-by: NymanRobin <nyman.robin@gmail.com>
2024-04-02 20:41:13 +03:00
Travis Nielsen 3eed04e792 Merge pull request #14005 from sp98/use-correct-pool-name
core: use correct pool name to disable mirroring
2024-04-02 10:52:55 -06:00
sp98 996d9e136a core: use correct pool name to disable mirroring
Pool name either come from CephBlockPool name or
form the CephBlockPool Spec. Use the correct name
when trying to disable mirroring.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-04-02 21:35:59 +05:30
Praveen M f985018f57 csi: update cephcsi to v3.11.0 release
This commit updates default cephcsi driver version
to v3.11.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-04-02 20:13:56 +05:30
Travis Nielsen 1c612b0f18 object: set non-ec shared pool to metadata pool
The omap data for multipart uploads is stored in an
additional data pool, which cannot be an EC pool.
So the extra data pool is set to the metadata pool
for object stores with shared pools.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-03-28 12:49:43 -06:00
Travis Nielsen 6d9ecce15c Merge pull request #13830 from cybozu-go/fix-removing-key-file
osd: fix removing key file timing
2024-03-26 11:21:33 -06:00
Travis Nielsen 6ab962c84e Merge pull request #13956 from mmaoyu/pdbv1beta1-remove
operator: remove PdbV1Beta1 support as k8s 1.25 doesnt support it
2024-03-26 10:07:52 -06:00
subham rai ccd5574a8a Merge pull request #13976 from subhamkrai/update-go-k8s-deps
build: update go k8s and related dependencies
2024-03-26 21:05:56 +05:30
subhamkrai d2546d7722 build: update go k8s and related dependencies
updating go k8s 0.29.3, vault to v1.12.2 and aws-sdk-go to v1.51.6

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-26 11:06:19 +05:30
parth-gr a72e029459 csi: add a new flag to disable csi driver
added a new flag ROOK_CSI_DISABLE_DRIVER
to disable csi controller.

Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-03-22 18:22:51 +05:30
piao 6ec1084181 operator: remove PdbV1Beta1 check as k8s 1.25 doesnt support it
Signed-off-by: piao <wupiaoyu61@gmail.com>
2024-03-20 09:38:03 +00:00
Santosh Pillai 20d24613a5 Merge pull request #13905 from sp98/remove-stale-cluster-peers
core: disable mirroring on pool with "image" mode
2024-03-19 20:12:00 +05:30
sp98 a37c47641f core: disable mirroring in image mode
For image mode mirroring, if cephBlockPool.Pool.Spec.Mirroring.Enable
is set to false, then remove the peer cluster and disable mirroring on
all the pool if the user has disabled mirroring on all the pool images.

If mirroring is not disabled on all the pool images, then reconcile will
fail asking the users to manually disable mirroring on those images.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-03-19 14:20:51 +05:30
Yuma Ogami cdd655ed3f osd: delete the key file deletion in encryption open init containers
The key file deletion process is in the shell script commonly used by
all of encryption-open, encryption-open-metadata, and
encryption-open-wal init containers. The key file is deleted at the
encryption-open init container and encryption-open-metadata and
encryption-open-wal init containers are failed to open the key file.

The key file is in the /etc/ceph folder. Unless that folder is shared,
the key file anyway won't be available in the other init containers
even if it is not deleted by these init containers. And it will
naturally anyway be deleted after the init containers are
completed. So The key file deletion process in shell scripts is
unnecessary.

Fixes: #13737

Signed-off-by: Yuma Ogami <yuma-ogami@cybozu.co.jp>
2024-03-19 08:43:36 +00:00
Santosh Pillai b8ee8a46ec Merge pull request #13852 from sp98/support-azure-kms
core: azure kms support
2024-03-18 14:44:11 +05:30
sp98 4efe3982b0 core: azure kms support
Add support for store OSD encryption Keys in Azure KMS

Signed-off-by: sp98 <sapillai@redhat.com>
2024-03-15 11:23:25 +05:30
Blaine Gardner e41366bbcd Merge pull request #13890 from BlaineEXE/csi-disable-holder
csi: allow force disabling holder pods
2024-03-14 10:27:06 -06:00
Travis Nielsen 86dae9c260 Merge pull request #13923 from rkachach/fix_issue_13883
monitoring: increasing default metrics scraping interval from 5s to 10s
2024-03-14 10:02:58 -06:00
Blaine Gardner 4f555dbbcb csi: allow force disabling holder pods
Add new CSI_DISABLE_HOLDER_PODS option for rook-ceph-operator.
This option will disable holder pods when set to "true".

In the long term, Rook plans to deprecate the holder pods entirely.
This new option will allow users to choose to migrate their clusters to
non-holder clusters when they are ready and able, giving them time to
gracefully migrate before the holders are permanently removed.

This option is set to "false" by default so that upgrading users don't
have their CSI pods modified unexpectedly.
Example manifests are modified to set this value to true so that new
clusters will not deploy holder pods.

Migrating users are provided with documentation to instruct them about
the new requirements they need to satisfy to successfully remove holder
pods, a procedure for migrating pods from holder to non-holder mounts,
and a way to delete holder pods once they are no longer in use.

When users set CSI_DISABLE_HOLDER_PODS="true", the CSI controller will
no longer deploy or update the holder pod Daemonsets, but it does not
delete any existing Daemonsets. This allows already-attached PVCs to
continue operating normally with their network connection continuing to
exist in the current holder pod. This is critical to avoid causing
ia cluster-wide storage outage.

More info: https://github.com/rook/rook/issues/13055

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-03-14 09:53:08 -06:00
Travis Nielsen c409a6ae46 Merge pull request #13902 from rkachach/fix_issue_13774
exporter: applying labels from monitoring section to ceph-exporter
2024-03-13 08:07:58 -06:00
Redouane Kachach daec93eaaa monitoring: increasing metrics scraping interval from 5s to 10s
let's increase the monitoring interval to match the default interval
used by Prometheus when deployed by Ceph: 10s

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

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-03-13 13:29:01 +01:00
Travis Nielsen 15f92a175d Merge pull request #13703 from thotz/prefix-provisioner-obc
object: provisoner prefix support
2024-03-12 12:16:45 -06:00
Travis Nielsen a67d742195 Merge pull request #13913 from travisn/reef-18.2.2
core: Set default ceph version to v18.2.2
2024-03-12 10:07:45 -06:00
Travis Nielsen fdacfd51c5 object: create an object store based on shared pools
Until now, an object store would create all the necessary
metadata pools and the data pool that were exclusively
for its own object store. When isolation between object
stores is necessary, this would cause many pools and
PGs to be created in the cluster, which was not
manageable.

Now one set of pools can be created to be shared
by any number of object stores. The metadata and data
between each object store is isolated by
RADOS namespaces, which by design will keep the
data safe for multi-tenancy.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-03-11 11:20:57 -06:00
Travis Nielsen 026d745f8a core: set default ceph version to v18.2.2
With the release of Reef v18.2.2 we update the default
recommended version of Ceph to fix the prometheus issues
seen with v18.2.1

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-03-11 11:06:59 -06:00
subhamkrai 4836ede41a build: update go dep go-jose
synk security check is failing and it requires
go-jose v3.0.3 or later version.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-11 18:15:34 +05:30
Jiffin Tony Thottan e0768f5e5f object: provisoner prefix support
add an option to set prefix for the name of obc provisioner instead of
ceph cluster namespace.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2024-03-11 13:42:11 +05:30
Redouane Kachach 10e26709c4 exporter: applying labels from monitoring section to ceph-exporter
the labels listed under the 'monitoring' section are currently only
being applied to the rook-ceph-mgr ServiceMonitor. This change extends
those labels to also include the rook-ceph-exporter ServiceMonitor.

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

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-03-08 14:38:27 +01:00
Jiffin Tony Thottan b0989ee1d2 object: add rgw dns names
The virtual hosting for bucket is provided with help of `rgw_dns_name`

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2024-03-08 13:43:25 +05:30
subhamkrai 580c62e5e6 build: update go mod to latest version
updating go mod to latest version.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-05 18:26:45 +05:30
Rakshith R 330f604cca csi: update CSIDriverOption params during saving cluster config
During cluster creation, csi config map was first filled with
mon ips and without CSIDriverOptions.
This commit makes sure CSIDriverOptions are added at the begining
when the entry is first created.

Signed-off-by: Rakshith R <rar@redhat.com>
2024-03-04 16:17:25 +05:30
Travis Nielsen 7ca738e7b2 Merge pull request #13832 from Madhu-1/template-change-vgsc-rook
csi: support volumegroup snapshot
2024-03-01 11:21:42 -07:00
Madhu Rajanna 43fa57fa57 csi: update sidecars to latest release
updating all the csi sidecars to the
latest release.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-03-01 18:13:38 +01:00
Madhu Rajanna b47bd35ddc csi: use different variable name for replicas
r is the variable name for the CSI reconciler
and same is used for a local variable as well
chaning it to avoid confusion and variable
shadowing.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-03-01 18:12:57 +01:00
Madhu Rajanna 2611e924a2 csi: provide option to configure VGS
volumegroupsnapshot feature will be enabled
by default if the required CRD's are present
if not its disabled and user will have an option
to disable it if they dont require this feature.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-03-01 18:12:37 +01:00
Travis Nielsen d77cee791c Merge pull request #13362 from parth-gr/service-account-deafult
core: Set default service account on all Ceph daemons
2024-02-28 10:52:12 -07:00
parth-gr f7a9d8ff7b core: added rook-ceph-default service account
When a private docker registry is used and an
image pull secret is specified in the chart,
the pods with default Service Account fail to pull
the image due to authentication issues.
Added rook-ceph-default service account and modify the pods
specifications by adding the serviceAccountName

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

Closes: https://github.com/rook/rook/issues/6673
Co-authored-by: Tareq Sharafy <tareq.sha@gmail.com>
Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 737fb099fe)
Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-02-28 13:32:55 +05:30
shay1760 f8f17b2caa external: update logging when comparing ceph version
when comparing local ceph version with external cluster
there is wrong log printing. Updating to print the right
log message.

Signed-off-by: shay1760 <rahulkrrai0302@gmail.com>
2024-02-27 20:42:59 +05:30
subham rai 459604a3bd Merge pull request #13802 from microyahoo/nit
mds: fix incorrect comment on crd resource requirements
2024-02-22 12:48:16 +05:30
subham rai d1e3006560 Merge pull request #13801 from subhamkrai/disable-cephfs-fencing
csi: disable cephFs network Fencing temporarily
2024-02-22 12:12:22 +05:30
Liang Zheng 4e9e4c53d8 mds: fix incorrect comment on crd resource requirements
The MDS resource requirements had an incorrect comment of the RGW component.

Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2024-02-22 10:23:06 +08:00
subhamkrai bd4250f56e csi: remove cephFs networkFence code temporarily
cephFs fencing needs more testing and bug fixes to make
it in production. We tried multiple fixes but still it need
more work. So, removing the cephfs networkFence realted code
will rever this commit when we start working on this again.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-02-21 21:56:37 +05:30
subhamkrai 0ace7cf8cf csi: check networkFence status before deleting
earlier, we were only checking the specs of networkFence to see if
unfencing is done before proceeding with deletion but we should also
check the status of networkFence before proceeding with deletion.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-02-21 21:52:55 +05:30
Travis Nielsen f6509e10f6 Merge pull request #13794 from sp98/mon-pdb-unavailable-count
mon: set mon pdb max unavailable as 2 in case of 5 or more mons.
2024-02-20 12:28:33 -07:00
Blaine Gardner bd9577f43a Merge pull request #13793 from rkachach/fix_issue_crds_desc
manifest: reduce CRD size by removing some descriptions
2024-02-20 11:59:49 -07:00
Redouane Kachach 7a7b983628 manifest: adding a null check to PersistentVolumeClaim conversion
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2024-02-20 16:50:16 +01:00
sp98 a4866b4b06 mon: set mon pdb max unavailable as 2 in case of 5 or more mons
If the spec.mon.count is 5 or more, then create
mon pdbs with maxUnavailable count as 2. We can
afford to have more than 1 mons down while
draining the nodes in this case.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-02-20 15:26:43 +05:30
Redouane KachachandBlaine Gardner bd7477ec61 manifest: reduce CRD size by removing some descriptions
Reduce CRD size by removing some descriptions for things that
(a) are long, (b) are repeated, and (c) are commong kubernetes types.

Remove the `Status` field from VolumeClaimTemplates (a.k.a. PVCs) in
types.go to remove all unnecessary status-related fields.

Use `yq` to go through generated `crds.yaml` to strip out descriptions
for well-known k8s types that are long and repeated where we can't
remove them from types.go. This is mostly placement descriptions and
volumeSource descriptions.

The overall `crds.yaml` file is reduced to less than 60% of its original
size.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
Co-authored-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-20 10:08:44 +01:00
subham rai bcab869213 Merge pull request #13789 from subhamkrai/update-go-mod
build: update go mod files
2024-02-19 21:21:17 +05:30