Commit Graph
64 Commits
Author SHA1 Message Date
Blaine Gardner 3731f06176 Ceph: Refactor mon config/keyring to cephconfig
Create a cephconfig module in Ceph's daemon pkg source, and refactor the
config and keyring generation that exists in the mon package into the
new cephconfig package. The config/keyring generation code is used by
most all daemons and not just mon, so a new package is a more
appropriate place for this.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-09-05 10:17:11 -06:00
travisn f840e3574e mon: start a deployment instead of replicaset
Signed-off-by: travisn <tnielsen@redhat.com>
2018-09-01 00:12:42 -06:00
travisn 5f01178e83 mon: set names based on chars instead of integers
Signed-off-by: travisn <tnielsen@redhat.com>
2018-08-30 22:18:53 -06:00
Dennis Chen 25086c01ad Roundup the size of the RBD volume image
Current code will truncate the generated RBD image in some cases,
this PR will round up the size to make sure the final RBD image
generated can cover all the required data space.

Also, corresponding unit test cases added to verify the change.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2018-08-29 11:10:07 +08:00
travisn 1a86a8cb7b metered loading of flex drivers
Signed-off-by: travisn <tnielsen@redhat.com>
2018-08-24 13:28:57 -06:00
Alexander Trost 614fef7fce Merge pull request #2055 from arm64b/remove-unused-volume-mgr
Remove unused volume manager parameters
2018-08-24 16:40:40 +02:00
Dennis Chen 4a15529db5 Remove unused volume manager parameters
We don't use volume manager argument in NewClusterController()
and NewFlexvolumeServer() functions, so remove the unused volume
manager parameter from those functions.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2018-08-22 09:49:02 +08:00
Alexander Trost 2080330539 Add dataPool parameter to StorageClass
This change allows block storage to use a given Ceph pool for it's data.

Fixes #1733

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-08-17 16:28:08 +02:00
Jared Watts 90fdea4ddd Merge pull request #1947 from arm64b/ceph-volmgr-err-handling
Enhancement of Ceph volume manager kmod detection
2018-08-09 06:25:32 -07:00
Travis Nielsen d331a3e6a4 Merge pull request #1999 from jcsp/wip-mds-caps
Fix client.admin's default MDS capabilities
2018-08-08 08:00:24 -06:00
John Spray 78a53870d1 Reduce mgr mon caps to "profile mgr"
This has been the correct style since luminous.  The
"allow *" version works fine but is more power than
needed.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-08-07 12:53:18 +01:00
John Spray b6eab78d92 Grant mgr OSD and MDS caps
While the mgr can mostly do its job with just
mon caps, modules expect to also have access
to OSD and MDS daemons at will (e.g. for the dashboard
to display the MDS session list)

This change matches what other Ceph deployment tools do.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-08-07 12:53:12 +01:00
John Spray a57434017d Fix client.admin's default MDS capabilities
Signed-off-by: John Spray <john.spray@redhat.com>
2018-08-07 12:46:29 +01:00
travisn 1d928ecd36 osd: init container to initialize config at startup
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-31 14:39:53 -06:00
Dennis Chen 9cfafaa0a7 Enhancement of Ceph volume manager kmod detection
Current Ceph volume manager code doesn't take the builtin
kernel module into the account, so the `modinfo` will fail
in this case. Also, we need to add error handling code to
make sure the volume manager does work when proceeding to
continue, otherwise we will encounter the `rbd` related issue
in the following step even we have an artificial `agent` pod
in running state.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2018-07-31 16:56:40 +08:00
Blaine Gardner fe5fb394c7 Fix spellcheck and trailing space/newline issues
Fix some basic spellcheck errors. Also remove trailing spaces and make
sure files have a newline (my editor does automatically).

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-07-26 11:36:09 -06:00
Alexander Trost a7d002fe5c operator: Set min_size to dataChunkCount for ec pools
Resolves #1795

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-07-19 23:51:26 +02:00
Travis Nielsen 363e5ee58a Merge pull request #1892 from jcsp/wip-osd-remove-idempotent
Fix retry of OSD deletion
2018-07-17 15:47:00 -06:00
John Spray bed1d01e9c Fix retry of OSD deletion
Previously, if this failed mid-way it would then throw
an exception at the first operation when retrying (because it's
trying to reweight an OSD that might not be in the map any more)

Signed-off-by: John Spray <john.spray@redhat.com>
2018-07-17 14:08:23 +01:00
Huamin Chen ac2c949cae omit empty osd objectstore
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-07-11 17:25:10 -04:00
Travis Nielsen f06fee6d3c Merge pull request #1874 from travisn/osd-health-debug
Debug logging for the osd health check
2018-07-11 13:07:48 -06:00
travisn 94496fe88e debug logging for the osd health check
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-11 10:28:15 -06:00
Jared Watts 189e3eb611 ceph: migration logic for ceph.rook.io/v1alpha1 to ceph.rook.io/v1beta1, update all type references
Signed-off-by: Jared Watts <jbw976@gmail.com>
2018-07-11 09:23:46 -07:00
travisn 55e0ee26c0 monitor the OSDs for the lifetime of the cluster
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-06 15:08:59 -06:00
travisn c9406597e1 osd: remove storage nodes centrally in the operator
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-05 16:09:22 -06:00
Huamin Chen 0bb6005055 add osd health monitor
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-07-05 16:09:22 -06:00
travisn 021e8e7a9e osd: watch provisioning status for all nodes and start osds as each node is ready
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-05 16:08:31 -06:00
travisn 330aa9b6c8 osd: cleanup mounts for filestore on a device and other refactor for one osd per pod
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-05 16:04:03 -06:00
travisn 3e1ef0d760 mount directory host path if needed
Signed-off-by: travisn <tnielsen@redhat.com>
2018-07-05 16:02:27 -06:00
Huamin Chen 82425aafcc prepare osd in a job per node. Once all osds are prepared, store osd info in orchestration configmap.
Operator watches the configmap, starts one osd replica set per osd.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-07-05 16:02:27 -06:00
Alexander Trost 6fb6c212c6 Don't set default for IP flags
Fixes the issue that when the old IPv4 flags were set, the new flags
were still used because of the default being the new flags not being
empty.

