Commit Graph
2974 Commits
Author SHA1 Message Date
ShyamsundarR 1dbdd9bb12 Update Ceph-CSI manifests as per changes to ceph-csi repository
Ceph-CSI repository had a recent PR [1] merged that contains
changes to the pod manifests.

This PR to Rook updates the pod manifests to catchup with the
changes to Ceph-CSI master.

Once Ceph-CSI has a 1.1.0 release, future PRs to Rook on manifest
changes would track that branch (at least for Rook 1.1 release).

[1] PR in ceph-csi changing the manifest:
  https://github.com/ceph/ceph-csi/pull/443

Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-07-01 13:30:23 -04:00
Travis Nielsen 18cca31205 Merge pull request #3350 from travisn/ownerref-apiversion
Set the fully qualified apiVersion on the OwnerReferences
2019-07-01 08:44:13 -06:00
travisn 9d7474467c set the fully qualified apiVersion for OwnerReferences
OwnerReferences are now created with the fully qualified apiVersion
such that the references will work properly on OpenShift.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-07-01 06:55:08 -06:00
travisn 8226d577f6 remove obsolete check for setting the resource ownerreferences
The check for whether to set the OwnerReferences is no longer
necessary. When passing the correct value to the apiVersion,
the OwnerReferences can be successfully set for OpenShift.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-07-01 06:55:07 -06:00
Blaine Gardner 004f795a79 Merge pull request #3326 from krig/rook-binary-location
ceph: Look for binaries on PATH if not found
2019-06-25 09:51:45 -06:00
Sébastien Han e6093d2c83 Merge pull request #3196 from travisn/upgrade-1.0
Ceph: upgrade test from 1.0 to master instead of 0.9 to master
2019-06-25 17:48:31 +02:00
Travis Nielsen e663624827 Merge pull request #3324 from Madhu-1/csiv1.1.0
update rook to use ceph-csi canary image
2019-06-25 08:24:21 -06:00
Sébastien Han 0305c3eb26 Merge pull request #3340 from andrewwebber/update-operator
Container Linux - Daemonsets missing required field "selector"
2019-06-25 14:31:24 +02:00
Sébastien Han bc50971b75 Merge pull request #3268 from noobaa/guy-init-context
Refactor operator context init and allow to run local
2019-06-25 14:20:42 +02:00
Madhu Rajanna 71f369303e update rook to use ceph-csi canary version
ceph-csi canary version is close to ceph-csi v1.1.0
release

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-25 17:15:46 +05:30
andrew webber (personal) 2eaaf26792 Container Linux - Daemonsets missing required field "selector"
Signed-off-by: andrew webber (personal) <andrewvwebber@googlemail.com>
2019-06-24 23:36:40 +02:00
travisn 37efe00cc6 ceph: clarify that upgrade guide in master does not support upgrades
Signed-off-by: travisn <tnielsen@redhat.com>
2019-06-24 15:15:55 -06:00
travisn c0d6f6edf2 ceph: upgrade test from 1.0 to master
The upgrade test is intended to upgrade from the previous release to the latest.
Given the 1.0 release recently, the upgrade test will now be from 1.0 to
master. There is no longer a need in master to upgrade from 0.9.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-06-24 15:05:48 -06:00
Alexander Trost 9b7eff4ab2 Merge pull request #3321 from phantooom/rui.zou/fix-3141
Minio: throw validatefunc err msg
2019-06-24 18:39:27 +02:00
Sébastien Han 1bf3cfa4bf Merge pull request #3329 from leseb/no-tunables
ceph: stop forcing crush tunable
2019-06-24 16:43:44 +02:00
Sébastien Han d3845e7f75 ceph: stop enforcing crush tunable
This requirement is long gone and was reported in 2017. Clients should
have been updated by then, so there is no reason to set the CRUSH
tunable to such an old client. Actually, we should let Ceph run its own
tunable. They can always be changed later. Also, this was really
restrictive and applied on every orchestration and thus would override
any other config done by an administrator. Even worse, this will trigger
data movement back and forth...

Closes: https://github.com/rook/rook/issues/3138
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-06-24 09:47:32 +02:00
Kristoffer Grönlund b3ba6b40fd ceph: Look for binaries on PATH if not found
Similarly to #2675, try to find the rook binary
on PATH in case it isn't found in /usr/local/bin/rook.

Distributions generally disallow installing files
into /usr/local, as it is reserved for non-system
installations by the FHS.

Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
2019-06-21 19:15:56 +02:00
Guy Margalit 2ce2382676 Refactor operator context init and allow to run local
Signed-off-by: Guy Margalit <guymguym@gmail.com>
Co-Authored-By: Sébastien Han <seb@redhat.com>
Co-Authored-By: Travis Nielsen <tnielsen@redhat.com>

