Commit Graph
13292 Commits
Author SHA1 Message Date
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
Ganesh Maharaj Mahalingam 30dcd26da9 Enable glog logging
Change enables glog logging and also make default flag values
configurable.

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-24 13:17:25 -07:00
Ramana Raja 7d748b0210 Add Ceph NFS-Ganesha CRD design doc
The NFS-Ganesha CRD will orchestrate highly available, scalable
Ganesha server pods as NFS gateways to the Ceph filesystem and
object stores already setup by rook.

Signed-off-by: Ramana Raja <rraja@redhat.com>
2018-09-24 20:36:18 +05:30
Huamin Chen d179d83d56 add ceph csi driver proposal
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-24 14:40:51 +00:00
Travis Nielsen 896ff184b5 Merge pull request #2121 from travisn/k8s-1.11-dependency
Update client-go dependency to K8s 1.11
2018-09-21 17:14:37 -06:00
travisn dd9d68cf4b update generated code for go-client 1.11.3
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-21 15:39:29 -06: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
Travis Nielsen d65713cc15 Merge pull request #2114 from SUSE/ceph-mgr-decouple-w-init-container
Ceph mgr: initialize mgr config in init container
2018-09-21 15:37:44 -06:00
Blaine Gardner ca71b7a311 Ceph mgr: 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
1 init container in this design:
 1. Using the Rook image, call the Rook binary to create Ceph config
files shared with the mgr daemgr container.

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

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-09-21 13:11:08 -06:00
Blaine Gardner 7a5fe8498c Ceph op: Add test package, container tests
Add a 'test' package to the Ceph operator and define a test to verify
that containers produced by Rook-Ceph match what is expected. Because
this is for 'containers' and not strictly for 'ceph containers', this
could be moved a level up to the operator test package; however, if
other backends wish to use the container tests, they will likely need to
make modifications, and there is concern that this might make the Ceph
tests brittle.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-09-21 09:58:32 -06:00
Blaine Gardner e3d24106d9 Ceph op: Add spec package, shared vol/mnt defns
Add a package called 'spec' to the Ceph operator to store resource
definition specs that are shared by all Ceph daemons.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-09-21 09:58:32 -06:00
Blaine Gardner 78c2cec1ad Add k8s volume/mount tests to operator test pkg
Add functions for helping test Kubernetes volumes and volume mounts.

- Create functions for testing the existence of volumes/mounts by
name in a list of vols/mounts without needing to know the index of
the vol/mount in the list.

- Create functions for printing vols/mounts in a human-readable format
so that tests may output more useful errors.

- Create a test definition for ensuring that all the volumes a pod
provides and all the mounts from each pod container match. For each
volume, there must be at least one container which mounts the volume,
and for each mount, there must be a source volume.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-09-21 09:58:31 -06:00
Bassam Tabbara 5f829a3628 Merge pull request #2139 from bassam/pr-fix-vendor
build: fix the check for dep ensure
2018-09-19 11:18:25 -07:00
Bassam Tabbara 1503484ce9 fix the check for dep ensure
the exit code from dep ensure --dry-run was not being checked
correctly resulting a lots of false negatives.

Signed-off-by: Bassam Tabbara <bassam@upbound.io>
2018-09-19 07:41:36 -07:00
Travis Nielsen 9ce83f9267 Merge pull request #2131 from travisn/start-before-check-quorum
Wait for mon pods to start before checking for quorum
2018-09-18 11:40:23 -06:00
Travis Nielsen 5d735cfc07 Merge pull request #2113 from travisn/log-format-status
Log the output of blkid to see if device should be formatted
2018-09-17 20:36:32 -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
Bassam Tabbara 3bcf882825 Merge pull request #1900 from jcsp/wip-1868
Design doc for making Ceph pool creation/deletion optional
2018-09-17 10:39:53 -07:00
Travis Nielsen 8afeaf110e Merge pull request #2095 from SUSE/ceph-mon-decouple-rook-ceph-versions-w-init-container
Ceph mon: initialize mon config in init container
2018-09-17 11:19:00 -06:00
Travis Nielsen b6acc6d414 Merge pull request #2127 from travisn/cleanup-integration-test
Make integration tests more resilient to crd deletion failure
2018-09-17 10:11:07 -06:00
travisn 1266c63135 tests: ensure previous crds are deleted before continuing with tests
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-17 08:10:14 -06:00
Travis Nielsen bcb71378d6 Merge pull request #1995 from rtnpro/support-storageclass-reclaimpolicy
Support storageclass reclaimpolicy
2018-09-14 11:02:47 -06:00
travisn c67542829b log the output of blkid to see if device should be formatted
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-14 08:27:02 -06:00
Travis Nielsen ae4e3369ca Merge pull request #2111 from rootfs/relist-cm
reset resource version if watch channel closed
2018-09-14 08:25:39 -06:00
Ratnadeep Debnath ed089777bd Added unit tests for ceph provisioner to assert if reclaimPolicy is set properly.
Signed-off-by: Ratnadeep Debnath <rtnpro@gmail.com>
2018-09-14 10:05:36 +05:30
Ratnadeep Debnath 7ae2149961 Add support for storageclass' reclaimPolicy when creating PV.
Signed-off-by: Ratnadeep Debnath <rtnpro@gmail.com>
2018-09-14 10:05:34 +05:30
Bassam Tabbara 03e5242740 Merge pull request #2090 from ganeshmaharaj/go1.11
golang 1.11 support
2018-09-13 10:53:40 -07:00
Huamin Chen 1c225185b6 adjust cluster and osd provision timeout
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-13 11:21:11 -04:00
Alexander Trost 6d50c739e1 Merge pull request #2126 from ayaz/master
GKE uses a non-standard FlexVolume directory which is not documented.
2018-09-13 11:53:40 +02:00
Ayaz Ahmed Khan a3087f6704 Update FlexVolume documentation to add GKE info.
Google Kubernetes Engine uses a non-standard FlexVolume directory which
is not documented. This change updates the FlexVolume documentation to
describe how to configure FlexVolume for use on Google Kubernetes
Engine.

