Commit Graph
1037 Commits
Author SHA1 Message Date
Jared Watts 8d445c919d Merge pull request #6202 from prksu/nfs-quota
nfs: implement disk quota
2020-11-02 08:34:54 -08:00
Travis Nielsen 44bf443dca Merge pull request #6495 from LalitMaganti/preserve-fs
ceph: add option to preserve filesystem on CRD deletion
2020-10-30 16:56:38 -06:00
Lalit Maganti c6aec79c4f ceph: add option to preserve filesystem on CRD deletion
Due to #6492, preservePoolsOnDelete is not useful at all for CephFS;
after the filesystem is deleted, the leftover pools cannot be
reassocaited with a newly created filesystem without wiping all
metadata. The only way we can actually preserve data is keeping around
the entire filesystem.

This commit implements a `preserveFilesystemOnDelete` option which work
similar to the existing pool preservation option but instead keeps the
whole CephFS while taking it down and removing all MDSes.

This commit also changes all documentation to refer to this new option
with the intent of essentially deprecating `preservePoolsOnDelete`. IMO,
keeping around `preservePoolsOnDelete` is actively harmful because it
lulls users into thinking their data will be safe but, in reality,
recovering from this situation is highly complex and has large potential
for data loss.

Signed-off-by: Lalit Maganti <lalitm@google.com>
2020-10-30 17:04:18 +00:00
Sébastien Han ea1d71cbfb ceph: add vault kms support for osd encryption
When the Ceph cluster runs on PVC and the OSDs are encrypted we can
store LUKS's Key Encryption Key inside a Key Management System. Today,
Rook only supports HashiCorp Vault: https://www.vaultproject.io/

The CephCluster has now a new "security" field which will plug onto the
KMS. Here is an example:

security:
  kms:
    tokenSecretName: <name of the secret containing a Vault token, used
    to authenticate>
    connectionDetails: < a map of strings containing connection
    information>

Refer to the ceph-cluster-crd documentation to lear more.

Closes: https://github.com/rook/rook/issues/6105
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-10-30 16:16:33 +01:00
Travis Nielsen 1c562512e1 Merge pull request #6501 from xiaods/issue-6480-fix
Remove provisioner from nfs docs
2020-10-29 10:24:58 -06:00
Travis Nielsen 22a1630249 Merge pull request #5483 from cloudandheat/feature/configurable-crush-root
ceph: make root= CRUSH label value configurable
2020-10-29 10:21:02 -06:00
Deshi Xiao 512544b849 docs: tuning docs for nfs setup
1. remove missing provisioner.yaml
2. modified statement description

Signed-off-by: Deshi Xiao <xiaods@gmail.com>
2020-10-29 21:22:09 +08:00
Jonas Schäfer 7ace6ac255 ceph: make root= CRUSH label value configurable
The CRUSH map does not allow duplicate values (nor keys) for the
labels. That means that if the currently hardcoded label value
`default` occurs anywhere else in the tree (for example, because
some of the topology labels provided by the cloud provider use it),
the cluster cannot sucessfully spawn.

By giving the user control over the label value used for the root
CRUSH map label, it is possible to adapt the cluster to this
situation.

To be able to actually use the `default` value, the root=default
node which is created by default by ceph itself has to be removed;
since that node is accompanied by a replicated crush rule, we have
to remove that rule, too.

The integration tests are modified to sometimes use the custom
crushRoot (based on an arbitrary criterium) to get coverage across
the various suites. Separate tests could be added, but were not
deemed necessary at this point.

Fixes #4993.

Signed-off-by: Jonas Schäfer <jonas.schaefer@cloudandheat.com>
2020-10-29 09:22:41 +01:00
subhamkraiandtravisn 1b2c15041f ceph: update deprecated CRD apiextensions.k8s.io/v1beta1 to v1
the apiextensions.k8s.io/v1beta1 version of CustomResourceDefinition
is deprecated in Kubernetes v1.16 and will no longer be supported from
v1.19. For now, we changing only for ceph and it's related documented.

