Commit Graph
673 Commits
Author SHA1 Message Date
Sébastien Han 44cd526fff Merge pull request #5883 from leseb/rm-sc-external
ceph: remove storageclass-bucket-retain-external.yaml
2020-07-27 11:50:58 +02:00
Alexander Trost 0795204b1d Merge pull request #5872 from cloudical-io/cassandra_update
cassandra: use latest 3.11.6 version in examples
2020-07-23 15:26:36 +02:00
Sébastien Han dcadf10f0c Merge pull request #5837 from leseb/external-connection
ceph: let the healthcheck set the status phase
2020-07-23 09:24:58 +02:00
Sébastien Han cf28b16b68 Merge pull request #5836 from subhamkrai/objectstore-liveness
ceph: ability to configure livenessprobe for cephobjectstore crd
2020-07-23 09:14:34 +02:00
Sébastien Han dc643bfca2 ceph: remove storageclass-bucket-retain-external.yaml
The new CephObjectStore code now has an external property and we won't
require the endpoint to be set manually anymore on the SC. The
lib-bucket code will detect it through the name of the object store.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-22 18:37:49 +02:00
Sébastien Han 17e9f1a890 ceph: remove unexisting function
Leftover from a previous patch, this function does not exist anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-22 17:25:15 +02:00
Travis Nielsen 66d81230ac Merge pull request #5870 from Madhu-1/remove-metaflag
ceph: remove unwanted metadatastore and mountcache flag
2020-07-22 09:00:23 -06:00
Sébastien Han 8f4e37b80a Merge pull request #5452 from leseb/osd-wipe
ceph: enhancement disk sanitize options
2020-07-22 16:11:35 +02:00
Alexander Trost 29e51cb1e9 cassandra: use latest 3.11.6 version in examples
This also updates the cassandra version in the tests.
This is to provide safe and secure defaults to users running Cassandra.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-07-22 13:18:43 +02:00
Sébastien Han 907c8bf85f Merge pull request #5719 from alimaredia/wip-object-store-multisite-enhancements
ceph: check for adding endpoints into zone group
2020-07-22 11:19:15 +02:00
Madhu Rajanna 73e1ee41c3 ceph: remove unwanted metadatastore and mountcache flag
metadatastore and mountcache are required for cephcsi v1.0.0

as rook doesnot used ceph-csi v1.+ version
we can remove this flag. Removing these flags doesnot
affect the functionality of anything.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-22 14:36:11 +05:30
Ali Maredia 9dd0ea894a ceph: documentation for pulling a realm for multisite
This commit adds design revisions, examples, and
documentation for object multisite.

Changes to the CephObjectRealm to pull a realm
from another cluster, and the zone for creating
pools are amongst the larger changes

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-21 16:46:18 -04:00
Ali Maredia 0f7e55780c ceph: add pool creation for ceph-object-zone
When zones are created the ceph RGWs inside the
those zones should be using pools with the zones
name not the object-store's name

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-21 13:30:41 -04:00
Ali Maredia 5d9c2f09a9 ceph: enable the realm pull on ceph-object-realm
This commit:
- adds the pull section on the CephObjectRealm spec
to enables realms to be pulled instead of created.

- creates the system user and generates the access
key and secret key for the user and zones in a realm.

- adds "omitempty" to fields in multisite CRs that
are not required

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-07-21 13:30:19 -04:00
Sébastien Han 10ed662bdb ceph: enhancement disk sanitize options
Now, we can not only cleanup monitor data, logs and crashes but the
disks too. As part of the cleanupPolicy CR spec, we have a new setting
called sanitizeDisk which holds more details:

* method: indicates if the entire disk should be sanitized or simply ceph's metadata.
Possible choices are 'complete' or 'quick' (default)
* dataSource: indicate where to get random bytes from to write on the disk.
Possible choices are 'zero' (default) or 'random'
Using random sources will consume entropy from the system and will take much more time then the zero source
* iteration: overwrite N times instead of the default (1). Takes an integer value

See the documentation for more details.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-21 14:07:11 +02:00
subhamkrai 23f0ac7f9c ceph: ability to configure livenessprobe for cephobjectstore crd
this commit allows us to disable livenessprobe for
cephobjectstore crd.

Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
2020-07-20 22:53:32 +05:30
Travis Nielsen a1880e6589 Merge pull request #5849 from travisn/target-size-string
ceph: Pool parameters must be strings
2020-07-17 12:24:21 -06:00
Travis Nielsen 5be965c1c3 ceph: target_size_ratio must be a string instead of float
The pool parameters must be strings. In the pool examples now we add
quotes around the sample target_size_ratio to avoid deserialization
errors.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-17 11:16:00 -06:00
Anmol Sachan 6bf3aa9a9a ceph: added prometheus rule file for alerting on external cluster
Signed-off-by: Anmol Sachan <anmol13694@gmail.com>
2020-07-17 11:29:51 +02:00
Sébastien Han 34ccb84aa3 ceph: add external prometheus endpoint
We can now connect an external prometheus exporter to Rook to collect
metrics and generate alerts from Prometheus.
Just enable this in the CephCluster CR:

