Commit Graph
13292 Commits
Author SHA1 Message Date
Travis Nielsen 41fe8c3a2b ceph: call the ParentClusterChanged in a goroutine
When the cluster is upgraded, the child controllers are notified with the
callback to the ParentClusterChanged() method. These should be made
in a separate goroutine so that the cluster controller is not blocked
on the child controllers and also so child controllers aren't blocked
on each other for the upgrade.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-17 16:24:28 -07:00
Travis Nielsen a1db52c5a0 ceph: move integration test to csi driver
The integration tests have been mostly running on the flex driver
with only a newer test on the csi driver. With the CSI driver being
the preferred driver going forward, now the integration tests will
all be running with the CSI driver with the exception of a test
suite that is only dedicated to the flex driver.

A number of other test improvements are also made for code
readability, test stability, and removing unused options.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-17 16:24:28 -07:00
Travis Nielsen a960e263db ceph: remove obsolete longhaul tests
The longhaul tests have not been run for a very long time,
on the order of two years. The intention is to get them running
again, but until then it is better to purge the obsolete sources
than to attempt to keep them building. We'll need to rewrite them
when they are restored.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-17 14:11:39 -07:00
Travis Nielsen 6090ad1385 Merge pull request #4863 from crombus/encoders
ceph: Add encoders for input and output of ceph
2020-02-17 11:34:18 -07:00
crombus ae110fc517 ceph: Add comment that sprintf formatting is safe
This commits adds comment for safety of using
sprintf formatting

Closes: https://github.com/rook/rook/issues/4575
Signed-off-by: crombus <pkundra@redhat.com>
2020-02-17 18:04:24 +05:30
Sébastien Han 2b5aa9a413 Merge pull request #4874 from muff1nman/limit-namespace-watch
Limit namespace watches when ROOK_CURRENT_NAMESPACE_ONLY is true
2020-02-17 10:23:26 +01:00
Andrew DeMaria 60ec9c35fa ceph: limit watches to configured namespace
When ROOK_CURRENT_NAMESPACE_ONLY is true, watches should be limited to
the configured namespace

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2020-02-14 18:34:57 -07:00
Travis Nielsen 22fde10aaa Merge pull request #4865 from nizamial09/credential
rook: Fixing the potential hardcoded credential warnings
2020-02-14 08:48:28 -07:00
Travis Nielsen f459465317 Merge pull request #4866 from nizamial09/file_inclusion
rook: Fixing the potential file inclusion error
2020-02-14 08:47:40 -07:00
Alexander Trost c926d986bf Merge pull request #4869 from galexrt/fix_pvc_based_crd_example
docs: fix CephCluster PVC based example
2020-02-14 15:43:19 +01:00
Alexander Trost 02674b851b docs: fix CephCluster PVC based example
The `cephVersion` was missing in the PVC based Ceph Cluster example.
Otherwise the Ceph Cluster would fail to be created due to no Ceph
version being specified.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-02-14 11:59:14 +01:00
Nizamudeen 78ef4abeec ceph: Fixing the potential file inclusion error
This commit is also part of gosec error handling which handles the following issue:

Fixed G304: Potential File inclusion by cleaning up the file path

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-02-14 12:22:49 +05:30
Nizamudeen a42e180ad8 ceph: Fixing the potential hardcoded credential warnings
This commit fixes the gosec warning
G101: Potential hardcoded credential variable by adding a #nosec tag and relavant comment

Signed-off-by: Nizamudeen <nia@redhat.com>
2020-02-14 12:18:51 +05:30
Travis Nielsen 2189dbc959 Merge pull request #4489 from leseb/dev-fullpath
ceph: add support for disk selection by full path
2020-02-13 11:11:59 -07:00
Sébastien HanandSean Micklethwaite b04e35dab5 ceph: add support for disk selection by full path
Rook-Ceph now supports specify device by their fullpath instead of links
created by the kernel like /dev/sdb.

