Commit Graph
584 Commits
Author SHA1 Message Date
Dmitry Yusupov 9dd2e422bb address regression in ISGW dynamicFetch configuring
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2019-04-26 19:01:23 -07:00
Noah Watkins 72b3f79ce7 ceph: skip orchestration when cluster is not yet configured
this skips orchestration when the device configmap receives an update
but the cluster hasn't been fully configured, which may leave some state
undefined and cause nil pointer dereferences accessing the cluster info
structure.

fixes: #3001

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-26 11:23:35 -07:00
Travis Nielsen 5f466b903e Merge pull request #3065 from noahdesu/hotplug-false-postives
ceph: check for equiv device config maps in operator
2019-04-26 12:03:04 -06:00
Jared Watts 21ddc83b84 Merge pull request #2758 from ashishranjan738/nfs
enhance(NFS): adds dynamic provisoning for nfs
2019-04-26 10:08:51 -07:00
Noah Watkins fbc64ff8f4 ceph: check for equiv device config maps in operator
this is an attempt to reduce the number of false positive config map
updates used to trigger orchestration for hotplugging.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-26 09:37:25 -07:00
travisn b6568b07b4 ceph: stop disabling scrubbing during osd orchestration
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-26 09:35:50 -06:00
Ashish Ranjan dac028ab24 enhance(nfs): remove one to one mapping for nfs provisioner
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>

This commit removes one to one mapping of NFS provisioner and adds a dedicated provisioner for nfs.
2019-04-26 20:52:30 +05:30
Ashish Ranjan 858c8eede7 refactor(operator): removed wild card from the operator
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>
2019-04-26 04:25:49 +05:30
Ashish Ranjan 9f3debc53f refactor(nfs,provisioning): move claimPath info from annotation to parameters
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>

This commit moves claimPath information from annotation to parameters and adds option to enable/disable storageclass creation.
2019-04-26 04:25:49 +05:30
Ashish Ranjan 23efbf658b enhance(NFS): adds dynamic provisoning for nfs
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>

