Commit Graph
7961 Commits
Author SHA1 Message Date
Travis Nielsen ad66fbe4a7 Merge pull request #6866 from jshen28/do-not-detect-csi-version-if-disabled
ceph: skip csi detection if CSI is disabled
2021-02-02 10:09:55 -07:00
Sébastien Han 13bc3f3dea Merge pull request #7125 from leseb/shasum
build: try sha256sum if shasum is not present
2021-02-02 15:24:22 +01:00
Sébastien Han 1bdee1e512 build: try sha256sum if shasum is not present
shasum is not always available and sha256sum seems to exist more often
since it's part of coreutils where sha256sum comes with perl.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-02 14:43:52 +01:00
Varsha Rao 59084fbe06 ceph: update nfs ganesha pool recommendation
Add following don'ts note for storing ganesha recovery object:
* Don't use fs pool, it can cause this dashboard issue https://tracker.ceph.com/issues/46176
* Don't use erasure coded pool, it will not work due to ganesha's omap requirements

Signed-off-by: Varsha Rao <varao@redhat.com>
2021-02-02 17:04:18 +05:30
Travis Nielsen cb00e10130 Merge pull request #7119 from BlaineEXE/allow-unit-test-outside-of-gopath
ceph: do not force go path in unit tests
2021-02-01 21:53:59 -07:00
Blaine Gardner 15a487cd5a ceph: do not force go path in unit tests
Do not force unit tests to be run while the rook repo is in the GOPATH.
Now that Rook uses go modules, this is no longer necessary. Allow this
by creating a helper function that unit tests can use that return the
on-host path to the `rook` project root.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-02-01 18:28:36 -07:00
shenjiatong 2b63fff087 ceph: skip csi detection if CSI is disabled
Before this patch, csi detection will run whether or
not rbd and cephfs are all disabled. Run detection only
if it is necessary.

Signed-off-by: shenjiatong <yshxxsjt715@gmail.com>
2021-02-02 08:28:35 +08:00
Sébastien Han ba91f5d7f8 Merge pull request #7116 from leseb/fix-1922108-2
ceph: do not enable ShareProcessNamespace if HostPID
2021-02-01 18:49:34 +01:00
Sébastien Han 8b65eb6126 ceph: do not enable ShareProcessNamespace if HostPID
If HostPID is enabled, this means the Ceph version is older than Octopus
and we are still running OSD with HostPID due to an internal
inter-process check.
If the log collector is enabled we need to enable ShareProcessNamespace
**only** if HostIPC is disabled.

Both HostPID and ShareProcessNamespace cannot be enabled.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 18:23:19 +01:00
Sébastien Han efefb557a8 Merge pull request #7111 from leseb/fix-1922108
ceph: do not enable ShareProcessNamespace if HostIPC
2021-02-01 17:18:58 +01:00
Sébastien Han f910bcd942 Merge pull request #7110 from leseb/fix-codegen-again
ceph: fix codegen (again)
2021-02-01 17:17:59 +01:00
Travis Nielsen 661b8c7336 Merge pull request #7075 from sp98/timeout-radosgw-admin-cmd
ceph: timeout `radosgw-admin` cli commands
2021-02-01 09:10:18 -07:00
Sébastien Han c463153b61 Merge pull request #7105 from travisn/no-log-mon-pdb
ceph: Skip logging error for mon pdbs if single mon
2021-02-01 16:38:07 +01:00
Sébastien Han 8ea9b6b80f ceph: fix CephFNS plurial
Introducing the new flag to get the correct plurial version of CephNFS,
if not overriden the generator will be CephNFSs instead of CephNFSes.

We run deepcopy and client,lister,informer generations separetly so we can use the flag "--plural-exceptions"
which is only known by client,lister,informer binary and not the deepcopy binary.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 16:36:56 +01:00
Travis Nielsen d150980241 ceph: skip logging error for mon pdbs if single mon
If there is a single mon, we don't expect the PDBs to be created
and neither do we need to log that it is an error condition.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-02-01 07:57:53 -07:00
Sébastien Han 260274cdb3 ceph: do not enable ShareProcessNamespace if HostIPC
If HostIPC is enabled, this means the Ceph version is older than Octopus
and we are still running OSD with HostIPC due to an internal
inter-process check.
If the log collector is enabled we need to enable ShareProcessNamespace
**only** if HostIPC is disabled.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 15:50:16 +01:00
Sébastien Han 685e0a7a55 ceph: fail of any codegen files are found
If any files are found after running `make codegen` we fail.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 15:13:37 +01:00
Sébastien Han 3d556115ce ceph: fix code generation
Somehow, I had things mixed up in the previous patch. Now the code
generation ends up in the right directorty.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 15:13:37 +01:00
Sébastien Han 7ad4902bb4 Merge pull request #7108 from subhamkrai/update-canary-test
ci: update canary-integration-test
2021-02-01 15:13:07 +01:00
Sébastien Han d8dd66a21a Merge pull request #7106 from travisn/remove-ozone
docs: Remove stale ozone design doc
2021-02-01 09:22:26 +01:00
subhamkrai 6d66f0a6f2 ci: update canary-integration-test
this commit update canary-integration-test
to remove `object-openshift.yaml` file from
`dry-run`.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-02-01 13:51:16 +05:30
Santosh Pillai 113376f1ab ceph: timeout radosgw-admin cli commands
When creating object store, `radosgw-admin realm get ..` command is stuck forever when required number of OSDs are not available. Because of this the uninstall of object store is also stuck. User has to manually remove the finalizer to delete the object store.This PR uses `ExecuteCommandWithTimeout` for running `radosgw-admin` command. Timeout during installation will be reconciled. Cleanup will be treated as best effort. Any errors during uninstalling of single site object store will only be logged.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2021-02-01 10:57:04 +05:30
Travis Nielsen 1f2346a988 docs: remove stale ozone design doc
The ozone operator was proposed over a year ago and then
was not implemented. Removing the design doc to clean up
since there was no further community support.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-29 15:48:35 -07:00
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