Commit Graph
11197 Commits
Author SHA1 Message Date
Jared Watts 3208f3f9a3 Merge pull request #2207 from yanniszark/cassandra-operator-cluster-creation-implementation
[cassandra-operator] Cluster Creation Implementation
2018-12-05 11:42:25 -08: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
Yannis Zarkadas 0b731a04be cassandra: documentation
Added user documentation for the Cassandra operator and Cluster CRD.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:48:33 +02:00
Yannis Zarkadas 8440d52e7d cassandra: unit tests
Added unit tests for the controller and sidecar packages.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:48:25 +02:00
Yannis Zarkadas 367d485407 cassandra: sidecar implementation
Implementation of the cassandra sidecar logic.
This sidecar helps us inject our custom values during startup
and provides HTTP liveness and readiness checks.
In the future it will also be used for:
- Shutting Down / Decommissioning a cassandra instance
- Backups
- Restores

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:47:26 +02:00
Yannis Zarkadas c8c38d8584 cassandra: controller implementation
Control logic for the cassandra controller.
The controller exists in a separate StatefulSet, watches
Kubernetes Objects for changes and acts on those changes to
achieve the desired state.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:46:33 +02:00
Yannis Zarkadas 0ccc04cccd cassandra: controller scaffolding, image build and manifests
Scaffolding of a Kubernetes controller using the informer-workqueue
pattern.
Dockerfiles and Makefiles to build the cassandra operator image.
Manifests to deploy the Cassandra operator and create a Cluster CRD.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:44:29 +02:00
Yannis Zarkadas 2b0614a77c cassandra: code generation
Edited codegen.sh to include cassandra.
Then, run make codegen to generate the rest of the files.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:41:27 +02:00
Yannis Zarkadas bb64ffafe2 cassandra: crd types and boilerplate
API types for Cassandra have been added under /pkg/apis/cassandra.rook.io/types.go
Other files are some necessary boilerplate.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:41:04 +02:00
Alexander Trost 18b2da5fc5 Merge pull request #2216 from galexrt/fix_2164
Allow specifying custom Ceph user and secret name for mounting
2018-12-04 23:54:27 +01:00
Travis Nielsen 2af0be2cec Merge pull request #2317 from jtlayton/filesystem
Allow filesystem specifications without pools
2018-12-04 15:14:59 -07:00
Travis Nielsen 805ac1a339 Merge pull request #2314 from SUSE/ceph-upgrade-path-for-deployments
ceph: Update deployments on rook img update
2018-12-04 14:33:51 -07: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
Blaine Gardner d622b8cce2 Add release note about Ceph update deployments
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-12-04 11:35:17 -07:00
Blaine Gardner 290b496069 ceph mon/mgr/mds units: verify updated deployments
Verify that the expected deployments are updated in the Ceph mgr,
and mds unit tests.

This also allows those unit tests to pass at all since
UpdateDeploymentAndWait was blocking the unit tests from finishing due
to unexpected behavior of generated `Deployment.Update` unit test mock.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-12-04 11:35:06 -07:00
Blaine Gardner 3d89c78508 ceph: Update deployments on rook img update
Use the `UpdateDeploymentAndWait` method used by the osd operator to
update the deployments for mgrs, mdses, and rgws when the Rook
orchestrator image is updated.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-12-04 11:33:40 -07:00
Bassam Tabbara acb0e1454e Merge pull request #2320 from bassam/pr-readme
update slackin link
2018-12-02 10:44:27 -08:00
Bassam Tabbara 2909b0fc28 update slackin link
Signed-off-by: Bassam Tabbara <bassam@upbound.io>
2018-12-02 10:14:02 -08:00
Jeff Layton 9945e6c91b ceph mds: only permanently remove the fs if rook created it
i.e.: only if there was a data pool specified.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-12-01 20:40:12 -05:00
Jeff Layton dcd9e1e0ff ceph mds: allow filesystem specifications that have no pools
design/external-management.md says that we should allow specifying
Filesystems that have no pools. When this is done, the CRD should
interepret that as a request to just manage the MDS daemons without
creating a new filesystem.

Don't fail the verification if there are no data pools in the spec,
and just skip creating a new filesystem if that's the case.

Also, add a testcase for this usage.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-12-01 20:40:06 -05:00
Jeff Layton 677efb1a37 ceph mds: lift setting of max active MDS out of CreateFilesystem
This seems a bit misplaced, since CreateFilesystem is all about
doing the initial setup of the filesystem, and the daemons are
managed in a different block of code.