Closes: https://github.com/rook/rook/issues/1228
Co-authored-by: Sean Micklethwaite <sean@wayve.ai>
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-13 17:31:38 +01:00
Sébastien Han b7ba466b0b Merge pull request #4859 from leseb/raw-release-note
release: add osd on pvc raw mode note
2020-02-13 17:30:35 +01:00
Sébastien Han a2fe2f5720 release: add osd on pvc raw mode note
update pending release note.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-13 17:16:43 +01:00
Sébastien Han 27a02386c3 Merge pull request #4850 from leseb/octopus-upgrade
ceph: remove mimic support, default to nautilus
2020-02-13 11:47:16 +01:00
Sébastien Han 8c58cdbc78 ci: fix upgrade ordering
We now test the upgrade from M to N before the upgrade to master.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-13 09:17:34 +01:00
Sébastien Han 45118185cf ceph: remove mimic support, default to nautilus
As of 1.3, Rook will only support Ceph Nautilus 14.2.5.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-13 09:17:34 +01:00
Travis Nielsen d431e7620e Merge pull request #4856 from leseb/csi-external-cluster
ceph: populate CSI configmap for external cluster
2020-02-12 11:36:11 -07:00
Sébastien Han 04ee2d91fd ceph: populate CSI configmap for external cluster
The configmap for csi wasn't created so csi wasn't working.

Closes: https://github.com/rook/rook/issues/4816
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-12 17:58:53 +01:00
Sébastien Han 6a2a5dcf2c Merge pull request #4854 from ashishranjan738/cleanpv
Update localPV.sh to clean localPVs before applying
2020-02-12 16:00:01 +01:00
Sébastien Han 836f30d5ed Merge pull request #4817 from umangachapagain/csi-placement-config
Ceph: adds "rook-operator-config" configmap
2020-02-12 15:37:19 +01:00
Sébastien Han abafb08699 Merge pull request #4603 from galexrt/fix_4528
k8sutil: set ResourceVersion for PrometheusRule
2020-02-12 11:40:04 +01:00
Ashish Ranjan af4cc2096d Ceph: update localPV.sh to clean localPVs before applying
This commit updates localPV.sh to clean existing localPVs before applying the new one.

Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>
2020-02-12 15:03:35 +05:30
Umanga Chapagain 7b201b8dae Ceph: adds "rook-ceph-operator-config" configmap
"rook-ceph-operator-config" can be used to override Env Var
initialized during operator deployment.

This commit makes use of the ConfigMap to determine NodeAffinity
and Tolerations for ceph-csi drivers.

Closes #3239
Signed-off-by: Umanga Chapagain <chapagainumanga@gmail.com>
2020-02-12 14:07:03 +05:30
Travis Nielsen 7877a4b10e Merge pull request #4844 from leseb/pvc-osd-expand
ceph: implement osd block expansion on PVC
2020-02-11 12:32:26 -07:00
Sébastien Han edbf8d3732 Merge pull request #4843 from leseb/balancer-clients
ceph: force enabling balancer module with older clients
2020-02-11 20:26:50 +01:00
Sébastien Han e1dc677714 ceph: implement osd block expansion on PVC
When running on PVC, if the backend resizes the block, Rook will expand
it and the size of the OSD will grow.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-11 18:33:50 +01:00
Sébastien Han b95e2a4c3e Merge pull request #4818 from leseb/osd-raw-pvc-db-wal
ceph: add support for metadata PVC for OSD on PVC
2020-02-11 18:26:21 +01:00
Sébastien Han b6c1cb13a5 ceph: force enabling balancer module with older clients
When running old client version, we must force the compatibility
features so that the orchestration does not fail in a loop.

Closes: https://github.com/rook/rook/issues/4842
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-11 18:25:15 +01:00
Sébastien Han c08c3ced05 ceph: add support for metadata PVC for OSD on PVC
We now support the addition of the PVC that acts as a metadata device
for a given OSD.
For this, you need to create a new `volumeClaimTemplates`, its name must
be "metadata" otherwise, Rook won't pick it up.

A template will look like this:

