Commit Graph
7961 Commits
Author SHA1 Message Date
Travis Nielsen 849f434a79 ceph: only allow up to 9 mons to be specified
Typical clusters only require 3 or maybe 5 mons. If someone really wants
to go crazy they can add more mons, but over 9 mons really should not be
used.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-09-03 07:43:41 -06:00
Travis Nielsen 1cb97574ea ceph: allow an even number of mons
While an even number of mons can cause lower availability of
mon quorum, it also can provide higher durability for the cluster.
Mon quorum can be restored from a single mon according to the
disaster recovery guide, so there may be scenarios where
an even number of mons may be preferable.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-09-03 07:43:32 -06:00
Travis Nielsen 1361823a29 Merge pull request #8593 from parth-gr/mgr-pdb
ceph: add pdb for mgr
2021-09-03 07:38:27 -06:00
parth-gr e50d83771e ceph: add pdb for mgr
Currently PDB for MGR is not been created,
Creating the PDB for MGR if its count is 2

Closes: https://github.com/rook/rook/issues/8275
Signed-off-by: parth-gr <paarora@redhat.com>
2021-09-03 14:30:58 +05:30
Travis Nielsen 8af24cf6d1 Merge pull request #8629 from llamerada-jp/ceph-fix-error-message
ceph: fix error message in UpdateNodeStatus
2021-09-02 11:17:10 -06:00
Travis Nielsen 790e01b007 Merge pull request #8638 from leseb/avoid-multiple-reconcile
ceph: avoid multiple reconciles of ceph cluster
2021-09-02 08:28:27 -06:00
Sébastien Han 072c8f43df ceph: do not reconcile if the op is not ready
When the op is initializing, the ceph config is not ready and thus we
should reconcile. This avoids a double reconcile.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-09-02 13:50:32 +02:00
Sébastien Han ab166742c5 ceph: avoid double reconcile with default value
When setting a default values with kubebuilder flags it seems that the
kube operator intercepts the API call, mutate the CR and inject it.
This results in two events, one for creation and one for edition and we
end up with 2 reconciles. Let's avoid this.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-09-02 13:49:52 +02:00
Hiroya Onoe 2ff5413b75 ceph: fix error message in UpdateNodeStatus
The error message in UpdateNodeStatus regards the second argument
as node name. However, it is a PVC name in OSD on PVC.

Signed-off-by: Hiroya Onoe <onoehiroya@gmail.com>
2021-09-02 02:43:16 +00:00
Blaine Gardner d577feac6d Merge pull request #8635 from BlaineEXE/fix-cross-build-run-script
build: fix cross build run script
2021-09-01 14:55:57 -06:00
Blaine Gardner 97075a2422 build: fix cross build run script
Fixes issues with the `build/run` tooling, notably for publishing images
where `build/run make <args>` would only result in `make` being called
without args.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-09-01 14:11:03 -06:00
Blaine Gardner 4c9decb9bb Merge pull request #8634 from BlaineEXE/debug-build-release-script
ci: add debugging to release build script
2021-09-01 14:00:27 -06:00
Blaine Gardner 7febd4e303 ci: add debugging to release build script
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-09-01 13:58:21 -06:00
Travis Nielsen 66c7c961cc Merge pull request #8617 from subhamkrai/push-build-failed
ci: build failed due unbound var
2021-09-01 10:24:56 -06:00
Travis Nielsen 1632af9b07 Merge pull request #8078 from parth-gr/osd-size
ceph: auto grow OSDs size on PVCs
2021-09-01 07:17:22 -06:00
Travis Nielsen afd809e894 Merge pull request #8615 from llamerada-jp/ceph-fix-set-owner-references
ceph: avoid duplicate ownerReferences
2021-09-01 07:16:08 -06:00
subhamkrai 3b99d24340 ci: build failed due unbound var
removing unused var which was making push build
action to fail due set -u which was added recently.

Closes: https://github.com/rook/rook/issues/8616
Signed-off-by: subhamkrai <srai@redhat.com>
2021-09-01 15:15:45 +05:30
parth-gr 827ee1d879 ceph: auto grow OSDs size on PVCs
When an OSD reaches OSD_NEARFULL state,
we have to manually increase the PVC volume claim
or manually increase the count of OSDs in the device set