Signed-off-by: subhamkrai <srai@redhat.com>
Co-authored-by: travisn <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
2020-10-29 06:26:10 +05:30
Tareq Sharafy d2a6518a5c docs: disaster recovery guide for PVCs
Signed-off-by: Tareq Sharafy <tareq.sha@gmail.com>
2020-10-24 23:07:18 +03:00
Sébastien Han 1a5d296e8e Merge pull request #6481 from cloudical-io/issue_6430
docs: update ceph monitoring examples
2020-10-23 12:07:26 +02:00
Alexander Trost 30fc31fb31 docs: update ceph monitoring examples
This updates the Ceph docs regarding the Grafana dashboards new version
requirement.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-10-23 10:33:48 +02:00
Travis Nielsen 66636f5420 Merge pull request #6447 from MG40/docs
docs: Ceph disaster recovery
2020-10-20 16:33:03 -06:00
Ahmad Nurus S 72bf7873c9 nfs: implement disk quota
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-10-19 10:20:12 +07:00
MG 1063c387f9 docs: ceph disaster recovery
updated by removing the paranthesis around the arguments  to pass the value
Eg: ROOK_CEPH_MON_INITIAL_MEMBERS

Signed-off-by: MG <gmadhavi@gmail.com>
2020-10-16 23:03:11 +08:00
Ahmad Nurus S c22189ba74 nfs: update documentation and example
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-10-16 01:11:44 +07:00
Sébastien Han f0b2c6eacf Merge pull request #6184 from cybozu-go/ceph-raw-mode-on-lv-backed-pvc
ceph: raw mode OSD on LV-backed PVC
2020-10-15 09:46:56 +02:00
Daichi Sakaue b9f29349ed ceph: use raw mode instead of lvm mode even if lv-backed PVC
It can simplify OSD management in many ways and can avoid many problems
that come from LVM.

Closes: https://github.com/rook/rook/issues/5939
Signed-off-by: Yuji Ito <llamerada.jp@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-10-14 01:46:25 +00:00
Sébastien Han b70b098405 ceph: add support for stretched cluster crush rule
The pool spec has now a new property called "replicasPerFailureDomain"
which essentially represents the number of replicas to store in each
failure domain.
Assuming the failure domain is a datacenter (if the cluster is
stretched) then you will have 2 replicas per datacenter where each
replica ends up on a different host. This gives you a total of 4
replicas and for this, the "size" must be set to 4.

Closes: https://github.com/rook/rook/issues/5591
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-10-13 16:33:34 +02:00
Travis Nielsen a4b1ca3faa docs: clarify cluster-on-pvc scenario for ceph
A frequently asked question is how to configure the cluster in dynamic
environments, or basically to use the cluster-on-pvc configuration.
This adds more details to the examples in the docs.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-12 15:21:28 -06:00
Travis Nielsen c7e0338d5e ceph: require an odd number of mons and sufficient nodes
The ceph mons should never be started with an even number in quorum.
The desired state should always be an odd number of mons to ensure
a healthy majority quorum. The operator now rejects a request for
an even number of mons.

If there are not a sufficient number of nodes for mons to be on a
unique host, the operator also returns an early error instead of
getting stuck waiting for a pending mon. This is not foolproof since
there might be fewer available nodes for the mons, but at least it
is a quick check for the common case.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-12 15:21:27 -06:00
Travis Nielsen c1d553c318 docs: move ceph common issues subtopics under ceph tools
The ceph tools were split across different areas of the table of contents
that was confusing. Now the Ceph tools and troubleshooting guides are all
found under the Ceph tools.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-09 12:40:50 -06:00
Travis Nielsen 13da75a1db docs: clarify that the flex driver is disabled by default
The ceph flex driver has been disabled by default for some time.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-09 12:24:20 -06:00
Travis Nielsen 193def940d docs: remove unused documentation for test clusters
Rook should not be maintaining documentation for starting a K8s cluster
such as minikube or kubeadm. For simplicity, we just link to their documentation
to help them get started. Also removed is a section in the dev guide that
nobody has used for debugging operators locally.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-09 12:23:20 -06:00
Travis Nielsen efed0eff08 docs: update main readme for graduation
There are several small updates to the readme, including changing
a reference of incubation status to graduation, removing the
framework as an independently listed status since the operator
versioning is the critical point that depends on the framework,
moving the security reporting under bug reports, and reordering
cassandra to be alphabetically before cockroach.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-10-09 12:21:32 -06:00
Travis Nielsen fd5c1982d1 Merge pull request #6407 from varshar16/update-nfs-ganesha-rados-url
ceph: update nfs ganesha rados config object
2020-10-08 08:56:23 -06:00
Varsha Rao 7fd114612b docs: update ceph-nfs-crd about config object
Instead of creating config object per daemon. Now all daemons in a cluster
share a single config object.

