Commit Graph
6238 Commits
Author SHA1 Message Date
Blaine Gardner 1761874da2 Merge pull request #6999 from rohan47/clean_terminating_pods
ceph: clean pods stuck in terminating state on a failed node
2021-01-29 13:15:36 -07:00
Blaine Gardner deec85cd1d Merge pull request #7092 from subhamkrai/route
ceph: create a route for ceph-rgw
2021-01-29 13:14:10 -07:00
Travis Nielsen bc5be15bb3 Merge pull request #7100 from subhamkrai/disable-adm-controller
ceph: disable admission controller for helm suite
2021-01-29 09:22:33 -07:00
Travis Nielsen 0a1bfe575c Merge pull request #7062 from leseb/cephfs-mirror
ceph: add cephfs mirroring support
2021-01-29 09:09:56 -07:00
subhamkrai beff403c89 ceph: create a route for ceph-rgw
this commit ceph: create a route as
a part of example in `object-openshift.yaml`.
Route is a feature of OpenShift so, changes
are only for object-openshift.yaml.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-01-29 14:09:31 +05:30
subhamkrai 75030316ca ceph: disable admission controller for helm suite
disable admission controller for helm suite.
v1 version of admissionregistration.k8s.io/v1
require minimum v1.16.0 of k8s. All other suite
was disabled earlier this was left.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-01-29 12:53:03 +05:30
Sébastien Han ae82c86241 Merge pull request #6701 from sp98/update-mds-command-args
ceph: add --public-addr args to ceph mds command
2021-01-28 21:02:05 +01:00
Santosh Pillai 5831c0f0d0 ceph: add --public-addr args to ceph mds command
add --public-addr=<podIP> args to ceph mds command when host network is not enabled.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-01-28 12:40:42 -07:00
Travis Nielsen 4f7250298c Merge pull request #7084 from travisn/maxmonid-commit
ceph: Only commit the maxmonid after starting a mon daemon
2021-01-28 11:30:10 -07:00
Sébastien Han c0123cf182 ceph: add cephfs mirroring support
With Ceph Pacific, Rook can now deploy the cephfs-mirror daemon.
This initial commit covers the deployment of a single daemon only.
Multiple mirror daemons is currently untested.
Only a single mirror daemon is recommended.

The configuration of peers will come in a later PR since the mgr module
is still pending upstream: https://github.com/ceph/ceph/pull/39050

The same goes for integration tests, they will get added later once we
start testing on Pacific.

Closes: https://github.com/rook/rook/issues/7002
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 19:21:18 +01:00
Travis Nielsen 81431f91a9 Merge pull request #7082 from travisn/enable-pdbs-by-default
ceph: Enable pod disruption budgets by default
2021-01-28 11:10:31 -07:00
rohan47 0876a20e7c ceph: clean pods stuck in terminating state
when a node fails some pods remains in terminating while other manage to
be rescheduled on another node successfully.
this commit adds code to clean up all the Rook and CSI pods that are stuck in terminating
state on a failed node.

Signed-off-by: rohan47 <rohgupta@redhat.com>
2021-01-28 23:21:53 +05:30
Sébastien Han 725f96b468 Merge pull request #7094 from leseb/codegen-fix
ceph: fix code generation
2021-01-28 18:45:13 +01:00
Travis Nielsen 7472cfd9fa ceph: enable pod disruption budgets by default
The PDBs have been stabilizing for a good length of time now since
they were created in v1.1, and later redesigned in v1.5. The time
has come to enable the feature by default so everyone can enjoy
the stable Rook storage even while draining K8s nodes.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-28 10:25:33 -07:00
Sébastien Han 32f5bfd6bf ci: fix code generation
With the recent bump to Golang 1.15, the code generation was broken.
Changing the output-base to the main repo and not the vendor solves the
issue and feel more natural too. The command "go mod vendor" only
cherry-picks certain files for inclusion  in the vendor folder. I
suspect the upgrade to Golang 1.15 introduced that behavior. Previously
our vendir dir was full and now it has nothing (from rook) that's why
the code generator was removing all our interfaces.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 18:21:07 +01:00
Blaine Gardner 2caeb8bfe3 Merge pull request #6833 from sp98/configure-osd-upgrade-timeout
ceph: configure health check timeout for OSDs when upgrading
2021-01-28 09:46:12 -07:00
Sébastien Han 6936706d81 ci: use code-gen 1.20
Let's just the same version as our go.mod suggests. This workaround
seems old and not necessary anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 17:06:09 +01:00
Sébastien Han 920381d677 Merge pull request #7077 from jshen28/fix-disable-mds-liveness-probe
ceph: fix mds liveness probe
2021-01-28 11:04:20 +01:00
Sébastien Han 742c25a559 Merge pull request #7086 from cybozu-go/update-lib-bucket-provisioner-for-206
ceph: update lib bucket provisioner
2021-01-28 11:01:32 +01:00
Satoru Takeuchi cf8f8bc851 Merge pull request #7089 from leseb/errorf
ceph: use errors package instead of fmt
2021-01-28 18:02:51 +09:00
Sébastien Han d7610b7e6f ceph: use errors package instead of fmt
Small fix since all the ceph codebase is using the errors package.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 08:51:48 +01:00
Sébastien Han f93a5bdac8 Merge pull request #7081 from travisn/remove-obsolete-doc
docs: Remove obsolete doc for handling rebooting nodes
2021-01-28 08:45:31 +01:00
Toshikuni Fukaya 79eaad43c5 ceph: update lib bucket provisioner
Update to latest lib-bucket-provisioner to fix issue
https://github.com/kube-object-storage/lib-bucket-provisioner/issues/206

