Commit Graph
11197 Commits
Author SHA1 Message Date
Blaine Gardner 03ea5f0a7c ceph mgr: configure completely from operator
Configure the Ceph mgr daemon completely from the operator a la the
recent changes to the Ceph mon operator.

The pod spec for the mgr changed quite a bit, and instead of updating
the unit tests of questionable use, some additional unit test tools
applicable to any Ceph daemon have been added and used with the mgr. The
mgrs unit tests should now be more useful and get in the way of devs
less, and they can be used by other daemons later.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-02-11 14:35:01 -07:00
Travis Nielsen e1dccd86e4 Merge pull request #2498 from humblec/readme
Markdown linter corrections.
2019-02-11 09:49:29 -07:00
hchiramm e0ba599b3a Update readme with markdown linter corrections.
Signed-off-by: hchiramm <hchiramm@redhat.com>
2019-02-11 19:26:35 +05:30
Alexander Trost 78a3995dd0 Merge pull request #2637 from proligde/patch-1
fix indent to prevent kubelet/cluster crash
2019-02-09 13:35:00 +01:00
Maximilian Heinrich bcfa3fe405 fix indent to prevent kubelet/cluster crash
extra_binds has to be on same level as extra_args. Currently it will interpreted as another argument resuling in kubelet being called with the non-existent argument "--extraBinds=/usr/libexec/kubernetes/kubelet-plugins/volume/exec:/usr/libexec/kubernetes/kubelet-plugins/volume/exec" leading to a crash/reboot-loop of the kubelet.

Signed-off-by: Maximilian Heinrich <maximilian.heinrich@esono.de>
2019-02-09 13:25:17 +01:00
Alexander Trost 359d767458 Merge pull request #2636 from christianhuening/document-location-crush-map-feature
Added documentation for custom CRUSH location settings
2019-02-09 13:00:09 +01:00
Christian Hüning 6fc8b9d3c5 added documentation for custom CRUSH location settings
added comment about location to CephFS CRD docs

Signed-off-by: Christian Hüning <christianhuening@googlemail.com>
2019-02-09 12:57:09 +01:00
Travis Nielsen 8a2001c3d7 Merge pull request #2522 from travisn/reference-k8s-provisioner
Reference the k8s provisioner instead of the outdated in-tree provisioner
2019-02-07 19:39:32 -07:00
Jared Watts a554c25a49 Merge pull request #2620 from travisn/duplicate-data-volume
Avoid a duplicate volume for the default test directory
2019-02-05 23:44:18 -08:00
travisn 3a64288356 avoid a duplicate volume for a directory and dataDirHostPath
Signed-off-by: travisn <tnielsen@redhat.com>
2019-02-05 22:26:50 -07:00
Jared Watts d424708c18 Merge pull request #2618 from phlogistonjohn/patch-1
docs: correct prose in quickstart to match example
2019-02-05 15:00:01 -08:00
John Mulligan 0cdea356f9 docs: correct prose in quickstart to match example
The namespace referred to by the prose text in the "Create a Rook Cluster" when creating the cluster was incorrect and did not match the example below, which was correct.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-02-05 17:05:56 -05:00
Travis Nielsen 991a290ad3 Merge pull request #2462 from SUSE/mon-all-in-operator
ceph mon: configure mon completely from operator
2019-02-05 07:58:13 -07:00
Blaine Gardner ec416cdd92 ceph mons: set up entirely in operator
Make the Rook config-init unnecessary for mons, and remove that init
container. Perform all mon configuration steps in the operator, and set
up the mon pods and k8s environment such that only Ceph containers are
needed for running mons.

This should help streamline changes to the mons, as there will be no
need to change the `daemon/mon` code or `cmd/rook/ceph` code with mon
changes in the future.

This work starts to lay the groundwork for supporting the
`design/ceph-config-updates.md` design.

Notable new bits:

Create a keyring secret store helper for storing dameon keyrings, and
use it to store the mon keyring. Mon pods mount the keyring into a
k8s secret-backed volume.