Signed-off-by: Varsha Rao <varao@redhat.com>
2020-10-08 14:42:25 +05:30
Madhu Rajanna 0faa076859 ceph: fix example rbdMirrorBootstrapPeerSecretName in mirror doc
The rbdMirrorBootstrapPeerSecretName always starts with
pool-peer-token- when we pool is created with mirroring
enabled.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-10-08 13:51:38 +05:30
Travis Nielsen 5b1a263282 Merge pull request #6377 from thotz/obcdocupdate
docs: update obc documentation
2020-10-06 11:14:53 -06:00
Travis Nielsen bf68278b9f Merge pull request #6382 from sabbot/final-edgefs-commit
edgefs: EdgeFS deprecation documentation fix
2020-10-06 11:01:53 -06:00
Travis Nielsen 69049828ee Merge pull request #6191 from Obleskar/patch-3
edgefs: docs: note nfs service name restrictions
2020-10-06 09:19:18 -06:00
Anton Skriptsov d9ba495425 edgefs: edgefs deprecation documentation fix
Update EdgeFS status to 'Deprecated'

Signed-off-by: Anton Skriptsov <anton.skriptsov@gmail.com>
2020-10-06 17:38:47 +03:00
Travis Nielsen 3eddcf5477 Merge pull request #6283 from sp98/rook-IPv6-support
ceph: support IPv6 single-stack
2020-10-06 07:46:25 -06:00
Jiffin Tony Thottan e837082de7 docs: update obc documentation
Remove wrong information from OBC CRD example

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2020-10-06 13:32:12 +05:30
subhamkrai c2c59ec47b ceph: tune fast device class for OSD on PVC in the Azure
on Azure, all SSDs are reporting as a rotational disk.
This commit will add `tuneFastDeviceClass` flag which will
tune for an SSD even if the cloud provider is reporting
rotational. We have a flag `tuneDeviceClass`
which works vice-versa.

Signed-off-by: subhamkrai <srai@redhat.com>
2020-10-05 20:19:55 +05:30
Sébastien Han f0748f6425 Merge pull request #6331 from dungdm93/master
docs: fix typo in ObjectMultisite docs
2020-10-05 14:05:22 +02:00
Santosh Pillai 70c5f70701 ceph: support IPv6 single-stack for ceph
Add --ms-bind-ipv6 true args to mom, osd, mgr, object, mds, rbd daemons.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2020-10-02 01:03:03 +05:30
Madhu Rajanna 2fa3e71733 ceph: update cephcsi to v3.1.1
as cephcsi v3.1.1 is released today
with many bug fixes and enhancements,
more details can be found at
https://github.com/ceph/ceph-csi/releases/tag/v3.1.1

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-09-29 14:03:44 +05:30
Mudit Agarwal c547b36aa0 ceph: update csi sidecar images
This PR makes the changes in csi templates and
upgrade documentation required for updating
csi sidecar images.

