Commit Graph
160 Commits
Author SHA1 Message Date
travisn 531da9647c ceph: rely on ceph image creation success instead of rbd get info
Nautilus has an issue targeting Luminous when running the rbd info command.
Rook already has the info it needs for the call and can return it
after the rbd create command succeeds.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 15:15:36 -06:00
travisn 91cc62676d Base the rook ceph operator image on the Nautilus release image
To target a Nautilus image with msgr2 and configure the nfs ganesha feature
for Ceph, we need to update the base image to Nautilus.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 15:15:36 -06:00
travisn 058ffe8adf integration test for ceph nfs daemons
Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 15:15:36 -06:00
travisn 23498cf09d tests: smoke suite runs on nautilus
Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-20 12:39:29 -06:00
Noah Watkins 379cb98689 ceph: replace release name with fine-grained version
The basic idea here is to replace the release name in the ClusterInfo
object with the fine grained version information queried at runtime.
This patch also removes the Name field from the cluster spec, which was
also runtime determined and was redundant with ClusterInfo relase name.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-03-18 12:57:29 -07:00
travisn eece96eea4 tests: retry the file mount integration test for stability
Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-12 17:30:06 -06:00
Jared Watts cb3ada9795 Merge pull request #2752 from ZYecho/add-rbac
cockroachdb: add minimal rbac access for cockroachdb pod
2019-03-07 20:21:56 -08:00
Travis Nielsen 4dfdf2f022 Merge pull request #2310 from SUSE/ceph-add-extra-integration-test-logging
Ceph integration tests: add more verbose logging
2019-03-07 14:40:37 -07:00
Blaine Gardner 086fa8231c rgw: configure entirely in operator
Configure the Ceph rgw daemon completely from the operator a la the
recent changes to the Ceph mon, mgr, and mds operators.

Create the rgw deployment or daemonset first, and then create the
keyring secret for the object store with its owner reference as the
corresponding deployment or daemonset. When the replication controller
is deleted, the secret is also deleted.

The RGW's mime.types file is now stored in a configmap with a different
file created for each object store. This is primarily just a means to
get the mime.types file into the rgw pod, but the added benefit is that
the administrator can modify the configmap, which could reduce
susceptibility to file type execution vulnerabilities (worst case).

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-03-07 08:02:42 -07:00
Blaine Gardner 51cc7c2e85 Ceph integration tests: add more verbose logging
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-03-05 14:14:09 -07:00
zhangyue baf27bdd8e cockroachdb: modify cockroachdb operator rbac access
Signed-off-by: zhangyue <zy675793960@yeah.net>
2019-03-05 14:16:10 +08:00
Travis Nielsen a145f4dcb7 Merge pull request #2703 from travisn/osds-per-device-with-filter
Clean up provisioning of OSDs on devices
2019-03-04 07:58:56 -07:00
travisn b24ebc8168 tests: remove unnecessary string returns from kubectl calls
Various kubectl helper methods return strings from calls to
create, delete, or apply resources. There is no need for this.
It is sufficient and complete to check the err from these calls to determine failure.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-03-01 16:16:41 -07:00
zhangyue 87b4f45fd9 test: add nfs with multi export integration test
Signed-off-by: zhangyue <zy675793960@yeah.net>
2019-02-28 09:02:52 +08:00
travisn bdc3cf8146 osd: fix the device filter and improve device provisioning reliability
All devices detected by the discovery pod were being passed to the OSD provisioning pod
thus not always honoring the desired device list that should be provisioned.
Now the provisioning pod will be given the desired state from the crd,
then apply that state depending on the actual devices detected.
Also added a helper to ensure OSDsPerDevice is always valid.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-02-26 16:11:25 -07:00
Jeff Layton a5252dccee ceph: fix up RBAC permissions
I had some trouble with RBAC under minikube when testing some
ceph-mgr functionality. This patch tweaks rook-ceph-mgr-system to
be a ClusterRole, and rook-ceph-mgr-cluster to use a
ClusterRoleBinding.

While we're in there, remove the namespace fields from the
ClusterRoleBindings since they just get ignored.

Finally, also fix up the upgrade test to remove the objects that have
changed and reinstantiate them properly.