This commit adds dynamic provisioning for nfs
2019-04-26 04:25:49 +05:30
Travis Nielsen e749783a21 Merge pull request #3051 from leseb/more-upgrade-fixes
ceph: fix upgrade for monitor listening on 6790 port
2019-04-25 12:15:07 -06:00
Alexander Trost f80fd4543b Edgefs: Transition to v1beta1 (#2967)
Edgefs: Transition to v1beta1
2019-04-25 18:53:27 +02:00
Sébastien Han 5f16f8e27f ceph: fix upgrade for monitor listening on 6790 port
This commits fixes the upgrade for cluster running on 0.9.x and thus
have monitors listening on 6790.

The only downside is that the new messengers 2 protocol can not be
enabled because Ceph expects monitors to listen on 6789.
In order to enable messengers 2 your monitors will have to failover so
they can pick up both 6789 and 3300 ports, then and only then messenger
2 can be enabled.

Fixes: https://github.com/rook/rook/issues/3048 and
https://github.com/rook/rook/issues/3049
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-04-25 16:44:38 +02:00
Alexander Trost 62dadab2ba Fix current Minio issues (#3045)
Fix current Minio issues
2019-04-25 09:03:45 +02:00
Anton Skriptsov e4f19e3863 Target nodes containers
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-04-24 16:35:34 -07:00
Anton Skriptsov c659f2d6c7 Fix isgw formatting
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-04-24 16:35:07 -07:00
Anton Skriptsov 04ad41bdcd v1beta Edgefs operator and CRDs
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-04-24 16:35:04 -07:00
Anton Skriptsov 5746c03446 v1beta1 api's and codegenerated files
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-04-24 16:32:47 -07:00
Travis Nielsen b70bec1a76 Merge pull request #3036 from rohantmp/revertMainMon
Revert "Merge pull request #2986 from rohantmp/mainMon"
2019-04-24 15:02:58 -06:00
Travis Nielsen d11466fced Merge pull request #2900 from mackIOConsulting/fix-mgr-settings
Fix mgr settings
2019-04-24 14:44:20 -06:00
Alexander Trost 4197a5d285 minio: Increased / decreased health probes numbers
This has been done improve reliability on high load and / or low
resource systems.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-04-24 20:58:11 +02:00
Rohan CJ fb4d23345e Revert "Merge pull request #2986 from rohantmp/mainMon"
This reverts commit b7a564e929, reversing
changes made to 6996571b5c.

Reverting: Linking ceph noout to a node taint.
The taint is applied for reasons other than maintenance as well.
This also needs a way to respect user-set noout.
Need to revisit this with a better design.

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-04-24 22:38:38 +05:30
Sébastien Han ab439f6602 Ceph: fix upgrade to Nautilus
This commits allows the upgrade from Mimic to Nautilus to work by:

* removing the v2 brackets on the operator ceph config file generation,
we stick with v1 and can revert this back once we deprecate mimic there
is no rush since mons keep on listening to v1.

* enable messengers 2 when the cluster runs on Nautilus

Fixes: https://github.com/rook/rook/issues/2973
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-04-24 10:57:29 +02:00
Maximilian Mack bdbd67fd7f ceph: fix mgr - dashboard settings
This fix passes on the mgrName to the configureDashboard function.

Signed-off-by: Maximilian Mack <max@mack.io>
2019-04-24 08:26:22 +02:00
Travis Nielsen fe2a291918 Merge pull request #3032 from noahdesu/hotplug-ignore-rbd
Hotplug ignore rbd
2019-04-23 17:47:08 -06:00
Noah Watkins 515b02deec ceph: add debug logging to operator hotplug action
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-23 13:44:30 -07:00
Noah Watkins f2fc644190 ceph: add operator option to disable hotplug
this adds a new operator environment variable that allows automatic
orchestration triggered by device discovery to be disabled.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-23 13:44:30 -07:00
travisn 40697eacbf ceph: update the nfs ganesha deployment if it already exists
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-23 13:36:45 -06:00
travisn 9dcddb5bed ceph: upgrade all daemons during ceph upgrade
The CephCluster CR contains settings that are needed by other
CRs to configure the Ceph daemons. When the CephCluster CR
is updated, the updates will now be passed on to each of the
CR controllers to ensure the daemons are updated properly
without requiring an operator restart.

When calling the controllers from another controller,
we ensure that only a single goroutine is handling
CRs at any given time to prevent contention across
multiple CRs of the same type.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-23 13:36:45 -06:00
Louis f88beafc56 update ROOK_MON_OUT_TIMEOUT to 600s
Signed-off-by: Louis <gofaceme@gmail.com>
2019-04-23 11:19:23 +08:00
Blaine Gardner f4e2be50a6 ceph spec: add ceph-version label to controllers
Add a 'ceph-version' label to application controllers in the same manner
as the prior 'rook-version' label to help with upgrades.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-18 15:09:33 -06:00
Travis Nielsen 9f126e3902 Merge pull request #3009 from SUSE/mon-remove-legacy-replicaset-deletion
ceph mon: remove code to delete legacy replicasets
2019-04-18 10:35:23 -06:00
travisn bc87b440fb update to the k8s 1.14 client libraries
Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-18 07:51:41 -06: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 cdf398557e ceph mon: remove code to delete legacy replicasets
This code path is no longer necessary, and removing it allows removing
the `replicasets` RBAC permission for the operator.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-17 15:03:33 -06:00
Travis Nielsen b7a564e929 Merge pull request #2986 from rohantmp/mainMon
Ceph: Set noout on cluster when storage nodes are in maintenance
2019-04-17 09:56:50 -06:00
Travis Nielsen 6996571b5c Merge pull request #3005 from leseb/osd-mem-tune
ceph: osd, do not auto tune osd-memory-target
2019-04-17 09:56:03 -06:00
Rohan CJ 894f4bffbd - Set noout on cluster when storage nodes are in maintenance (unschedulable)
- Add noout functions to osd client
- export the functions DiscoverStorageNodes,GetAllStorageNodes
  from pkg/operator/ceph/cluster/osd
- Update PendingReleaseNotes.md

Signed-off-by: Rohan CJ <rohantmp@gmail.com>
2019-04-17 19:31:55 +05:30
Alexander Trost ea03048ef1 Merge pull request #2831 from galexrt/feature_2308
crds: Set annotations pods, deployments and so on
2019-04-17 10:27:14 +02:00
Travis Nielsen 1562fdd7d9 Merge pull request #2946 from noahdesu/hotpluggin
ceph udev monitor / hotpluggin
2019-04-16 21:31:54 -06:00
Travis Nielsen 0c13084746 Merge pull request #2991 from SUSE/mds-fix-upgrade
ceph mds: update keyring before deployment update
2019-04-16 16:59:24 -06:00
Sébastien Han f0b0f340f8 ceph: osd, do not auto tune osd-memory-target
As per https://github.com/ceph/ceph/pull/26856 Ceph tunes the value of
osd-memory-target when running the OSD process so there is no need to
enforce it.

We also set a safety factor to that value which has been calculated by
the Ceph eng/perf team. Without this factor, the OSD will get OOM killed
since it is consuming memory for other purposes too.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-04-17 00:14:04 +02:00
Travis Nielsen 3869f4062d Merge pull request #2893 from noahdesu/ceph-lvs-speed
ceph/osd: mount /run/udev for lvs speedup
2019-04-16 15:41:50 -06:00
Alexander Trost 0c6eb7aa3d crds: Set annotations pods, deployments and so on
Allow the user to set annotations in the CRDs of the following operators which will then be set on
the resulting Pods (Deployments, StatefulSets and so on).
Operators:
* Cassandra
* Ceph
* CockroachDB
* EdgeFS
* Minio
* NFS

The Annotations related structures have been added to the
rook.io/v1alpha2 pkg.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-04-16 20:47:05 +02:00
Noah Watkins 0b0f38c0f5 ceph: run orch on device disocvery configmap update
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-16 11:28:41 -07:00
Noah Watkins c25e262c75 ceph/osd: mount /run/udev for lvs speedup
When Ceph OSD spins up using ceph-volume, `ceph-volume lvm activate
--no-systemd --bluestore...` runs `lvs` which can cause significant
delays when /run/udev is not mounted from the host.

Before:

[root@rook-ceph-osd-0-858f49b5-md4t9 /]# time lvs
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Device /dev/sda not initialized in udev database even after waiting 10000000 microseconds.
...
  LV                                            VG                                        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  osd-data-729c1fb6-440f-434c-be49-f199fa59f1c0 ceph-3bf7823b-6db3-42b6-bf8f-c36301e85238 -wi-ao---- <10.00g

real    1m30.545s

After:

[root@rook-ceph-osd-0-d8c4698b8-5vqnk /]# time lvs
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  LV                                            VG                                        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  osd-data-6c7249cc-cbd1-4f3b-9027-03725886bb30 ceph-9808319f-8567-4930-803a-41f70e537c1f -wi-ao---- <10.00g

real    0m0.043s

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-16 11:09:13 -07:00
Noah Watkins 48e86d6bf7 ceph: skip orch on non-ready clusters
the k8s Node add/update events can fire before a cluster is fully
configured, which may leave some state undefined. skip orchestration
when the cluster is in this state.

fixes: #3001

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-16 10:39:55 -07:00
Blaine Gardner 966aef8681 ceph mds: update keyring before deployment update
Because the deployment update-and-wait function waits for the deployment
to be ready, and that cannot happen due to the keyring not
having been updated yet. The keyring has its
owner set to the deployment so that no special keyring handling must
be done, but it must be created after the deployment UID is known.
Change the order of operations so that the existing deployment's UID can
be retrieved if it exists and the keyring created/updated before the
update-and-wait function is called.

This order-of-operations issue currently only applies to the mds. Other
daemons whose keyrings are owned by the replication controller do not
use the update-and-wait function.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-04-15 12:26:46 -06:00
Sébastien Han 4438672e47 ceph: expose ceph version to osd pod
We must expose the ceph version to the osd pod so that we can generate
the proper ceph configuration file. If we don't do this all the version
check will assume they run the opposite of the desired version and the
formatting of the `ceph.conf` will be wrong.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-04-15 15:57:23 +02:00
Sébastien Han 6b84fee2ab ceph: add a CephVersionFormatted so we can consume it
Let's return the expected pattern so that can be consumed by
ExtractCephVersion later. We don't modify the built-in String() so we
can more easily remove that once we switch the osd to be configured from
the operator.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-04-15 10:52:06 +02:00