since `reconnect()` does not wait for `conn->close()` anymore, we
can actually call `reconnect()` right in `ms_handle_reset()`.
also, to avoid connecting mgr too frequently, connect the mgr with
specified interval (1 second by default).
send the MMgrOpen message in `ms_handle_connect()` to make it explicit
that we sends this message when the connection is established.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Adds option `mon_allow_pool_size_one` which will be disabled by default
to ensure pools are not configured without replicas.
If the user still wants to use pool size 1, they will have to change the
value of `mon_allow_pool_size_one` to true and then have to pass flag
`--yes-i-really-mean-it` to cli command:
Example:
`ceph osd pool test set size 1 --yes-i-really-mean-it`
Fixes: https://tracker.ceph.com/issues/44025
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
crimson: add pglog support to crimson's data write path
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
* refs/pull/33793/head:
qa/suites/rados/cephadm/upgrade: new start point
qa/tasks/cephadm: put bootstrap config etc directly in /etc/ceph
cephadm: shell: default to config and keyring in /etc/ceph, if present
Reviewed-by: Ricardo Marques <rimarques@suse.com>
* refs/pull/33808/head:
mgr/cephadm: apply: fill in default placement if none is provided
mgr/cephadm: make placement truly optional (default to count=1)
mgr/cephadm: allow count == 0
mgr/cephadm: remove magic labels
Reviewed-by: Sebastian Wagner <swagner@suse.com>
as per Yingxin,
application code is not required to wait for the `close()` future, it
would be safe to ignore it, because:
- `close()` will shutdown its socket synchronously;
- `close()` will create an internal `ConnectionRef` when it's closing;
- `Messenger` will wait for all connections closed during `shutdown()`;
Signed-off-by: Kefu Chai <kchai@redhat.com>
silences following warning
```
../src/common/buffer.cc:472:9: runtime error: member access within null pointer of type 'struct raw'
```
Signed-off-by: Kefu Chai <kchai@redhat.com>
Most stateless daemons get 2x (so there is a standby). Monitoring items
get just 1x.
By default we do 5 monitors, which will gracefully degrade to one per host
if the cluster has <5 hosts.
Signed-off-by: Sage Weil <sage@redhat.com>
coremask supports up to 256 bits in DPDK19.05, but the use of stoll in
NVMEManager::try_get limits the maximum use to 64 bits. Parse coremask by
hex character from low to high.
Fixes: https://tracker.ceph.com/issues/43044
Signed-off-by: Hu Ye <yehu5@huawei.com>
Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
Signed-off-by: luo rixin <luorixin@huawei.com>
* refs/pull/33804/head:
cephadm: ls: warn if daemon type (version) is not supported
cephadm: report grafana version
cephadm: report prometheus, node-exporter, alertmanager versions
cephadm: use None (not '<no value>') for monitoring daemon version
Reviewed-by: Michael Fritch <mfritch@suse.com>
* refs/pull/33792/head:
doc/cephadm: fix formatting for osd section
doc/cephadm: update 'adding mons' section to suggest/prefer 'apply'
doc/cephadm: fix formatting, typos
mgr/cephadm: implement apply_mon
mgr/cephadm: allow mon creation without explicit ip or addr
mgr/cephadm: allow _apply_service to delete mon daemon's data
mgr/cephadm: remove mon from monmap before removing mon
mgr/cephadm: do not remove mon if it breaks quorum
Reviewed-by: Michael Fritch <mfritch@suse.com>
* refs/pull/33802/head:
mgr/cephadm: sanity check upgrade version
mgr/cephadm: only need to invalidate once here
mgr/cephadm: upgrade requires root mode for now
Reviewed-by: Michael Fritch <mfritch@suse.com>
If no placement information is provided at all, assume 1 daemon over any
host.
This could perhaps be improved with a default placement that varies by
daemon type...
Signed-off-by: Sage Weil <sage@redhat.com>
Remove the magic label behavior. It makes the code confusing, it
makes the overall behavior hard to explain, and it makes the PlacementSpec
meaning different than what Rook is doing.
Instead, if you want mons on hosts with label 'mon', then say 'label:mon'.
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/33742/head:
msg/async: s/nowait/always_async/ in EventCenter::submit_to().
msg/async: perform recv reset immediately if called inside EC.
Reviewed-by: Sage Weil <sage@redhat.com>
This puts the conf and keyring in /etc/ceph earlier rather than later,
making them useful for debugging a live system *during* bootstrap. It's
also less code.
Signed-off-by: Sage Weil <sage@redhat.com>