Signed-off-by: Ayaz Ahmed Khan <ayaz@ayaz.pk>
2018-09-13 14:20:43 +05:00
Blaine Gardner 655692e845 Ceph mon: Set up config in init containers
Progress toward issue #2003.
Includes design from design doc PR #1578

Use init containers to create configuration for Ceph mons. There are 3
init containers in this design:
 1. Using the Rook image, call the Rook binary to create Ceph config
files ultimately stored in a k8s EmptyDir which is shared between all
containers in a mon pod.
 2. Leaving room to use the Ceph-versioned image in the future, call
`monmaptool` to generate the monmap, stored in a shared config dir.
 3. Leaving room to use the Ceph-versioned image in the future, call
`ceph-mon --mkfs ...` to set up the mon filesystem on the host's disk.

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

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-09-12 17:56:08 -06:00
Bassam Tabbara 98cefc66de use a consistent version of gofmt
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-12 10:53:53 -07:00
Ganesh Maharaj Mahalingam 92f91ab156 golang 1.11 support
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-12 10:53:53 -07:00
Alexander Trost c1da6999bf Merge pull request #2060 from galexrt/fix_981
build: Only install helm if needed and use a temp path
2018-09-12 19:22:19 +02:00
Jared Watts 662095d8f3 Merge pull request #2108 from ganeshmaharaj/pvc-create-resilience
PVC create resiliency
2018-09-12 08:44:04 -07:00
Bassam Tabbara c72c44feb0 Merge pull request #2115 from arm64b/nfs-cross-build-fix-on-arm64
Fix Rook NFS image cross-build issue on AArch64
2018-09-12 07:14:32 -07:00
Alexander Trost 7d167d9b92 Merge pull request #2116 from arm64b/bump-golang-version-to-1.11
Add golang 1.11 version support
2018-09-12 13:46:33 +02:00
Dennis Chen 1c2de4b55d Add golang 1.11 version support
Now the golang version 1.1 has been released by the official
website[1], so let's add support for this version, else we'll
get below build error when using golang 1.11:

```
build/makelib/golang.mk:103: *** unsupported go version. Please
make install one of the following supported version: '1.7|1.8|1.9|1.10'.  Stop.
```

[1] https://golang.org/dl/

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2018-09-12 17:55:02 +08:00
Dennis Chen e73fae7cd4 Fix Rook NFS image cross-build issue on AArch64
We need to pull the base image for arm64, not for amd64.
This PR add prefix `arm64v8` of `fedora:26` to pull
the image for arm64.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2018-09-12 14:01:50 +08:00
Travis Nielsen 0cab31e250 Merge pull request #2103 from mjlodge/patch-1
Fix typo in adopters.md
2018-09-11 13:52:23 -06:00
Mathew Lodge 284687222b Fix typo in adopters.md
"On-premises" is what was meant.

Signed-off-by: mjlodge <ml@lodgephoto.com>
2018-09-11 14:48:48 -05:00
Huamin Chen 9ec37d5c00 reset resource version if watch channel closed
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-11 13:27:26 -04:00
John Spray b20700766f Add design doc for external orchestration
(of Ceph entities like pools and filesystems)

Partially fixes: https://github.com/rook/rook/issues/1868
Signed-off-by: John Spray <john.spray@redhat.com>
2018-09-11 16:57:31 +01:00
Alexander Trost 5d8d2b5b5a build: Only install helm if needed and use a temp path
Resolves #981

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-09-11 14:21:48 +02:00
Ganesh Maharaj Mahalingam b8c7e151bc use return error code instead
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-08 15:23:28 -07:00
Ganesh Maharaj Mahalingam ff9230a10f PVC create resiliency
While creating a PVC, if the operator dies between successfully creating a rbd
image and associating it with a PV, that PVC will never be completed. A
restarted operator will also fail to complete the task as the requested rbd
image already exists. With the assumption that a PVC UID will always be unique,
this patch will try to use the existing volume and complete the PVC request.

Resolves: #2072

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-07 15:34:59 -07:00
Travis Nielsen c3b4f2d266 Merge pull request #2106 from travisn/test-retry-crd
Integration tests to retry creating the crd if already exists
2018-09-07 16:24:48 -06:00
travisn 4aa0c3b258 tests: retry creating the crd if already exists
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-07 12:49:07 -06:00
Travis Nielsen 558d51b9cc Merge pull request #2104 from rohan47/nfs_doc_update
[Documentation] Updated NFS prerequisite
2018-09-07 08:05:45 -06:00
Jared Watts d751dca2ee Merge pull request #2085 from arm64b/bump-fedora-to-multi-arch
Fix rook nfs docker image build failure on AArch64
2018-09-06 23:43:21 -07:00