The change avoids overwriting or erasing OBC labels or finalizer fields
which are added by other controllers.

Signed-off-by: Toshikuni Fukaya <toshikuni-fukaya@cybozu.co.jp>
2021-01-28 01:55:16 +00:00
Travis Nielsen 59cb2dc79f Merge pull request #7083 from travisn/host-network-crash
ceph: Prevent operator crash with host networking and node not found
2021-01-27 16:34:43 -07:00
Travis Nielsen 4fa3c04e44 ceph: only commit the maxmonid after starting a mon daemon
The maxMonId should only track the mons that have been committed to starting.
Currently the maxMonId was tracking all mon scheduling. If the reconcile
was aborted or failed, or the operator restarted in a reconcile, the
maxMonId was being reset by analyzing the mon deployments that existed.
This does not work for scenarios where mon quroum is lost and being
reset to a single mon. Now the maxMonId will only be incremented
when a mon daemon is started, and will never be decremented after
that to ensure that new mons will be incremented to the next id.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-27 16:33:36 -07:00
Travis Nielsen 5cf3338bcd ceph: prevent operator crash with host networking and mon not found
When the node is not found for mon assignment with host networking
enabled, the operator may crash. This change ensures the node is
not nil and returns an error instead of crashing.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-27 15:34:16 -07:00
Travis Nielsen c0fabef5c3 Merge pull request #7070 from travisn/friends-of-rook
docs: Replace friends of rook with community
2021-01-27 14:56:16 -07:00
Travis Nielsen ac6bbe5902 docs: remove obsolete doc for handling rebooting nodes
The approach to handle node restarts has been much improved since the
creation of this doc, with the new approach to drain nodes and
for the application to control the restarts with the pod disruption
budgets. We now remove this obsolete documentation and recommend
the PDBs to be configured.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-27 14:47:14 -07:00
Sébastien Han f841c1b211 Merge pull request #7071 from travisn/osd-args-ordering
ceph: Consistently order the osd args to avoid restarts
2021-01-27 16:47:36 +01:00
Travis Nielsen 475260de35 Merge pull request #6875 from Madhu-1/fix-6830
ceph: add option to set FSGroupPolicy for CSI PVC
2021-01-27 08:34:45 -07:00
ushen 9bd2150d5e ceph: fix mds liveness probe
Previous patchset does not work before, because
`ConfigureLivenessProbe` does not directly modifies
input variable.