In a later patch, we're going to want to allow the CRD to spin
up MDS' for filesystems that already exist. Lift the code that
sets the MDS count into the caller.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-12-01 07:32:46 -05:00
Travis Nielsen 10fa2d9325 Merge pull request #2001 from jcsp/wip-mgr-rbac
Set service account on ceph-mgr pod
2018-12-01 00:58:20 -07:00
Travis Nielsen b5de6a47ec Merge pull request #2295 from travisn/roadmap-0.9
Updated roadmap for 0.9
2018-11-30 15:25:06 -07:00
Travis Nielsen 0bf7a7bfd1 Merge pull request #2319 from jtlayton/ceph-authtool
remove --set-uid option from ceph-authtool calls
2018-11-30 14:37:38 -07: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 69fba00f6b remove --set-uid option from ceph-authtool calls
Newer versions of ceph have deprecated this option, and the commands
will fail if you try to pass it in.

Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-30 13:24:46 -05:00
John Spray 66ac7de303 Grant ceph-mgr readonly access to nodes
We can attempt to get knowledge of nodes from Rook's
configmaps, but going direct is useful for usability in the Ceph UI: users
should be able to distinguish between "node doesn't exist"
and "node exists but Rook is unaware of it".

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-30 10:50:21 -07:00
John Spray cff953696c Set service account on ceph-mgr pod
This is to enable the `rook` ceph-mgr module to drive
the Rook and k8s APIs, exposing functionality via
its own CLI and GUI.

The service account gets access to two different roles:
one for the items that are within the cluster's namespace,
and one for reading configmaps in the rook-ceph-system namespace,
which is needed for reporting available devices.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-30 10:50:20 -07:00
Travis Nielsen 9654e51db1 Merge pull request #2290 from travisn/rbd-mirror
Enable rbd mirror daemon in the cluster crd
2018-11-30 08:54:40 -07:00
Alexander Trost b11ce15833 Merge pull request #2304 from gerritjvv/update-flexvolume-rancher-docs
Update flexvolume docs for rancher rke
2018-11-30 10:02:59 +01:00
Gerrit Jansen van Vuuren cbca537e4b Update flexvolume docs for rancher rke
Signed-off-by: Gerrit Jansen van Vuuren <gerritjvv@gmail.com>
2018-11-30 09:56:21 +01:00
Travis Nielsen 8face07032 Merge pull request #2312 from travisn/upgrade-test-cluster-role
Upgrade adds log access to cluster role
2018-11-29 21:31:45 -07:00
Travis Nielsen 89b84a0dcd Merge pull request #2311 from SUSE/ceph-terminate-fatal-on-osd-init-failures
Ceph osd: terminate fatal on pod init failures
2018-11-29 12:56:22 -07:00
travisn 40ad6c7ac7 tests: upgrade needs to add log access to cluster role
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-29 12:12:53 -07:00
Travis Nielsen 3135b1d7d5 Merge pull request #2154 from billimek/issue/1523
Allow OSDs to use a dedicated network
2018-11-28 23:51:03 -07:00
Jeff Billimek 4a1e091386 documentation changes for leveraging cluster network for ceph OSDs
Signed-off-by: Jeff Billimek <jeff@billimek.com>
2018-11-29 01:36:45 -05:00
Blaine Gardner 9ae6dfcd25 Ceph osd: terminate fatal on pod init failures
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-11-28 14:56:03 -07:00
Alexander Trost 5bc0517bef Merge pull request #2309 from galexrt/pvc_templates_storage_selection
Added PersistentVolumeClaimTemplates to storage selection
2018-11-28 21:46:21 +01:00
Travis Nielsen 24d5ba5927 Merge pull request #2306 from travisn/codegen-object-user
Codegen update for the object store user
2018-11-28 11:58:59 -07:00
Alexander Trost 2aebf5eb26 Added PersistentVolumeClaimTemplates to storage selection
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-11-28 19:12:32 +01:00
travisn e01eae80de updated roadmap for 0.9 reality
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-28 09:57:14 -07:00
travisn c6dd752c7f updated formatting for go dependencies
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-28 09:33:36 -07:00
travisn 2d1eab4eb2 updated codegen for the object store user
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-28 09:33:36 -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
Travis Nielsen b239397033 Merge pull request #2293 from travisn/clean-pg-status
Cluster is clean if PGs are scrubbing
2018-11-27 17:31:14 -07:00
Travis Nielsen 4e9520b844 Merge pull request #2242 from travisn/design-ceph-volume
Design: Provisioning OSDs with ceph-volume
2018-11-27 13:31:31 -07:00
travisn eee1f12b7c design doc for provisioning OSDs with ceph-volume
Signed-off-by: travisn <tnielsen@redhat.com>
2018-11-27 13:24:36 -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