```
spec:
  external:
    enable: true
   monitoring:
    enabled: true
    rulesNamespace: rook-ceph
    externalMgrEndpoints:
    - ip: 192.168.39.182
```

Closes: https://github.com/rook/rook/issues/5516
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-17 11:29:48 +02:00
Travis Nielsen e74c7eaef8 ceph: refactor context and clusterInfo passed to the ceph commands
To provide more context for executing commands in a ceph cluster,
the full clusterInfo is now passed to the ceph execution commands.
All information about the cluster will now be available throughout
all the areas of the operator. The namespace, ceph credentials,
mon endpoints, and other info is a core part of that cluster info.

Arguments passed through the controllers are also simplified for
mons, mgr, osds, and other daemons where the parameters had
become too complex.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:54 -06:00
Travis Nielsen 631b13b906 ceph: refactor creds used by operator
The operator should only connect to ceph with a single set of creds.
In a converged cluster this will be the admin creds and in an external
cluster it will be lower-privileged creds. Independent clusters were
implemented with a separate set of creds. To simplify the code these
are now merged to a single set.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-16 15:54:42 -06:00
Sébastien Han 83e1ff102d ceph: add http dial to verify external endpoint
If there is a typo in the rgw endpoint, then the user will be notified
that the gateway is not accessible or does not return the 200 HTTP code.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-15 22:15:42 +02:00
Blaine Gardner f2bc23c33e Merge pull request #4916 from SUSE/drive-groups
Ceph: provision OSDs using Drive Groups
2020-07-14 18:08:45 -06:00
Travis Nielsen 3d3986ee02 Merge pull request #5785 from prksu/fix-nfs-on-openshift
nfs: fix nfs issue on openshift
2020-07-14 11:06:47 -06:00
Blaine Gardner 7117fc12b7 ceph: osd: add drive groups spec to cluster CR
Add the ability to provision Ceph OSDs with Drive Groups.
This adds Drive Groups to the CephCluster CRD, and it sets code
in place for propagating this config to the OSD provisioning pod.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-07-14 09:43:03 -06:00
Ahmad Nurus S 1659687d37 nfs: fix nfs issue on openshift
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-07-14 18:11:39 +07:00
Travis Nielsen d4c7d0278f Merge pull request #5789 from leseb/liveness-disable
ceph: configurable status checks and livenessprobe
2020-07-10 13:38:42 -06:00
Sébastien Han ccb52b84e6 ceph: configurable status checks and livenessprobe
This commit allows us to configure status check for each daemon:

* "mon": health check on the ceph monitors (quorum)
* "osd": health check on the ceph osds
* "status": ceph health status check

Each check is controlled by the following settings:

* disabled: whether to disable the check (default: false)
* internal: interval to run the check
* timeout: only valid for mons, is the timeout for unresponsive mon
before failling over.

Example to disable the status health check:

```yaml
healthCheck:
  daemonHealth:
    status:
      disabled: true
```

As part of that, pod's livenessprobe can now be configured via the
following settings:

* disabled: whether to enable or not
* probe: override the current probe in place by a new one

```yaml
healthCheck:
  livenessProbe:
    mon:
      disabled: true
```

Closes: https://github.com/rook/rook/issues/5772
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-10 19:21:59 +02:00
Blaine Gardner b8aea86ced ceph: fix manifest ceph version support comment
Adjust the comment for `cephVersion:allowUnsupported` in the
`cluster.yaml` manifest to correctly document that Nautilus and
Octopus are supported (not Mimic and Nautilus).

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2020-07-10 10:30:46 -06:00
Travis Nielsen ba590396e8 docs: remove references to xfs for ceph volumes
When mounting a ceph volume, xfs may cause issues with potential
deadlocks if the volume is on the same node as the OSDs. To avoid
this issue the default recommendation is ext4.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-08 22:31:11 -06:00
Sébastien Han 6de1ad8575 ceph: resync crds
Add missing API fields.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-08 09:28:40 +02:00
taeuk_kim 2bd4b83d50 ceph: fix cephfs kernel comment in operator
Fix an ambiguous comment which explains about
CSI_FORCE_CEPHFS_KERNEL_CLIENT flag in operator.yaml.