Create a configmap store for the Ceph config file which can be mounted
into pods/containers directly to /etc/ceph/ceph.conf. Also store
individual mon_host and mon_initial_members values which can be mapped
into pods as environment variables and used in Ceph commandline flags,
enabling the mon pods to have the most up-to-date information about the
mon cluster when restarting and without need for operator intervention.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-02-05 06:19:59 -07:00
Blaine Gardner 918fffcc71 ceph mon op: split large files for readability
The mon operator code is fairly substantial. Separate large files into
more smaller ones with a good separation of names. This will be
important for trying to move all the mon code into the operator.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-02-05 06:18:00 -07:00
Blaine Gardner e13956c0bf ceph mon: set public-bind-addr from commandline
Set each Ceph mon's `public bind addr` from the commandline instead of
by inserting it into the config file. This eliminates an extra step from
initializing mon configs.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-02-05 06:06:35 -07:00
Jeff Layton 90085d89cf nfs: add watch_urls directive to watch a RADOS object for notifications
Ganesha recently grew the ability to watch a RADOS object for
notifications, which will cue it to reload its configuration. Add the
directive to the RADOS_URLS config block.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-02-05 06:54:03 -05:00
Jason Murray 91341d4308 update image for coreos reboot daemonsets
Signed-off-by: Jason Murray <jason@chaosaffe.io>
2019-02-05 03:18:24 +01:00
Alexander Trost e67155fd31 Merge pull request #2605 from leseb/limit-hostnetwork
ceph: check num mon for hostnetworking
2019-02-04 23:32:07 +01:00
Travis Nielsen 0d3ed4792d Merge pull request #2565 from SUSE/teardown-update
Ceph doc: Update teardown with disk reset steps
2019-02-04 13:54:51 -07:00
Jared Watts 28ebec14da Merge pull request #2609 from dyusupov/master
add 00 to all the weights in *.md files
2019-02-04 10:29:20 -08:00
Dmitry Yusupov 90ad28475c add 00 to all the weights in *.md files
Signed-off-by: Dmitry Yusupov <dmitry@nexenta.com>
2019-02-04 09:46:00 -08:00
Sébastien Han 712af5de11 ceph: check num mon for hostnetworking
We now refuse to start more than one monitor on the same machine if
hostnetworking is enabled.
Supporting this creates a lot more complexity from the rook side. Also
having 3 monitors running on the same machine is not a production setup.

This means multi-cluster support on the same machine
is not possible anymore when hostnetworking is enabled.

Resolves: https://github.com/rook/rook/issues/2604
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-02-04 09:52:35 +01:00
Travis Nielsen e61ab0dfd7 Merge pull request #2585 from SUSE/do-not-create-default-osd
ceph: no longer create fallback osd
2019-02-01 14:22:15 -07:00
Blaine Gardner 78d4719125 ceph: no longer create fallback osd
Rook's behavior should not be to create a default OSD in dataDirHostPath
when no devices are present on a node. Any preexisting fallback osd
should be kept as long as no dirs or disks have been specified to keep
the legacy behavior for those clusters running with these osds in place.
The legacy deletion behavior is also kept, removing the osd as soon as
any dir or device is specified other than the dataDirHostPath dir.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-02-01 09:41:32 -07:00
Alexander Trost 85b958bde6 Merge pull request #2598 from andristeiner/ceph-dashboard-password
Ceph Dashboard Documentation: retrieve dashboard password in a cleaner way
2019-01-31 22:14:26 +01:00
Andri Steiner db943050bb Ceph Dashboard: retrieve dashboard password in a cleaner way
Signed-off-by: Andri Steiner <andri@opsone.ch>
2019-01-31 21:42:19 +01:00
Travis Nielsen dea00984d2 Merge pull request #2515 from travisn/roadmap-1.0
Update the roadmap for the 1.0 milestone
2019-01-30 16:17:21 -07:00
travisn 0fb74a0480 update the roadmap for the 1.0 milestone
Signed-off-by: travisn <tnielsen@redhat.com>
2019-01-30 12:41:38 -07:00
Travis Nielsen ec8d54fe2b Merge pull request #2575 from leseb/ceph-cmd-timeout
pkg: timeout ceph commands
2019-01-30 11:12:54 -07:00
Sébastien Han 56f218e5a1 client: ceph - add missing comments
Following Golang conventions, I'm adding the missing comments on
the constants and exported functions.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-01-30 17:11:28 +01:00
Sébastien Han e1d11e45a5 pkg: timeout ceph commands
The Ceph CLI has the flag option '--connect-timeout' which controls the
timeout of the command when reaching out to a monitor. If the connection
cannot be established within 15 seconds, the command will fail. The
default value in Ceph is relatively long (300sec IIRC). This is a
problem when monitors have trouble reaching out quorum, since this means
the command will only fail after 300 sec.
Now we fail faster.

