Commit Graph
83 Commits
Author SHA1 Message Date
travisn f2d59bedaa reject unsupported versions and allow overriding the version
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
Travis Nielsen 7de9624e91 Merge pull request #2153 from SUSE/ceph-mds-use-init-container
Ceph mds/file: Set up config in init container
2018-10-08 11:24:14 -06:00
Alexander Trost 010c6747ab Fix MergeResourceRequirements() func
Resources are now correctly merged when "not set".

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-10-06 17:49:03 +02: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 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 08f795f8b3 sanitize underscores in the volume name
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-26 10:36:36 -06:00
Noah Watkins e015a21cbd ceph: expose node,pod,ns names to ceph daemons
Ceph expects to be able to reason about physical hardware / nodes.
Before this patch the NODE_NAME that was available referred to the pod
name. This patch exposes the underlying node name, pod, and pod
namespace for the ceph daemons to consume.

fixes: #2078

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
2018-09-24 13:26:24 -07:00
travisn 9416fa8c65 update client-go to 1.11.3
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-21 15:39:29 -06:00
travisn d02325c41d mon: wait for pods to start before checking for quorum
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-17 13:41:15 -06:00
travisn 6a335ebe8a mon: refactor mon naming for use by other daemons
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-06 11:46:45 -06:00
travisn c0af417b00 osd: delete legacy deployment with -id in the name
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-04 14:15:18 -05:00
travisn f840e3574e mon: start a deployment instead of replicaset
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-01 00:12:42 -06:00
travisn 51e60b7b4d tests: upgrade integration test from 0.8.1 to master
Signed-off-by: travisn <tnielsen@redhat.com>
2018-08-23 16:43:10 -06:00
travisn 1d928ecd36 osd: init container to initialize config at startup
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-31 14:39:53 -06:00
Travis Nielsen 5e4fba2aec Merge pull request #1952 from SUSE/simple-linting
Fix spellcheck and trailing space/newline issues
2018-07-27 14:02:00 -06:00
Blaine Gardner fe5fb394c7 Fix spellcheck and trailing space/newline issues
Fix some basic spellcheck errors. Also remove trailing spaces and make
sure files have a newline (my editor does automatically).

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-07-26 11:36:09 -06:00
Huamin Chen c6f463d0e7 validate storage nodes before preparing osds
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-07-26 17:18:47 +00:00
Alexander Trost faddfb0184 Truncate too long name for ObjectMeta.Name
Resolves #1907

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-07-20 10:35:20 +02:00
travisn 021e8e7a9e osd: watch provisioning status for all nodes and start osds as each node is ready
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-05 16:08:31 -06:00
travisn 89cfccd5a2 enable rook to run on openshift
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-05 11:20:43 -06:00
travisn 6502cda3b4 refactor cluster roles for minimal rbac access
Signed-off-by: travisn <tnielsen@redhat.com>
2018-06-25 12:57:25 -06:00
Jared Watts 48b879e0ad Merge pull request #1769 from ucloudlab/ipv6-support
support ipv6
2018-06-19 20:33:12 -07:00
Jared Watts f302754c9d cockroachdb: operator/controller implementation
Signed-off-by: Jared Watts <jbw976@gmail.com>
2018-06-18 19:19:15 -07:00
Zhang Miaolei 100e80250f support ipv6 host-port pair
deprecate NetworkInfo.PublicAddrIPv4, use NetworkInfo.PublicAddr instead
deprecate NetworkInfo.ClusterAddrIPv4, use NetworkInfo.ClusterAddr instead
deprecate command flag public-ipv4, use public-ip instead
deprecate command flag private-ipv4, use private-ip instead
change ROOK_PUBLIC_IPV4 to ROOK_PUBLIC_IP
change ROOK_PRIVATE_IPV4 to ROOK_PRIVATE_IP

Signed-off-by: Zhang Miaolei <zmlcc@outlook.com>
2018-06-15 14:26:42 +08:00
travisn fc9118f7b2 remove support for k8s 1.6 and TPRs
Signed-off-by: travisn <tnielsen@redhat.com>
2018-05-08 10:09:38 -07:00
Huamin Chen 6c11ff52d4 add device discovery daemon to operator:
run "rook discover" on storage nodes and discover devices on each node. The discovered disks are saved in a per node configmap, local-device-nodename.
Device information consits of name and persistent names, uuid, partition, filesystem, rotational, readonly, size, etc.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-05-07 17:49:02 +00:00
travisn 94839d5b43 allow multiple containers in rook pods
Signed-off-by: travisn <tnielsen@redhat.com>
2018-04-20 11:13:41 -07:00
Tony Allen 82d7a6de33 Replace Core() with CoreV1().
Signed-off-by: Tony Allen <cyril0allen@gmail.com>
2018-04-15 01:09:40 -07:00
Travis Nielsen 4c22dc4fc2 operator: implement a finalizer for the cluster 2018-01-10 10:48:17 -08:00
Travis Nielsen e874bfa751 cluster: set owner reference on child resources 2018-01-10 10:48:17 -08:00
Travis Nielsen 9b94111dd2 consolidate the kvstore interface 2018-01-03 08:36:43 -08:00
Travis Nielsen 4f44ace92b clean up the licenses that are not actually from etcd-operator 2018-01-02 22:46:14 -08:00
Travis Nielsen 82cce0d8af operator: remove versionTag in favor of container image version 2017-12-13 10:12:09 -08:00
Travis Nielsen 021046792b Merge pull request #1153 from bassam/pr-kube-1.8
Upgrading client to kubernetes 1.8 with code generation
2017-12-12 12:35:18 -08:00
Steve Leon 735d2e7155 Not create rbac roles on k8s cluster that have rbac disabled.
Fixes https://github.com/rook/rook/issues/1221
2017-12-11 14:55:11 -08:00
Travis Nielsen 0298d1fb29 completed conversion for k8s 1.8 client conversion
move core rados packages under cluster folder

move daemons under daemon pkg

rename flex crd package to attachment

pin dep to k8s 1.8.2
2017-12-11 14:35:07 -08:00
Seán C McCord 991d100de5 Fix argument parameter match
Fixes #1250
2017-11-20 13:19:21 -05: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
Steve Leon 544b208ac7 Create RBAC roles and service account for agents
fixes https://github.com/rook/rook/issues/1041
2017-11-03 11:12:56 -07:00
Jared Watts fe2ae89f37 Fix the multiple cluster integration tests by updating api/osd RBAC settings to be scoped to just a single namespace 2017-10-18 13:28:13 -07: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
Travis Nielsen ba628c6307 cephfs: create file system with a CRD
- multiple file systems are allowed
- multiple mds instances are allowed per file system.
- a keyring is created per mds instance
- double the desired mds instances are started, half in standby mode
2017-10-05 14:21:48 -07:00
Jared Watts 113e861020 osd: Allow OSDs to recover from losing all their metadata and config 2017-10-03 15:54:02 -07:00
Alexander Trost 2c87b1c5de Added podAffinity and podAntiAffinity
Initialize the affinity for the pod spec once
2017-09-12 18:08:55 +02:00
Travis Nielsen ac073dd448 rgw: add support for ssl cert 2017-09-06 16:55:23 -07:00
Bassam Tabbara e9a2aabdd9 rename ROOKD_ env to ROOK_ 2017-08-04 09:51:23 -07:00