Signed-off-by: ushen <yshxxsjt715@gmail.com>
2021-01-27 20:27:24 +08:00
Santosh Pillai 4237aa7ecc ceph: configure health check timeout for OSDs when upgrading
added waitTimeoutForHealthyOSD in the cluster crd that defines the time (in minutes) the operator would wait before an OSD can be stopped for
upgrade. This PR also removes the ok-to-continue logic for osds as its already handled by ok-to-stop. The default value is 10 minutes.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-01-27 11:13:05 +05:30
Travis Nielsen 570cba9b4e ceph: consistently order the osd args to avoid restarts
The settings for tuneDeviceClass and tuneFastDeviceClass were
stored as a map[string]string. When iterating over the map to
append the args, the args were being appended in an unpredictable
order. The order could change every reconcile, resulting in an
unnecessary OSD restart potentially every reconcile. Now we iterate
over a slice that will be ordered predictably and ensure OSDs
will not be restarted when not needed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-26 17:23:01 -07:00
Travis Nielsen 31bcb60302 Merge pull request #6982 from travisn/osd-pvc-allow-removal
ceph: Allow removal of arbitrary osds on pvcs and simplify pvc names
2021-01-26 15:00:24 -07:00
Travis Nielsen 4b43e7afa5 ceph: allow removal of arbitrary osds on pvcs and simplify pvc names
OSDs on PVCs previously were always replaced with PVCs of a given name.
For on-prem scenarios where the OSDs might need to be removed instead
of replaced, the operator now allows holes to exist in the PVC index
names as long as there are a sufficient number of PVCs to meet the
criteria for the deviceSet.count.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-26 14:38:12 -07:00
Travis Nielsen 3e32aaa693 docs: replace friends of rook with community
The friends of rook section in OWNERS.md has long been outdated.
With the growing community it is really impossible to keep an
active list of those who are contributing to the project.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-26 11:48:36 -07:00
Travis Nielsen 4b7cc5227a Merge pull request #7066 from travisn/remove-edgefs
build: Remove the EdgeFS operator from Rook
2021-01-26 11:30:07 -07:00
Sébastien Han e54fcc7c51 Merge pull request #7068 from travisn/stale-bot-gh-action
bot: Update stale bot to a github action
2021-01-26 17:59:30 +01:00
Travis Nielsen 050abd14b6 bot: update stale bot to a github action
The stale bot has stopped working. Now we use a github
action to mark and close the stale issues.
Issues will be marked as stale after 90 days
and closed after one week. PRs will be marked
as stale after 90 days and closed after two weeks.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-26 08:53:19 -07:00
Travis Nielsen d99092dcfc Merge pull request #7059 from ron1/fix-progressing-completed-ceph-cluster-status-condition
ceph: fix ProgressingCompleted CephCluster status condition type
2021-01-25 21:48:48 -07:00
Travis Nielsen 53ed11f15b build: remove the edgefs operator from rook
The EdgeFS operator has been deprecated for some time in Rook.
If the replacement is added back to Rook it can be completed
according to the new guidelines in the documentation.
https://rook.io/docs/rook/master/storage-providers.html

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-25 17:51:24 -07:00
Travis Nielsen 89a9a35e74 Merge pull request #6425 from thotz/bucket-notification-designdoc
ceph: bucket notifications CRD documentation
2021-01-25 12:18:27 -07:00
ron1 1e64b82b64 ceph: set ProgressingCompleted CephCluster status condition type
Set ProgressingCompleted CephCluster status condition to include type cephv1.ConditionProgressing

Closes: https://github.com/rook/rook/issues/7055
Signed-off-by: ron1 <ron18219@gmail.com>
2021-01-25 10:09:07 -05:00
Sébastien Han 720380e3d3 Merge pull request #7024 from travisn/remove-cockroachdb
build: Remove the CockroachDB operator from Rook
2021-01-25 10:04:44 +01:00
Sébastien Han 28c78b9204 Merge pull request #7044 from leseb/fix-7022
ceph: update rgw and mds deployment for logCollector
2021-01-25 09:29:40 +01:00
Sébastien Han ebbf332d8d ceph: update rgw and mds deployment for logCollector
If the CephCluster CR spec is updated to activate the logCollector, we
must reflect that change onto child CRDs, like the mds and rgw since
their configurationn would be impacted too.
Now we watch for the CephCluster object changes from the object/file
controllers and react upon the appropriate event.

Closes: https://github.com/rook/rook/issues/7022
Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-22 18:19:07 +01:00
Travis Nielsen fe7ed021c5 Merge pull request #7050 from subhamkrai/disable-admission-controller
ceph: disable admission controller for k8s older than v1.16.0
2021-01-22 09:15:36 -07:00
Sébastien Han c82ae69ad9 Merge pull request #6641 from thotz/vault-kms-integration
ceph: vault kms configuration for ceph object store
2021-01-22 14:21:34 +01:00
Jiffin Tony Thottan ee6a03dfb8 ceph: minor update init container script in generateVaultGetKEK
Replacing VAULT_KV_VERS with VAULT_BACKEND for specifing version of kv engine.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2021-01-22 16:04:35 +05:30
Jiffin Tony Thottan 01649a8cd2 docs: update vault kms with RGW details
The KMS encryption via HashiCorp Vault can be consumed for RGW, adding those details
in the doc.

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2021-01-22 16:04:28 +05:30