Suggested-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-02-22 06:30:49 -05:00
Huamin Chen 1b21e42a90 convert extensions to apps
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-02-14 16:06:05 -05:00
Huamin Chen 3806baffe1 add ceph csi deploy options
Signed-off-by: Huamin Chen <hchen@redhat.com>
2019-02-12 21:20:41 -05:00
Travis Nielsen 8a2001c3d7 Merge pull request #2522 from travisn/reference-k8s-provisioner
Reference the k8s provisioner instead of the outdated in-tree provisioner
2019-02-07 19:39:32 -07:00
Blaine Gardner 78d4719125 ceph: no longer create fallback osd
Rook's behavior should not be to create a default OSD in dataDirHostPath
when no devices are present on a node. Any preexisting fallback osd
should be kept as long as no dirs or disks have been specified to keep
the legacy behavior for those clusters running with these osds in place.
The legacy deletion behavior is also kept, removing the osd as soon as
any dir or device is specified other than the dataDirHostPath dir.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-02-01 09:41:32 -07:00
travisn c9d3d1bf17 reference the k8s pvc provisioner and remove outdated in-tree provisioner
Signed-off-by: travisn <tnielsen@redhat.com>
2019-01-19 07:48:00 -07:00
travisn feb33de24b tests: upgrade test is from v0.9 instead of v0.8
Signed-off-by: travisn <tnielsen@redhat.com>
2019-01-14 23:06:19 -07:00
travisn 0230400e27 build: remove 1.8 and 1.9 and add 1.13 to integration tests
Signed-off-by: travisn <tnielsen@redhat.com>
2018-12-19 23:42:01 -07:00
Travis Nielsen f6bcdfa687 Merge pull request #2346 from travisn/mgr-configmap-access
Grant access for ceph-mgr to access the configmaps in the system namespace
2018-12-07 16:51:02 -07:00
Alexander Trost 6dc508b704 Merge pull request #2318 from galexrt/minio_arbitary_pvcs
Cockroachdb + Minio: Use PersistentVolumeClaimTemplates storage
2018-12-08 00:20:07 +01:00
travisn ff3f73d73c mgr: grant access to the configmaps to read devices in the system namespace
Signed-off-by: travisn <tnielsen@redhat.com>
2018-12-07 14:10:35 -07:00
Sebastian Wagner 71c0328b09 Ceph CRDs: Add additionalPrinterColumns to enhance command line output
Like so:
```
$ kubectl get cluster.ceph.rook.io
NAME        DATADIRHOSTPATH   MONCOUNT   AGE
rook-ceph   /var/lib/rook     1          4h
```

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-12-07 10:58:43 -07:00
Alexander Trost 5fc8584422 Cockroachdb + Minio: Use PersistentVolumeClaimTemplates storage
selection field.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-12-07 12:20:49 +01:00
travisn 9660f49624 ceph: remove crd short names to avoid conflict with beta crds
Signed-off-by: travisn <tnielsen@redhat.com>
2018-12-05 16:23:55 -07:00
travisn a29b876337 rename ceph v1 crds with the ceph prefix
Signed-off-by: travisn <tnielsen@redhat.com>
2018-12-05 16:23:55 -07:00
travisn 62f7e5d6ea ceph: update docs, code, and tests to use v1 crd types
Signed-off-by: travisn <tnielsen@redhat.com>
2018-12-05 14:33:11 -07:00
Yannis Zarkadas b23d874856 cassandra: integration tests and scripts
Simple integration test for Cassandra.
Boilerplate in setup scripts for Jenkins.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:50:09 +02:00
Alexander Trost ac19f85fbb Allow specifying custom Ceph user and secret name for mounting
Introduce mount security mode for basic multi tenancy

Fixes #2164.

This adds three new parameters/options to StorageClass/flexvolume entry:
* `mountUser`
* `mountSecret`
* `mountSecretNamespace`

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-12-04 20:17:15 +01:00
travisn fed0d9022a tests: add new mgr and osd service accounts and related resources to upgrade
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-30 13:39:59 -07:00
travisn ea03f58048 rbac: rename service account rook-ceph-cluster to rook-ceph-osd
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-30 13:39:58 -07:00
travisn 16c2a56591 add ceph mgr roles to the tests and helm chart
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-30 13:39:58 -07:00
travisn fdd64bb95a enable rbd mirror daemon in the cluster crd
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-28 08:29:57 -07:00
Alexander Trost f46efa452c Merge pull request #2282 from galexrt/pera_fix
Use truncated node name for missed sections
2018-11-27 16:30:21 +01:00
Alexander Trost 5325d4dcec Use a very long testprefix for nodes
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-11-23 10:13:53 +01:00
Ben Zieglmeier 6d04bbf430 ceph: Add CRD for Object Store User
Add the ability to create and manage object store users with CRDs

Signed-off-by: Ben Zieglmeier <benjamin.zieglmeier@target.com>
2018-11-21 15:15:05 -06:00
travisn c1f73bb24b tests: collect init container logs
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-20 15:56:05 -07:00
travisn 906add05ce consume the ceph images from the ceph/ceph repo
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-01 11:49:37 -06:00
travisn 06a2461cac cleanup some errors in integration tests
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-01 11:49:36 -06:00
travisn b2a0dc77fa automatically detect the major version of the Ceph image
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-01 11:49:36 -06:00
travisn 94a7a0d4bc run daemons with the ceph image instead of rook
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-01 11:49:35 -06:00
Blaine Gardner 96f9a9c4ad ceph mds: allow mds deployment scale-down
fix #2193

Fix regression introduced by PR allowing MDS config creation in init
container. This allows the new deployment-based mds clusters to scale
down where currently they can only remain constant or scale up.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-10-12 14:53:08 -06:00
Blaine Gardner ce803fbf9d Ceph mds/file: Set up config in init container
Progress toward issue #2003.
Includes design from design doc PR #1578

Use init containers to create configuration for Ceph mgrs. There is only
one init container in this design. The init container calls the Rook
binary to create Ceph config files which are then shared with the mds
daemon main container.

Once this init is run, the main mds daemon is run. Leaving room to use
the Ceph-versioned image in the future, call `ceph-mds --foreground ...`
to run the Ceph mds.

The refactor to using an init container also necessitated refactoring
the mdses replicaset implementation to a deployment-per-pod
implementation due to a chicken-egg problem. With a single container (in
the before times) the Rook binary was able to call the ceph-mds daemon
with an id generated from the pod name. Since the pod name is not known
before runtime, and the id is one of the few params that must be
specified to Ceph daemons on run, it is necessary to know the id
beforehand; thus the move to a deployment architecture following the
likes of the mon and mgr daemons.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-10-05 19:01:12 -06:00
travisn efd581e7ed start toolbox pod with the ceph image instead of a separate image
Signed-off-by: travisn <tnielsen@redhat.com>
2018-10-02 15:43:53 -06:00
travisn 7d97b6ad76 osd: use the node hostname labels instead of node names
Signed-off-by: travisn <tnielsen@redhat.com>
2018-10-01 08:09:06 -06:00
travisn 15f6ee5b14 osd: enable filestore on device scenario to run with ceph image
update osd specs to be consistent with other daemons

Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-26 10:36:16 -06:00