Commit Graph
64 Commits
Author SHA1 Message Date
Jared Watts 9da4d286d2 api: recreate mon endpoint watcher when the result channel is closed 2017-11-29 17:00:50 -08:00
Alexander Trost 434e978b4d Added v1.ResourceRequirements to Cluster Spec
Added per node resource override/merge

Added unit tests to check for specs

Added documentation for resource requests/limits
2017-11-16 19:56:58 +01:00
Alexander Trost 312a1981a2 Update health default times to 45s 2017-11-14 22:50:56 +01:00
Alexander Trost e7d20647aa Failover mon when there is more than one mon on one node
Added check to verify that the node a mon is running on is still valid
2017-11-10 16:35:58 +01:00
Alexander Trost 64d73269ae operator/mon: Allow to set the mon size by cluster CRD spec
Added conditions for monCount >9, <=0 and even warning

Fail and log error on AnyUseAllDevices on more than one cluster
2017-10-18 23:33:00 +02:00
Travis Nielsen 4e6774c063 remove legacy standalone code 2017-10-17 12:23:57 -07:00
Alexander Trost 2873558ecd operator/mon: health check improvements
Added unit test for monNotFound or recreation/failover of non existant mons
2017-10-17 19:34:39 +02:00
Steve Leon b4279e06fb Rook plugin for Kubernetes implemented as flexvolume
- Operator is deployed under namespace rook-system
- Operator deploys rook-agent on all nodes as daemonset also on
  rook-system
- Rook-agent installs flexvolume driver on hosts
- Rook-agent listens on unix socket for driver requests
- Rook-agent perform attach/detach on its node
- Rook-agent creates/delete CRD volumeattach objects
- Added fencing to support ROX and RWO
- Added unit and integration tests
- Updated examples and docks

fixes #432
2017-10-09 09:14:08 -07:00
Alexander Trost 4f4f727bcd Added hostNetwork option to cluster spec 2017-09-18 19:57:20 +02:00
Alexander Trost b3f365f31b Fix the condition: Time since added to list <= monOutTimeout
Not the other way arround
2017-09-08 02:51:55 +02:00
Alexander Trost 3aeb529e84 operator/mon: check if node for the mon is not ready and time it out
separately (240s)

Added comments

operator/mon: made the doc for the nodeState better

Renamed the monHealth to monTimeoutList

Renamed the monOutInterval to monOutTimeout

operator/mon: Implemented the feedback

tests/smoke: Corrected mon_test comment

smoke/mon: set interval and timeout for health check

Added build constraint to smoke/mon_test for linux

As written here https://github.com/rook/rook/pull/958#issuecomment-327507930

Removed controller.go healthCheckInterval

Set the interval for mon_test in smoke_test SetupSuite()

Fixed the smoke test by adding the build constraint

Removed obsolete clientTimeout from operator/cluster

Ran gofmt on block_test and helm_test

Use flags for the mon healthcheck and mon out timeout config

Added helm chart value sfor healthCheckInterval and monOutTimeout

Fixed the timeout map in mon/health.go

Fixed issues with some tests stuff

Reference the operator/mon defaults in the flags

Added Documentation for Ceph mon failover times env vars

Added missing toc link in documentation