Added a script auto-grow-storage.sh which will
i)automatically increase claim volume
ii)automatically add number of OSDs

Closes: https://github.com/rook/rook/issues/6101
Signed-off-by: parth-gr <paarora@redhat.com>
2021-09-01 12:57:42 +05:30
Blaine Gardner 0c5df27706 Merge pull request #8619 from BlaineEXE/remove-cassandra-nfs-backends
build: Remove NFS and Cassandra backends from the main repo since they have moved to a new repo
2021-08-31 15:25:20 -06:00
Blaine Gardner a1814af1d9 ceph: remove NFS and Cassandra operator code
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:07:02 -06:00
Blaine Gardner 7a14eb58a0 ceph: remove NFS and Cassandra from codegen
Remove NFS and Cassandra from codegen scripts, BUT leave generated code
to be removed later.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:35 -06:00
Blaine Gardner 34fdcd7175 docs: remove NFS and Cassandra design docs
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:35 -06:00
Blaine Gardner 0508fe3d06 docs: remove NFS and Cassandra refs from docs
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:35 -06:00
Blaine Gardner e684fa09e7 bot: remove NFS and Cassandra mergify/commitlint cfg
Remove NFS and Cassandra references from mergify and commitlint configs.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:34 -06:00
Blaine Gardner 61f6429ea4 test: remove NFS and Cassandra github actions
Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:34 -06:00
Blaine Gardner 1b1736a3c5 ceph: remove NFS and Cassandra example manifests
Additionally remove NFS and Cassandra from CRD generator script.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:34 -06:00
Blaine Gardner 9531c252a5 ceph: remove NFS and Cassandra make targets
Remove all make-related references to NFS and Cassandra. This is limited
purely to make targets. Leave CRD and codegen script references to be
removed in a different commit.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:33 -06:00
Travis Nielsen fc699c2a6d Merge pull request #8623 from aruniiird/make-script-backward-compatible-with-python2
Making script backward compatible with python2
2021-08-31 11:54:43 -06:00
Sébastien Han d4dd0577f9 Merge pull request #8529 from sp98/id-mapping
ceph: add ClusterID and PoolID mappings between local and peer cluster
2021-08-31 17:32:14 +02:00
Santosh Pillai 3f8abec403 ceph: add ClusterID and PoolID mappings between local and peer cluster
During disaster recovery/migration of a cluster, as part of the failover, the
kubernetes artifacts like deployment, PVC, PV, etc will be restored to a new
cluster by the admin. Even if the kubernetes objects are restored the
corresponding RBD/CephFS subvolume cannot be retrieved during CSI operations as
the clusterID and poolID are not the same in both clusters

This PR creates a mapping between Cluster ID and RBD Pool ID between
local cluster and peer cluster.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-08-31 20:08:56 +05:30
Sébastien Han 00c111b4a1 Merge pull request #8618 from leseb/use-pointers
ceph: fix vault kv secret engine auto-detection
2021-08-31 16:13:11 +02:00
Arun Kumar Mohan 888d4ea706 ceph: making script backward compatible with python2
Variable name `exec`, was raising an error with python2.
Renamed it to `execErr`.

Signed-off-by: Arun Kumar Mohan <amohan@redhat.com>
2021-08-31 19:40:32 +05:30
Sébastien Han d675969567 ceph: fix vault kv secret engine auto-detection
Passing struct by value essentially gives you a copy, so when modified
within a function, the scope is then reduced to that function. Using
pointers solves that you mutate the struct as many times as you want from
anywhere.
As a result, the auto-detection of the Vault KV backend was not working
correctly.
Also, added a ton of unit tests for Vault.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-08-31 15:29:04 +02:00
Satoru Takeuchi 58a43a4f23 Merge pull request #8611 from maya-r/typo-docs
docs: Correct field name.
2021-08-31 16:04:34 +09:00
YZ775andHiroya Onoe c38e1f1ddd ceph: avoid duplicate ownerReferences
If we call OwnerInfo.SetOwnerReference for an object multiple times,
it results in OwnerReference duplication.