This change is meant to allow running operators locally on a developer machine.
The idea is to allow faster development cycles by reducing the time and complexity of building -> deploying -> debugging on cluster.

For operators that rely only on kubernetes API this works easily - see cockroachdb and minio examples in development-flow doc.

The change includes:

- rook.NewContext() - Refactored to remove repeating initialization code that was copy-pasted in most of the operators in order to create the clusterd.Context and the Clientsets. Also it detects the mode of working in-cluster vs external and sets up the external mode with standard user config (~/.kube/config) and a job executor.
- rook.GetOperatorImage() - Refactor this repeating code in many operators to detect the operator pod image. Also added a global flag --operator-image that developers can use to override this when running locally.
- rook.TerminateOnError() - Added a convenient function.
2019-06-19 20:47:55 +03:00
xiaorui.zou 0ab2309911 Minio: throw validatefunc err msg
Signed-off-by: xiaorui.zou <xiaorui.zou@gmail.com>
2019-06-19 16:08:35 +08:00
Travis Nielsen 818ad9c7ca Merge pull request #2939 from travisn/delay-system-daemons
Delay starting the Rook system daemons until a CephCluster CR is created
2019-06-18 16:52:12 -06:00
Travis Nielsen 1d35f26302 Merge pull request #3313 from leseb/osd-sdn
ceph: osd: fix startup on sdn
2019-06-18 16:13:52 -06:00
Alexander Trost a0df634dad remove unused md file (#3301)
remove unused md file
2019-06-18 17:59:22 +02:00
Alexander Trost aa92e9a653 ceph: add psp.yaml example (#3317)
ceph: add psp.yaml example
2019-06-18 17:48:29 +02:00
Jared Watts 4d53b88cf1 Merge pull request #3254 from jbw976/governance-code-approvers
governance: new change approval process to include approvers/reviewers
2019-06-18 08:18:13 -07:00
Sébastien Han a74f806153 ceph: add psp.yaml example
The current doc was outdated and hardcoded, so removing the example from
the doc and add a proper psp.yaml file that people can use and
contribute too.

Closes: https://github.com/rook/rook/issues/3309
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-06-18 16:58:28 +02:00
Travis Nielsen 9df4b24197 Merge pull request #3117 from rohan47/osd_marked_out
Clean up the OSD after the OSD is marked "out"
2019-06-18 08:13:35 -06:00
Travis Nielsen 4fd227a3cc Merge pull request #3319 from ShyamsundarR/update-3312-imageversion
Update openshift with Ceph-CSI image versions as in Kubernetes case
2019-06-18 08:00:47 -06:00
ShyamsundarR 61b9f9a9f0 Update openshift with Ceph-CSI to image versions as in Kubernetes case
PR #3217 changed the pod manifest to drop some parameters to the
ceph-csi pods. This also resulted in a change to the operator with CSI
yaml for non-openshift case, but failed to update similar yaml's for
the openshift case.

This commit rectifies this problem.

Updates: #3312
Signed-off-by: ShyamsundarR <srangana@redhat.com>
2019-06-18 07:07:00 -04:00
Sébastien Han b2f2ff6b9d ceph: osd: fix startup on sdn
This commit adds a new flag to the osd startup so that on msgr2 (default
on Nautilus and above) the osd is able to find the IP address in the
container to bind to.

This requires this Ceph patch https://github.com/ceph/ceph/pull/28589
and is already present in Octopus.

Closes: https://github.com/rook/rook/issues/3140
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-06-18 10:19:19 +02:00
travisn c6c4a9b42a ceph: delay starting the system daemons until a cluster is created
When the operator first starts, the only operation needed
is to watch for new cephcluster crds to be created and
start the discovery to find available devices. The flexvolume
agent, the csi driver, and the volume provisioning can all be delayed
starting until the first cluster is created.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-06-17 15:44:33 -06:00
Jared Watts d9f11a1b25 governance: new change approval process to include approvers/reviewers
Signed-off-by: Jared Watts <jbw976@gmail.com>
2019-06-16 20:59:32 -07:00
Travis Nielsen 8da2221296 Merge pull request #3283 from leseb/rgw-refactor
ceph: refactor rgw bootstrap
2019-06-14 15:17:58 -06:00
Travis Nielsen 488fe64815 Merge pull request #3281 from phantooom/master
Fix onDelete func panic
2019-06-14 11:59:35 -06:00
Travis Nielsen 831106cb3e Merge pull request #3271 from phlogistonjohn/jjm-ceph-csi-rdb-mon-cfg-map
ceph csi: Create and maintain mon config to be consumed by csi
2019-06-14 11:53:41 -06:00
rohan47 a420db69fe osd: Clean the osds that are out and safe-to-destroy
- When an osd is marked out, and it is safe to be destroyed then delete the osds deployment.
- Removed osdGracePeriod
- Updated unit tests to test osd marked out action

Signed-off-by: rohan47 <rohgupta@redhat.com>
2019-06-14 22:50:33 +05:30
Sébastien Han 93b2448619 ceph: refactor rgw bootstrap
This commit does multiple things:

* remove support for AllNodes where we would deploy one rgw per node on
all the nodes.
* a transition path is implemented in the code so that if someone has an
existing deployment, daemonsets will be removed and replaced by an
deployments.
* when using "instances", each rgw deployed has its own key which makes
Ceph reporting the exact number of rgw running, see:

```
[root@rook-ceph-operator-775cf575c5-bh4sr /]# ceph -s
  cluster:
    id:     611fcf39-0669-4864-9a12-debb35c0397a
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum a,b,c (age 12h)
    mgr: a(active, since 12h)
    osd: 3 osds: 3 up (since 12h), 3 in (since 12h)
    rgw: 3 daemons active (my.store.a, my.store.b, my.store.c)

  data:
    pools:   6 pools, 600 pgs
    objects: 235 objects, 3.8 KiB
    usage:   3.0 GiB used, 84 GiB / 87 GiB avail
    pgs:     600 active+clean
```

Closes: https://github.com/rook/rook/issues/2474, https://github.com/rook/rook/issues/2957 and https://github.com/rook/rook/issues/3245
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-06-14 17:55:15 +02:00
John Mulligan 214d08718e doc: Update csi document to match new storageclass field
Update the csi document to assist the user in updating the new
`clusterID` field that is used to map to mons in the configmap
rook maintains.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-06-14 10:45:50 -04:00
John Mulligan 8c5a1c502e ceph csi: update storage class example with clusterID field
New versions of ceph csi rbd expect a clusterID that will be used
to index into the config map and determine what mons to use.
Also, remove mons from config example.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-06-14 10:45:50 -04:00
John Mulligan 431f504cd4 ceph: create and maintain a config map for ceph csi to consume
Create and maintain a config map that meets the requirements of
the ceph csi such that Rook can maintain the contents of config
map with up-to-date mon information to be used later by csi.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-06-14 10:45:41 -04:00
John Mulligan d8ba51084b ceph csi: update config templates to match "canary" csi version
This is a temporary change that fixes the templates so that they match
the so-called "canary" tag in csi. This version of the csi rbd driver
supports a external mon configuration (in a config map).

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-06-14 10:43:53 -04:00
John Mulligan 700b42a475 ceph csi: update the operator-with-csi.yaml to use canary csi images
Temporary change to support the testing and development of new
integration between ceph csi and rook. This "canary" tag points
at new versions of csi that support taking mon config from a
config map.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-06-14 10:43:53 -04:00
Sébastien Han f6f1aa772f rgw: remove legacy code
This code can be removed since 1.0 shipped.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-06-14 16:28:17 +02:00
Travis Nielsen d44eca72e8 Merge pull request #3296 from leseb/nautilus-osds
ceph: upgrade apply osd nautilus flag
2019-06-14 07:28:32 -06:00
xiaorui.zou c4aef1a073 remove unused md file
Signed-off-by: xiaorui.zou <xiaorui.zou@gmail.com>
2019-06-14 13:42:47 +08:00
Sébastien Han cba9a359a0 ceph: upgrade apply osd nautilus flag
When OSDs are running on Nautilus we always disable old osd features and
aplpy the onces for Nautilus as described in the upgrade doc.
During an upgrade or the next time an orchestration will be called the
command will be applied. The command is idempotent so we can run it each
time.
This can be backported for 1.0.3

Closes: https://github.com/rook/rook/issues/2960
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-06-13 22:15:15 +02:00
Travis Nielsen 7d3878378d Merge pull request #3259 from noobaa/guy-rook-noobaa-design
Rook-NooBaa Design Doc
2019-06-12 21:45:03 -06:00
xiaorui.zou b3cd67f871 Fix onDelete func panic
onDelete obj in some case will return DeletedFinalStateUnknown type, we need use assert.

Signed-off-by: xiaorui.zou <xiaorui.zou@gmail.com>
2019-06-13 09:31:53 +08:00
Travis Nielsen 0f1c919b83 Merge pull request #3255 from rhcs-dashboard/ceph-dashboard-enable-object-gateway
ceph: updated doc. for enabling dashboard object gateway mgmt.
2019-06-12 15:45:02 -06:00
Travis Nielsen fc25c6d1ca Merge pull request #2675 from ashishranjan738/path
ceph: enhance server to search for rookflex
2019-06-12 15:44:23 -06:00
Ashish Ranjan 5a19ab9545 ceph: enhance server to search for rookflex
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>

This commit enables server to search for `rookflex` binary instead of assuming it to be present in `/usr/local/bin/`.

Fixes: https://github.com/rook/rook/issues/2486
2019-06-12 23:36:09 +05:30