Commit Graph
33 Commits
Author SHA1 Message Date
Kristoffer Grönlund 3873251ce6 k8sutil: Use label max length constant from k8s
Follow-up to #3436:

The validation module has a defined constant for
label value max length. It makes sense to use it
here.

Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
2019-07-12 13:37:58 +02:00
Kristoffer Grönlund 6ff69a4e72 k8sutil: Ensure rook version label has valid syntax
Replace any invalid characters and ensure length
and format for the rook version label, to avoid
problems with version strings that contain
illegal characters (common characters that aren't
valid in labels would be + and ~, for example).

Kubernetes label syntax:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set

Fixes: #3434
Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
2019-07-12 10:20:30 +02:00
travisn 91e9a5cd04 reference K8s1.13 and client-go 1.10 and the external provisioner for flex
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-18 07:51:41 -06:00
Blaine Gardner 685a8df08d ceph: add 'rook-version' label to controllers
Add a `rook-version` label to all controller resources used by Ceph:
deployments, daemonsets, and jobs. Labels are added to controller
resources only and not to the pod templates within because changing pod
templates causes updates due to the label change. The controller
resources themselves are not updated with the label addition and
therefore don't cause an unnecessary upgrade.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-12 13:56:31 -06:00
Blaine Gardner feff587992 ceph: mon service forwards default bind port 6789
The Ceph mon flag `--public-bind-addr` does not keep the same port as
the previous daemon run when the port is left off the flag's value. A
port is undesired since that could interfere with Nautilus' msgr2
protocol, so instead configure the mon's services to forward the default
bind port on pods (6789) to the mon endpoint's port. The endpoint port
will be 6789 for new mons, but it may be 6790 for legacy clusters.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-03 15:53:56 -06: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 fc9118f7b2 remove support for k8s 1.6 and TPRs
Signed-off-by: travisn <tnielsen@redhat.com>
2018-05-08 10:09:38 -07:00
Travis Nielsen 4c22dc4fc2 operator: implement a finalizer for the cluster 2018-01-10 10:48:17 -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 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
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
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
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 bde8e61734 operator: refactor kube context into the kit package 2017-06-28 12:49:59 -07:00
Travis Nielsen 5d58bc27cb operator: refactor use of tprs for the operator kit 2017-06-28 11:44:51 -07:00
Travis Nielsen a5da34fe4c operator: refactor to work with multiple TPRs 2017-06-28 08:43:27 -07:00
Travis Nielsen ef4ea21913 operator: start a pod for the ceph-mgr 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
Travis Nielsen e8514cf004 refactor the k8s context to the k8sutil package 2017-04-13 15:38:22 -07:00
Travis Nielsen 7ba9e8e7c2 merge rook-operator binary wtih rookd 2017-03-30 12:45:11 -07:00
Travis Nielsen 125e3873e4 use the k8s errors package 2017-03-08 15:46:31 -08:00
Travis Nielsen b9ddb01708 support starting a rook cluster in another namespace 2017-02-27 15:18:28 -08:00
Travis Nielsen 34b6ad32d7 use third party resources to trigger cluster creation 2017-02-24 15:57:37 -08:00
Travis Nielsen 1573bdb1dd update to the k8s 2.0 client 2017-02-23 14:50:21 -08:00
Travis Nielsen 18ee98131c create the rbd client access in the default namespace 2017-02-23 12:17:02 -08:00
Travis Nielsen a7ee0edcb9 copy the admin secret for storage class consumtpion 2017-02-21 16:11:59 -08:00
Travis Nielsen a414d64b82 operator configures a file system and starts mds 2017-02-08 15:46:47 -08:00
Travis Nielsen 37d85a374b cleanup the command line arguments and other PR feedback 2017-02-01 11:00:09 -08:00
Travis Nielsen 507580df70 take container version as an operator argument 2017-02-01 09:50:02 -08:00
Travis Nielsen fbd1a0ce91 create osd daemon set for filestore and bluestore osds 2017-02-01 09:50:02 -08:00
Travis Nielsen 4d28447239 end to end single monitor pod launched by the operator 2017-02-01 09:50:02 -08:00
Travis Nielsen 0601091388 basic operator to launch placeholder services 2017-02-01 09:48:53 -08:00