* refs/pull/25886/head:
qa/tasks/rebuild_mondb: use monmap to properly name the mons
ceph-monstore-tool: add --monmap <path> argument to rebuild command
ceph-mon: dump monmap to debug logs
Revert "mon/MonMap: no noname- mon name prefix when for_mkfs"
mon/MonMap: improve/fix initial monmap generation for mkfs
ceph-mon: make membership check with public_addr more robust
ceph-mon: make mkfs check whether I am in monmap more robust
Reviewed-by: Neha Ojha <nojha@redhat.com>
We used to rely on the monmap bootstrap code to magically create a valid
monmap with named mons because our old-style ceph.conf had mon_addr
values in each mon.foo section. Instead, just feed it a real monmap
from pre-destruction.
In practice, a user can manually generate this monmap, or rename the
mons after the fact with --inject-monmap, or whatever. Out of scope
for this test, so we just do the simplest thing to make the rebuild test
work.
Signed-off-by: Sage Weil <sage@redhat.com>
Removed the internal usage of the public librbd API, avoided double-opening
image to determine data pool, and fixed issues with the unit test case.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
mgr/dashboard: Hide empty fields and render all objects in KV-table
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
The problem was that the key value table didn't render all objects in
the given object, even if 'renderObjects' was set to true.
For example you give it an object with 2 attributes each of them holds a
non empty object, this will result in a table data that is not fully
converted to key value objects, which will result as text '[Object
object]' in the table view.
Now every object will be rendered and the key value array will be sorted
by key.
Fixes: https://tracker.ceph.com/issues/37859
Signed-off-by: Stephan Müller <smueller@suse.com>
It exends the key value table by the option to hide empty fields.
Fixes: https://tracker.ceph.com/issues/37860
Signed-off-by: Stephan Müller <smueller@suse.com>
This reverts commit c078c81031.
# Conflicts:
# src/mon/MonMap.cc
The ceph_mon.cc bootstrap code expects a noname- prefix to identify which
unamed mons (i.e., generated from mon_host) in the initial monmap can be
taken over as itself.
At the same time, the mon recovery code needs a way to know how to name
the monitors.
Signed-off-by: Sage Weil <sage@redhat.com>
The monmap generation from mon_host for mon mkfs was pretty much completely
broken. Restructure the code.
Generally, prefer v2+v1 addrvecs, unless a specific addr type and/or
port is specified.
Signed-off-by: Sage Weil <sage@redhat.com>
If the public_addr has no port, we will check v1 and v2 addresses.
MonMap::contains() checks for *any* overlap/match, so we should find
ourselves.
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/25755/head:
msg/async/Protocol*: bump global_seq when retrying connection
msg/async/Protocol*: unregister con from accept vs mark_down race
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Haomai Wang <haomai@xsky.com>
Previously we were reopening any time the name of our mon changed. That
was pretty much every time, since we started out with names from the
seed monmap like 'noname-[abc]' that never match the real mons.
Instead, only reopen if the addr we are connecting to is no longer in the
monmap. We don't actually care about the mon's name.
Fixes: http://tracker.ceph.com/issues/37868
Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/25792/head:
common/numa: remove unused _mask variants
osd: support osd_numa_node, osd_numa_auto_affinity, osd_numa_prefer_iface
mon/OSDMonitor: add 'osd numa-status' command
osd: report numa node for network interface(s)
common/pick_address: get numa node info for a interface
os/bluestore: report numa node info for storage
os/bluestore/KernelDevice: report numa info for each device
os/bluestore: allow get_devices() to run without bluestore started
common/blkdev: query numa info
common/numa: cpu_set helpers and numa helpers
common/blkdev: drop debug statements
Reviewed-by: Mark Nelson <mnelson@redhat.com>
In the top connect retry in particular we do not bump connect_seq, so it
is critical that we bump global_seq so that the two connection attempts
are distinguishable at the peer.
Signed-off-by: Sage Weil <sage@redhat.com>