Removed "Tweak Ceph mon failover times" to comments in rook-operator.yml
2017-09-07 11:11:34 +02:00
Travis Nielsen 0af953f2e2 operator: start one mon at a time 2017-08-11 09:03:22 -07:00
Travis Nielsen ec181c0390 logs: stop writing the frequent health check 2017-08-07 10:58:52 -07:00
Bassam Tabbara e9a2aabdd9 rename ROOKD_ env to ROOK_ 2017-08-04 09:51:23 -07:00
Travis Nielsen 2df3d9f5bf daemon: set public and cluster addr in the ceph config 2017-08-04 00:04:50 -07:00
Travis Nielsen 7d084fa3c7 operator: mons based on service ip instead of pod ip 2017-08-04 00:04:50 -07:00
Travis Nielsen 466053bfc0 operator: remove provisioner dependence on rest api 2017-08-03 17:47:03 -07:00
MinSheng Lin 8dd7e309cb mon: using appName as monitor name on failover
change monitor name prefix to appName on failover Monitor
change assert result in failoverMon testing
2017-08-02 10:29:01 +08:00
Steve Leon 709b7ddafe Using CRD instead of TPR
- Use CRD for clusters and pools
- For k8s before 1.7.0, TPR will be used
- Also use the watcher libraries in client-go
2017-07-27 16:14:52 -07:00
Travis Nielsen f3640887f3 golint cleanup for the operator 2017-07-24 17:24:24 -07:00
Travis Nielsen 07cbf9f596 services: start daemons with tini at pid 1 2017-07-21 14:35:56 -07:00
Bassam Tabbara cdc26ef162 enable 'gofmt -s' and fix issues 2017-07-16 21:24:13 -07:00
Steve Leon 668ed5d25b Incorporating new Kubernetes API changes
- This is needed to make it compatible with k8s 1.8
2017-07-13 11:08:07 -07:00
Bassam Tabbara 6188a9bf41 switch quay.io/rook with rook 2017-06-28 22:21:05 -07:00
Bassam Tabbara bc02e76f2d rename rookd to rook 2017-06-28 22:21:05 -07:00
Travis Nielsen bde8e61734 operator: refactor kube context into the kit package 2017-06-28 12:49:59 -07:00
Jared Watts 585501b925 use an output file when invoking ceph commands to isolate the payload from any logging 2017-06-20 20:57:46 -07:00
Travis Nielsen 523999b517 object store with passing unit tests and e2e tests 2017-06-20 20:57:46 -07:00
Travis Nielsen 6177aff963 rename rook k8s artifacts for consistency 2017-06-20 20:57:46 -07:00
Travis Nielsen ac27d1f590 use the correct existing key for osd auth and add dash to ceph pod names 2017-06-20 20:57:46 -07:00
Travis Nielsen ef4ea21913 operator: start a pod for the ceph-mgr 2017-06-20 20:57:46 -07:00
Travis Nielsen fab106a16c Unit tests passing except api after the refactor 2017-06-20 20:57:46 -07:00
Travis Nielsen c122562a7d Rook refactor to call external ceph tools instead of embedded ceph
Remove all cgo from the code base, and start the transformation to calling external ceph tools to generate config and start daemons.
2017-06-20 20:57:45 -07:00
Dimitrios Karagiannis 9ce033467a operator: introduces placement configuration for k8s
this enables control over where pods get scheduled in a kube cluster,
using nodeAffinity and tolerations
2017-06-14 14:44:14 +00:00
Jared Watts d05d074bb9 Fix gofmt issue and update makefile to print and fail upon gofmt errors instead of updating the files inline. 2017-06-13 22:08:04 -07:00
Travis Nielsen afd90cd3c2 an unschedulable node will not be scheduled for mons 2017-06-07 15:18:59 -07:00
Travis Nielsen 4710b63e65 mons are a replicaset instead of started directly as a pod 2017-06-05 15:14:10 -07:00
Travis Nielsen a74ceb724c allow overriding ceph settings through a configmap 2017-05-16 10:30:57 -07:00
Travis Nielsen 6a19d67b7b mon failover retries same mon instead of creating many 2017-05-15 15:03:14 -07:00
Travis Nielsen e8514cf004 refactor the k8s context to the k8sutil package 2017-04-13 15:38:22 -07:00
Steve Leon c46c076096 Updating dependency to support K8S 1.6 2017-04-12 13:27:55 -07:00
Travis Nielsen 00149faec8 Cluster uses metadata name and namespace instead of the spec namespace 2017-04-12 11:36:26 -07:00
Jared Watts e5cca80654 Operator and cephmgr support for specifying storage resources and configuration 2017-04-04 15:32:49 -07:00
Travis Nielsen 7ba9e8e7c2 merge rook-operator binary wtih rookd 2017-03-30 12:45:11 -07:00
Travis Nielsen a16f6fc9dc failover a monitor when unhealthy 2017-03-23 11:00:31 -07:00
Travis Nielsen 2d1c150539 detect if mons are healthy 2017-03-23 11:00:26 -07:00
Travis Nielsen 175003ed6a use namespace for ceph cluster name 2017-03-22 23:16:53 -07:00
Travis Nielsen fef56b31cc save the mon endpoints in a configmap and consume from pods 2017-03-22 23:14:26 -07:00
Travis Nielsen 02fe77d907 refactor clientset parameter 2017-03-22 23:12:57 -07:00
Travis Nielsen 1b2fb96574 allow specifying a host path for the data-dir 2017-03-22 16:32:00 -07:00