Added `NetworkInfo()` func to cmd/ceph to get simplified network info

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-06-27 17:20:25 +02:00
Jared Watts 48b879e0ad Merge pull request #1769 from ucloudlab/ipv6-support
support ipv6
2018-06-19 20:33:12 -07:00
travisn 0eaca4067b mgr: rename the daemon to mgr.a
Signed-off-by: travisn <tnielsen@redhat.com>
2018-06-15 11:00:11 -07:00
Zhang Miaolei 100e80250f support ipv6 host-port pair
deprecate NetworkInfo.PublicAddrIPv4, use NetworkInfo.PublicAddr instead
deprecate NetworkInfo.ClusterAddrIPv4, use NetworkInfo.ClusterAddr instead
deprecate command flag public-ipv4, use public-ip instead
deprecate command flag private-ipv4, use private-ip instead
change ROOK_PUBLIC_IPV4 to ROOK_PUBLIC_IP
change ROOK_PRIVATE_IPV4 to ROOK_PRIVATE_IP

Signed-off-by: Zhang Miaolei <zmlcc@outlook.com>
2018-06-15 14:26:42 +08:00
Ganesh Maharaj Mahalingam aeb3c6a26d JournalPartition Code Cleanup
Cleaning out the below entities.
- JournalPartitionType is defined but will never be used given rook will always
place journal file in the filestore's block partition.
- GetMetadataPartitionType and getDataPartitionDetails functions are legacy
code and no longer used by any of the rook components.

Resolves: #1775

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-06-12 23:39:41 -07:00
travisn 756c00fc4b mgr: enable the ceph dashboard
Signed-off-by: travisn <tnielsen@redhat.com>
2018-06-07 15:08:58 -07:00
Travis Nielsen ccc5acd98b Merge pull request #1710 from galexrt/1386
ceph mon: Only run one mon on a node
2018-06-07 09:21:36 -07:00
Alexander Trost 86568cafd3 operator/ceph/mon: Cleaned up tests
To make it more applicable to what is actually running when using the
operator the used test mon names have been replaced by the actual format
used in normal operations: `rook-ceph-mon[0-9]` instead of `mon[0-9]`.

This also removes some duplicated test code and used the already
available function for it.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2018-06-04 23:01:29 +02:00
travisn 4078b1b7f9 osd: device discovery to load part uuid after restart
Signed-off-by: travisn <tnielsen@redhat.com>
2018-06-01 21:03:03 -07:00
Ganesh Maharaj Mahalingam f6498f48b0 Fix PV delete failure over operator restarts
This patch attempts to fix PV delete issues after an operator service
restart.

Resolves: #1721

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-05-24 12:14:49 -07:00
Jared Watts e48e951d1c Rename toolbox to make it Ceph specific, short names for CRDs, upgrade guide tweaks
Signed-off-by: Jared Watts <jbw976@gmail.com>
2018-05-22 12:31:38 -07:00
Jared Watts f3df68e573 operator, daemon, and cmd updates for supporting multiple storage types
Signed-off-by: Jared Watts <jbw976@gmail.com>
2018-05-18 14:32:20 -07:00
Ganesh Maharaj Mahalingam 37d102a1ba Ceph MDS: Control multi file system creation
Multiple file system support is still considered experimental in Ceph.
Disabling that as default in rook until such time it is production
ready.
A small code cleanup in filesystem file
Resolves #1720

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-05-17 17:10:01 -07:00
Huamin Chen 6c11ff52d4 add device discovery daemon to operator:
run "rook discover" on storage nodes and discover devices on each node. The discovered disks are saved in a per node configmap, local-device-nodename.
Device information consits of name and persistent names, uuid, partition, filesystem, rotational, readonly, size, etc.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-05-07 17:49:02 +00:00
Tony Allen 6d7ca2c973 Modify pool creation for EC overwrite config.
Signed-off-by: Tony Allen <tony@upbound.io>
2018-04-18 00:19:55 -07:00
travisn 16dfbb1258 tools: copy ceph config to default folder
Signed-off-by: travisn <tnielsen@redhat.com>
2018-03-23 14:21:44 -07:00
travisn 3840dd1c66 osd: bluestore is the default for devices and filestore for dirs
Signed-off-by: travisn <tnielsen@redhat.com>
2018-03-20 15:39:42 -07:00
travisn 2a1636d1ec remove the ceph-exporter that was replaced by the ceph module
Signed-off-by: travisn <tnielsen@redhat.com>
2018-03-16 08:32:32 -07:00
travisn b121357215 api: completed removal of api service
remove dependency of e2e tests on api service
remove the obsolete model package

Signed-off-by: travisn <tnielsen@redhat.com>
2018-03-16 08:31:34 -07:00
Jared Watts f06dd0009e When marking an OSD device to be removed, ensure the correct data partition name is used.
If watching the osd orchestration status map fails, ensure the loop is broken out of so a new watcher can be created.
Log the osd device/dir mapping structures in a more friendly way

Signed-off-by: Jared Watts <jbw976@gmail.com>
2018-02-15 13:48:50 -08:00