Commit Graph
3904 Commits
Author SHA1 Message Date
travisn cb82f36eba ceph: no need for --public-bind-addr with host networking
The mons require the --public-bind-addr when host networking is not in use
since the pod ip will be different from the service ip that will be
advertised to clients. When host networking is enabled, there is no
need for this argument since the endpoints will be the same to bind
inside the pod as what is advertised to clients.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-05-10 15:07:46 -06:00
travisn dbe3da97a1 ceph: preserve the non-default port for hostnetworking
Clusters using host networking will not work if the non-default port is
being used by the mons. Previous to rook 1.0 the mons were all
using the non-default port 6790 and now they are using the default port
of 6789 from 1.0. Now host networking will preserve the non-default port
to allow upgrades to continue working.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-05-10 12:24:57 -06:00
Noah Watkins e33eb98047 ceph: run self-signed cert creation with timeout
fixes: #2784

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-05-06 10:10:05 -07:00
Noah Watkins c2dbb93096 ceph: simplify the ceph command execution interface
this adds a structure to hold various settings related to executing ceph
cli commands, and introduces a common interface for configuring and
running such commands.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-05-06 10:10:05 -07:00
Alexander Trost 485c3c4e27 ceph-op: Remove taint check in "is node scheduable" func (#3063)
ceph-op: Remove taint check in "is node scheduable" func
2019-05-02 19:55:10 +02:00
Anton Skriptsov 3d88547068 Add K8S_NAMESPACE env to EdgeFS containers
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-05-02 09:07:28 -07:00
Alexander Trost 7cf8e99a8c ceph-op: Remove taint check in "is node scheduable" func
This removes the unnecessary check for taints on nodes in the
`GetNodeSchedulable()` function. This fixes that even though the user
has specified `tolerations` for, e.g., `NoSchedule` taints, that would
be ignored and the node(s) directly be "marked" as unschedulable.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-05-02 18:05:46 +02:00
Travis Nielsen 48380dde85 Merge pull request #3094 from noahdesu/rewind-http-bind-fix
ceph: rewind http bind fix on upgrade
2019-05-02 08:53:54 -06:00
Noah Watkins a661b2db02 ceph: rewind http bind fix on upgrade
when upgrading to a newer version of ceph that doesn't need the http
binding fix, this patch unwinds the configuration fix which may still be
present when upgrading from a cluster without the fix. if the
configuration fix remains then the dashboard and prometheus servers will
not be able to properly configure themselves.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-05-01 22:30:12 -07:00
Alexander Trost 5aea23aea5 Add optional containers count for restore/zap option (#3088)
Add optional containers count for restore/zap option
2019-05-01 23:40:00 +02:00
Anton Skriptsov 1db2da74a7 Add container count for restore option
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-05-01 13:14:56 -07:00
Travis Nielsen 221560bf24 Merge pull request #3090 from kshlm/delete-active-job-if-requested
ceph: Delete and recreate rook-ceph-detect-version job
2019-05-01 10:16:18 -06:00
Travis Nielsen 726efd017a Merge pull request #3089 from travisn/osds-query-latest-nodes
Query the latest list of nodes for osd orchestration
2019-05-01 10:16:04 -06:00
travisn 77c7eb52f9 ceph: query the latest list of nodes for osd orchestration
The list of nodes to be queried for configuring OSDs
should include all of the K8s nodes before the placement
or other filters are applied. The operator was sometimes
missing configuring OSDs on nodes if the discover pod
hadn't finished running on a node. Now the osd prepare
job will be triggered on a node even if the discover pod
hasn't yet run there.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-30 17:07:12 -06:00
travisn 20f6af8a4d remove obsolete flex driver version checks
The flex driver no longer needs to check whether a kubelet
restart is needed or whether the namespace-specific driver
can be supported. The copy of k8s 1.13 types can also
be removed since we have updated to a newer k8s client.

Signed-off-by: travisn <tnielsen@redhat.com>
2019-04-30 14:50:33 -06:00
Noah Watkins fc7baef6aa ceph: add tests for dashboard http bind fix
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-30 10:57:37 -07:00
Noah Watkins 1efb8af87b ceph: selectively apply http bind addr fix
fixes: #2492

the http bind address fix in rook address an upstream issue in ceph in
which cherrypy break when binding to `::` when the host doesn't have an
ipv6 address. it fixes the issue by always binding prometheus and the
dashboard webservers to the pod address. by doing this, it prevents
using the kubectl port-forward technique, which some users would like.

a patch to cherrypy is upstream in ceph. this PR checks the ceph version
and selectively disables the fix so that both port-forward and the
normal service method works. this is the verison matrix:

          FIX     VER
          ---     ---
luminous merged (>= 12.2.12)
mimic    merged (>= 13.2.6)
nautilus merged (>= 14.1.1)

when all the containers for these versions exists and sufficient time
passes the unreachable code guarded by the version checks in this patch
can be removed.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-30 10:06:39 -07:00
Noah Watkins 3300497c29 ceph: add mimic version check interface
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-04-30 10:06:39 -07:00
Kaushal M 5e8375e921 ceph: Delete and recreate rook-ceph-detect-version job
The ceph controller will delete and recreate the detec-version job, when
an already existing job is found. This helps avoid cluster creation from
getting hung up on waiting for an already existing/stale job to finish.

Fixes #3081.

Signed-off-by: Kaushal M <kshlmster@gmail.com>
2019-04-30 18:19:56 +05:30
wangxiao86 a5a8d22478 Set the module's server_addr path with the mgr's name.
To enable multiple mgrs to run properly, we need to set the respective server_addr path with the mgr's name for the modules of each mgr.

When multiple mgrs are running, the modules( e.g. dashboard and Prometheus ) of each mgr need to bind its own server_addr when it is started. The way to get server_addr when ceph mgr starts the module is as follows:  first,  get the server_addr value by "mgr/<module-name>/<mgr-daemonid>/server_addr" path;  and if this path does not exist, then get the server_addr value by" mgr/<module-name>/server_addr" path.
According to the original rook setting for server_addr,  the modules of all mgrs take the same server_addr on ceph luminous and mimic, this produces a wrong result that only one mgr's modules can run properly ( the modules of other mgrs failed to start with the wrong server_addr).
This change is made to be compatible with ceph luminous, mimic, and nautilus.  and Modify according to: the "HOST NAME AND PORT" description of http://docs.ceph.com/docs/master/mgr/dashboard/ .

Signed-off-by: wangxiao86 <wangxiao1@sensetime.com>
2019-04-30 17:14:07 +08:00
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