Signed-off-by: Mudit Agarwal <muagarwa@redhat.com>
2020-09-28 18:58:52 +05:30
Đặng Minh Dũng 27914964d8 docs: fix cleanup instruction in 'Object Multisite' docs
Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>
2020-09-27 16:17:36 +07:00
Đặng Minh Dũng 106a6ee5c0 docs: fix typo in 'Object Multisite CRDs' docs
Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>
2020-09-27 13:07:13 +07:00
Sébastien Han 005f17036a docs: common issue low aio-max-nr setting
When the system has a low ow aio-max-nr setting, the osd prepare pod can
fail to complete. This value must be increased.
Adding a documentation section for it.

Closes: https://github.com/rook/rook/issues/6279
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-09-21 09:44:45 +02:00
Sébastien Han 204ffd4065 Merge pull request #6250 from leseb/mirroring-config
ceph: add rbd-mirror configuration
2020-09-18 09:16:08 +02:00
Sébastien Han 451622a955 ceph: add rbd-mirror configuration
Rook is now capable of configuring mirroring between sites. The
implementation works at different levels:

* CephBlockPool: which introduces a new `mirroring` configuration as well
as `statusCheck`. When turned on, Rook will enable mirroring on the
pool. It will also create a bootstrap peer token and store it in a
Kubernetes Secret. The name of that Secret can be found in the Status
field of the CephBlockPool CRD. This token can be fetched and used by
other clusters to configure the site as a peer. Mirroring can be
configured either at the pool or the image level.

* CephRBDMirror: which introduces a new `peers` configuration allowing
Rook to connect to peers by passing a Secret name. The administrator will
create a Kubernetes Secret with 2 keys: 'token' for the bootstrap peer
token and 'pool' for the name of pool. Once detected the rbd-mirror
controller will go ahead and import the peer configuration.

Pool mirroring status example:

```
status:
  info:
    rbdMirrorBootstrapPeerSecretName: pool-peer-token-test
  mirroringInfo:
    lastChanged: "2020-09-17T14:47:27Z"
    lastChecked: "2020-09-17T14:48:27Z"
    summary:
      summary:
        mode: image
        peers:
        - client_name: client.rbd-mirror-peer
          direction: rx-tx
          mirror_uuid: ""
          site_name: rhcs
          uuid: c50522a4-28a4-4bd3-ba68-e11780308882
        site_name: 91eae0dd-06b1-4d2c-91f3-1311c9df382b-rook-ceph
  mirroringStatus:
    lastChecked: "2020-09-17T14:48:27Z"
    summary:
      summary:
        daemon_health: OK
        health: OK
        image_health: OK
        states:
          replaying: 1
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-09-17 19:05:04 +02:00
Josh McSavaney cc7b07c840 ceph: tweak removeOSDsIfOutAndSafeToRemove wording
- Corrects what I think was a typo ("when then" -> "when they")
- Picks a single tense
- capitalizes OSD

Signed-off-by: Josh McSavaney <me@mcsau.cc>
2020-09-14 18:17:47 -04:00
Travis Nielsen bea518a4c4 Merge pull request #6192 from cybozu-go/ceph-update-the-note-of-osd-on-lv-backed-pvc
ceph: update the note of OSD on LV-backed PVC
2020-09-08 14:32:15 -06:00
subhamkrai badf2887bb ceph: update object prefixed manifests and related docs
apply latest changes to prefixed manifests and
related docs.

Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
2020-09-03 12:17:15 +05:30
Sébastien Han a3328564bd Merge pull request #6187 from greenstatic/docs-formatting-fix
docs: fix markdown code block formatting issue
2020-09-01 09:33:43 +02:00
Satoru Takeuchi 6ae37de6fb ceph: update the note of OSD on LV-backed PVC
The problem of OSD on LV-backed PVC can be mitigated with disabling
`lvmetad`.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2020-09-01 04:18:14 +00:00
Obleskar 55da5e9560 edgefs: docs: note nfs service name restrictions
Add a note that NFS service names created by efscli need to comply with
k8 DNS naming restrictions. Failure to do so will result in an invalid NFS
object manifest name.

Signed-off-by: Obleskar <benjamindeuson@gmail.com>
2020-08-31 19:41:51 -07:00