Signed-off-by: taeuk_kim <taeuk_kim@tmax.co.kr>
2020-07-07 07:15:17 +00:00
Travis Nielsen 3af205d958 ceph: remove legacy target_size_ratio example
The target_size_ratio moved under the parameters element of
the pool settings. While the target size ratio is still supported
under the previous location for backward compatibility, the
example is preferred under parameters.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-06 14:45:21 -06:00
Travis Nielsen dbae36b2bb ceph: update to the latest octopus release
Update the base operator image and cluster examples to use the latest
octopus release v15.2.4. Also cleanup some old examples and unit tests
that were still based on mimic.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-07-06 12:11:47 -06:00
Travis Nielsen a11018d707 Merge pull request #5756 from thotz/upgradecrdsobjectstore
ceph: adding missing ceph object crds in upgrade-from-v1.3-crds
2020-07-06 11:24:56 -06:00
Ahmad Nurus S d324f15ec4 nfs: add kubebuilder marker and fix some documentation
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-07-03 14:33:36 +07:00
Ahmad Nurus S 90da5ec7b9 nfs: add validation admission webhook using controller-runtime
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-07-03 14:33:36 +07:00
Ahmad Nurus S f7f8270f58 nfs: rewrite nfs operator controller to use controller-runtime
Signed-off-by: Ahmad Nurus S <prksu.sh@gmail.com>
2020-07-03 14:33:25 +07:00
Jiffin Tony Thottan 33af005be1 ceph: adding missing ceph object crds in upgrade-from-v1.3-crds
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2020-07-03 12:09:10 +05:30
Sébastien Han e4eaa91ede ceph: add rgw endpoint healthcheck
We have introduced a new goroutine to check the state of the rgw
endpoint. It will run every minute and perform operations on a bucket.
The success or failure will be reported as part of the status field of
the CephObjectStore CR.

A good status will look like:

status:
  endpointStatus:
    lastChanged: "2020-06-25T13:47:45Z"
    lastChecked: "2020-06-25T13:48:46Z"
  phase: Connected

A failed status:

status:
  endpointStatus:
    details: |-
      error creating bucket "rook-ceph-internal-s3-bucket-checker": RequestError: send request failed
      caused by: Put http://rook-ceph-rgw-my-store.rook-ceph:8080/rook-ceph-internal-s3-bucket-checker: dial tcp 10.108.189.148:8080: connect: connection refused
    health: ERROR

This check works for both converged and external modes. Note that the
CephObjectStore CRD has a new field called "externalRgwEndpoints" which
allows you to define a list of IP addresses pointing to rgws.

Closes: https://github.com/rook/rook/issues/5692
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-07-02 16:34:10 +02:00
Travis Nielsen f834a2d2b1 Merge pull request #5686 from Madhu-1/snapshot-beta
ceph: update ceph-csi snapshot from Alpha to Beta
2020-06-30 23:42:47 -06:00
Madhu Rajanna cc97b94953 ceph: add upgrade documentation for csi
as we are moving from alpha to beta snapshot,
we need to cleanup alpha resources to have successful
upgrade

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Madhu Rajanna 3f46b437c6 ceph: remove CSI_ENABLE_SNAPSHOTTER from CSI config
removed CSI_ENABLE_SNAPSHOTTER from the configuration
to enable or disable csi-snapshotter as snapshot
is moved to beta and enabled by default in kubernetes
1.17+

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Madhu Rajanna 02c9bfe00f ceph: update RBAC required for external-snapshotter
Updated the required RBAC for external-snapshotter
beta to work.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Madhu Rajanna 6699dba25a ceph: update sidecar images version
updated snapshotter from v1.x to v2.x
as its supports snapshot beta, the required
provisioner version to support snapshot beta
is v1.5.x+.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Madhu Rajanna 37ddeda7af ceph: remove snapshotter sidecar from provisioner sts
ceph-csi will be deployed as statefulset if the kubernetes
version is less than 1.14, as snapshotter will work
with kube 1.17+, we dont need snapshotter sidecar
deployed as part of statefulset.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Madhu Rajanna 9f596e4c9f ceph: update snapshot yaml as per snapshot beta
in kubernetes 1.17+ the snapshot CRD is changes
we need to update snapshot yaml file as per new CRD

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Madhu Rajanna e01cb7f527 ceph: update snapshotclass as per snapshot beta
few Parameters are changed in snapshotclass in
beta version.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-07-01 07:20:04 +05:30
Jiffin Tony Thottan e4fae54e3c ceph: run bucket provisioner in multithreaded mode
The latest lib-bucket provisioner library supports multithreading via
env "LIB_BUCKET_PROVISIONER_THREADS"

Closes: #4907
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2020-06-30 23:07:22 +05:30