Signed-off-by: Yuzuki Mimura <yuzuki725.m@gmail.com>
Co-authored-by: Hiroya Onoe <onoehiroya@gmail.com>
2021-08-31 04:58:59 +00:00
Maya Rashish 41988d7eda docs: correct field name
A single entry is a storageClassDeviceSet in the code, but in YAML
the name that appears is the one of the whole array.

Signed-off-by: Maya Rashish <mrashish@redhat.com>
2021-08-30 17:51:36 +03:00
Sébastien Han 67e3372259 Merge pull request #8609 from travisn/set-filesystem-status
ceph: Set the filesystem status when mirroring not enabled
2021-08-30 09:37:32 +02:00
Travis Nielsen 7cfae42a62 ceph: set the filesystem status when mirroring not enabled
When mirroring is enabled on the filesystem, the status was not
being set on the filesystem. Now the reconcile will ensure the
status is updated on the CR whether or not mirroring is enabled.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-08-27 17:28:25 -06:00
Travis Nielsen 33558fba3d Merge pull request #8603 from travisn/suppress-cassandra-errors
cassandra: Suppress integration test errors temporarily
2021-08-26 16:32:06 -06:00
Travis Nielsen 5489dd7b58 cassandra: suppress integration test errors temporarily
The Cassandra tests are failing in the CI, although they pass when
run locally on a developer cluster. Until the issue can be tracked
down we need to disable these checks to get to a green CI again.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-08-26 14:34:40 -06:00
Travis Nielsen b5ed5ab573 Merge pull request #8600 from travisn/test-branch-version
ceph: Test against release version in the branch
2021-08-26 13:07:55 -06:00
Travis Nielsen 23b772643b ceph: test against release version in the branch
The release version needs to be the same in the example/test manifests
as it is in the local build image. The github actions are different in
this regard than the Jenkins builds were. The Jenkins builds always
locally used the master tag instead of a release-specific tag.
Now that the github actions use the release-specific tag, the test
framework no longer should be using the master tag in release branches.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-08-26 12:10:05 -06:00
Blaine Gardner 7b862c1a8d Merge pull request #8506 from subhamkrai/shell-check
ci: add action for shellcheck linter
2021-08-26 09:42:12 -06:00
Travis Nielsen 42717d2fca Merge pull request #8566 from subhamkrai/merge-tolerations
ceph: merge toleration for osd/prepareOSD pod if specified both places
2021-08-26 08:55:27 -06:00
subhamkrai ebe21c8f68 ci: add action for shellcheck linter
we are adding new linter for shellcheck.
As we are writing more shell scripts this
will help maintain quality.

Also, doing all the changes required in
bash files to pass this shellcheck.

Closes: https://github.com/rook/rook/issues/8431
Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-26 10:03:32 +05:30
Sébastien Han 9744f0f2c6 Merge pull request #8583 from leseb/cancel-retry
ceph: do not check ok-to-stop when OSDs are in CLBO
2021-08-25 17:38:06 +02:00
Travis Nielsen b528310b79 Merge pull request #8590 from travisn/mon-store-config
ceph: Consolidate the calls to set mon config
2021-08-25 08:31:20 -06:00
Travis Nielsen edb8aa1834 Merge pull request #8584 from parth-gr/string-instance1
core: convert util.NewSet() to sets.NewString()
2021-08-25 08:30:24 -06:00
subhamkrai e1f232eeb7 ceph: merge toleration for osd/prepareOSD pod if specified both places
earlier, `ApplyToPodSpec()` was only taking one toleration and ignoring
tolerations from `placement.ALL()`.

this commit merge toleration for Mgr,Mon,Osd pod
example, for osd it will merge
spec.placement.all and
storageDeviceClassSets.Placement(in case of pvc) or
spec.placement.osd(in case of non-pvc's).

Signed-off-by: subhamkrai <srai@redhat.com>
2021-08-25 19:34:28 +05:30
parth-gr b1cfeb9dbe core: removing util.set package files
We are no longer using package util.set
for creating instances,
and instead of that using sets.String package

Closes: https://github.com/rook/rook/issues/8479
Signed-off-by: parth-gr <paarora@redhat.com>
2021-08-25 13:15:14 +05:30