Resolves: https://github.com/rook/rook/issues/2574
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-01-30 17:11:23 +01:00
Alexander Trost 97c5cd7845 Merge pull request #2583 from sabbot/master
EdgeFS dynamic HDD/SSD detection logic fix
2019-01-29 15:50:32 +01:00
Alexander Trost 1cfa41cf4e Merge pull request #2586 from dyusupov/master
support for EdgeFS UI
2019-01-29 11:39:31 +01:00
Dmitry Yusupov 7831c2775a support for EdgeFS UI
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2019-01-28 20:11:06 -08:00
Anton Skriptsov 4679695cee EdgeFS dynamic HDD/SSD detection logic fix
Signed-off-by: Anton Skriptsov <anton.skriptsov@nexenta.com>
2019-01-28 12:27:07 -08:00
Alexander Trost 8e263cd9c3 Merge pull request #2577 from leseb/rm-monmap
mon: do not generate nor inject a monmap
2019-01-28 19:14:01 +01:00
Sébastien Han ff2bc6509f mon: do not generate nor inject a monmap
Given that we have mon_host and mon_initial_members sections in our
ceph.conf, building a monitor map is not needed. During the monitor mkfs
a monmap will get generated on the fly based on the section mentioned
above.

One benefit from that commit is a potential speed improvement as we have
removed the container that was generating the map from the monitor
initialization sequence.

Resolves: https://github.com/rook/rook/issues/2576
Signed-off-by: Sébastien Han <seb@redhat.com>
2019-01-28 16:55:31 +01:00
Travis Nielsen 6e2f65f0a1 Merge pull request #2578 from leseb/ceph-misc
Ceph misc comment fixes
2019-01-28 08:15:27 -07:00
Sébastien Han 49363ccbbd operator: ceph - utils fix endpoint comment
The Endpoint has a format such as ip:port and the comment was implying
something like hostname:port. Thus fixing the comment with the right
value.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-01-28 10:53:10 +01:00
Sébastien Han 19c7608a80 mgr: add missing rook header
The code header was missing, so adding it.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-01-28 10:53:10 +01:00
Blaine Gardner 79362688f3 Ceph doc: Update teardown with disk reset steps
Add steps to clean the disks on a node after Rook has been removed so
that they are in a usable state again.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-01-25 18:33:45 -07:00
Travis Nielsen 0e55102a82 Merge pull request #2524 from SkySonR/patch-1
Update ceph status to Stable
2019-01-24 17:15:47 -07:00
Travis Nielsen 6ef680cc55 Merge pull request #2234 from mickymiek/document-ceph-csi-drivers
Document ceph-csi drivers implementation
2019-01-24 14:34:45 -07:00
Travis Nielsen 97affa1db8 Merge pull request #2470 from SUSE/config-changes-design-doc
design: ceph: update ceph configuration strategy
2019-01-24 14:33:36 -07:00
Travis Nielsen bb888827ea Merge pull request #2540 from travisn/disable-fsgroup
Allow disabling of fsGroup in the flex driver
2019-01-24 14:30:18 -07:00
Travis Nielsen f02d52a9a4 Merge pull request #2496 from noahdesu/ceph-osd-logging
ceph/osd: send log output to stderr
2019-01-24 14:27:26 -07:00
Noah Watkins fbb56c41ed exec: interleave stdout/stderr logging
The io.MultiReader(r1, r2) reads r1 until EOF before moving on to r2.
When used for stdout/stderr stderr will not be written to the log until
stdout reaches EOF. This patch reads stderr in a go routine so that the
two streams can be interleaved properly.

Fixes: #2479

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-01-24 13:10:46 -08:00
Blaine Gardner b1c64d6b33 design: update ceph configuration strategy
Propose a new design to update Rook's Ceph configuration strategy to
align with Ceph's recent changes to the config process.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2019-01-24 12:26:56 -07:00
travisn bd25630d91 allow disabling of fsGroup in the flex driver
Signed-off-by: travisn <tnielsen@redhat.com>
2019-01-24 07:53:44 -07:00