```
volumeClaimTemplates:
- metadata:
    name: data
  spec:
    resources:
      requests:
        storage: 10Gi
    # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
    storageClassName: gp2
    volumeMode: Block
    accessModes:
      - ReadWriteOnce
- metadata:
    name: metadata
  spec:
    resources:
      requests:
        storage: 6Gi
    # IMPORTANT: Change the storage class depending on your environment (e.g. local-storage, gp2)
    storageClassName: gp2
    volumeMode: Block
    accessModes:
      - ReadWriteOnce
```

We now map block and block.db directly inside the container instead of
running ceph-volume activate. This is much cleaner.

Closes: https://github.com/rook/rook/issues/3852
Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-11 17:30:02 +01:00
Sébastien Han 7390940acd ceph: osd add missing annotation
Setting annotation on pvc deployments too so that we don't
restart/update deployment is not necessary.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-11 17:25:51 +01:00
Travis Nielsen 02ba91cddc Merge pull request #4839 from rwd5213/add-patch-cephfs-external-role
Update Chart for Patch to Volume Attachment in Storage apiGroup
2020-02-10 12:00:06 -07:00
Alexander Trost 430e4dc0f4 k8sutil: set ResourceVersion for PrometheusRule
This change sets the ResourceVersion on the PrometheusRule object before
it is updated in Kubernetes.
This change fixes the following error
```
is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update
```
which can occur during update when no ResourceVersion is set.

Resolves #4528

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-02-10 13:36:46 +01:00
desprert 712873641a helm: update charts for cephcsi v2.0.0
Updating clusterroles for cephcsi v2.0.0 permissions

Signed-off-by: Ryan Despres <rdespres117@gmail.com>
2020-02-07 22:45:25 -08:00
Travis Nielsen ffcd8b320a Merge pull request #4833 from travisn/min-size-0
Set min size to 0 on pool replication
2020-02-06 16:26:05 -07:00
Travis Nielsen 12ff5ab54a Merge pull request #4830 from leseb/octopus-support-osd
ceph: allow osd full upgrade to octopus
2020-02-06 16:25:54 -07:00
Travis Nielsen dbfcef8c19 ceph: set min size to 0 on pool replication
The replication and erasure code settings are mutually exclusive
so must both be treated as optional by the schema validation.
The minimum must be set to 0 to treat them as optional.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-02-06 13:48:52 -07:00
Travis Nielsen c46aeffc4f Merge pull request #4584 from jmolmo/issue_4565
ceph: Remove ineffectual assignments
2020-02-06 11:26:34 -07:00
Sébastien Han 8b8b07956f Merge pull request #4829 from leseb/followup-4679
ceph: nits from https://github.com/rook/rook/pull/4679
2020-02-06 19:01:40 +01:00
Sébastien Han 25d6d27a8a ceph: allow osd full upgrade to octopus
Once osds will run on octopus we will activate the necessary features
for these OSDs.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-06 18:40:04 +01:00
Sébastien Han e906b02ead ceph: add more ceph version checks
We need to be able to know which version we are running on.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-06 17:27:11 +01:00
Sébastien Han 2e9ee105ed ceph: nits from https://github.com/rook/rook/pull/4679
- Use %q when possible
- don't use fmt.Errorf
- use the right type when returning errors

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-06 16:40:19 +01:00
Sébastien Han 6a5d958236 Merge pull request #4803 from leseb/target_size_ratio
ceph: ability to set target_size_ratio
2020-02-06 10:22:05 +01:00
Sébastien Han cface95317 ceph: ability to set target_size_ratio
target_size_ratio is used the tell the Ceph cluster the excepted
occupancy of a pool in the cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-02-06 09:13:47 +01:00
Travis Nielsen e487480487 Merge pull request #4679 from rohantmp/drainFix
Ceph: Improve detection of drain-canaries and info-log significant nodedrain scheduling events
2020-02-05 23:53:32 -07:00
Travis Nielsen d0c2de9c94 Merge pull request #4820 from travisn/disable-csi-owner-ref
Remove owner references to csi driver
2020-02-05 17:17:29 -07:00
Travis Nielsen dff7cddc87 Merge pull request #4811 from leseb/unclean-pvc
ceph: fail if no devices found
2020-02-05 16:15:59 -07:00