Sage Weil
b1aec88c9f
vstart.sh: put mon addrs in mon_host, not 'mon addr'
...
Notably, mon addr won't take an addrvec, while everything else will.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
d151ece3af
msg/async: better debug around conn map lookups and updates
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
395947ae40
mon/MonClient: dump initial monmap at debug level 10
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
b92be2ca9b
qa/standalone/osd/osd-fast-mark-down: use v1 addr w/ simplemessenger
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
a19b8e5b14
qa/tasks/ceph: set initial monmap features with using addrvec addrs
...
The --add option will only infer a bare IP to include a v2 addr if the
NAUTILUS feature is there, and that isn't normally present on a freshly
generate monmap. Add it if we are doing addrvecs!
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
a274e772f2
monmaptool: add --enable-all-features option
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
241d402d7c
qa/tasks/ceph: only use monmaptool --addv if addr has [,:v]
...
Otherwise, we want the --add path, which has the logic to infer ports,
v2+v1, etc.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
ac2430a43d
qa/tasks/ceph_manager: make get_mon_status use mon addr
...
We don't have the 'mon addr' config property any more.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
545df766be
qa/tasks/ceph: keep mon addrs in ctx namespace
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
27b7867d83
mon/OSDMonitor: log all osd addrs on boot
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
a1cebd00a9
msg/simple: behave when v2 and v1 addrs are present at target
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
609c6d76bc
mon/MonClient: warn if global_id changes
...
Shouldn't happen!
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
50f5e328d7
msg/Connection: add warning/note on get_peer_global_id
...
This field isn't populated for loopback connections because the msgr
doesn't have any insight into what global_id its user has.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
d64cac170e
mds/MDSDaemon: clean up handle_mds_map debug output a bit
...
The old wording was misleading!
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
d980907fc4
qa/suites/rados/upgrade: debug mds
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
9e63e63468
mds/MDSRank: improve is_stale_message to handle addrvecs
...
If we get a connection on a loopback from ourselves, get_source_addrs()
will have everything we bound to, but the mdsmap may only have the v1
address. Avoid the addrvec comparison by instead comparing the
ConnectionRefs.
NOTE: this implementation is a stopgap. We should really maintain a map
of ConnectionRefs for the current up set and compare the ConnectionRefs
directly instead of comparing addr(vecs).
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
76ccf140ed
msg/async: make loopback detect when sending to one of our many addrs
...
Drop the assert just because it's inefficient and not necessary.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
68913080b5
qa/suites/rados/upgrade: no aggressive pg num changes
...
We now run with mixed mons and old mgrs, so this won't work.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
0a67e02c14
mon/OSDMonitor: require nautilus mons for require_osd_release=nautilus
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
deb92c9d89
mon/OSDMonitor: require mimic mons for require_osd_release=mimic
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
576b6a77f1
qa/suites/rados/thrash-old-clients: use legacy addr syntax in ceph.conf
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
103c0238d4
msg/async: preserve peer features when replacing a connection
...
The features are now stored in the protocol implementation. When we replace
an existing connection, copy those features so that our connect_msg_reply
calculates the correct features for the session.
This fixes an issue where a 3-mon cluster, after upgrading the two followers
but not the leader, was unable to include the (luminous) leader in the
quorum because it was seeing missing features in the connect reply, because
the new mons were replacing an old instance of the connection and weren't
copying the features, and that old instance had connect_msg.features == 0.
Add some debug lines that helped (finally) identify the problem.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
1ab352dd31
qa/tasks/ceph.py: move methods from teuthology.git into ceph.py directly; support mon bind * options
...
Having these live in teuthology.git is silly, since they are only consumed
by the ceph task, and it is hard to revise the behavior.
Revise the behavior by adding mon_bind_* options.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
572311b614
mon/MonMap: adjust build_initial behavior for mkfs vs probe
...
For the mkfs case, interpret an ambiguous port as a v2 address. For probe,
try both.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
5992a61c2c
mon/MonMap: improve ambiguous addr behavior
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
b1493f0d9a
qa/suites/rados/upgrade: spread mons a bit
...
This will mean 2/3 mons have default ports.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
fbdc1358e6
qa/rados/thrash-old-clients: keep mons on separate hosts
...
This ensures the mons can use default ports, ceph.conf won't have v1: or
v2: prefixes, and old clients will be happy.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
7559a47f5b
qa/standalone/mon/misc.sh: tweak test to be more robust
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
2f786f3299
qa/tasks/mon_seesaw: expect v1/v2 prefix in addr
...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
55a9c7522f
osd/OSDMap: fix is_blacklisted() check to assume type ANY
...
Note that this still does a copy of the addr struct (as it did before).
This could be more efficient...
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:31 -06:00
Sage Weil
0610e56265
mon/OSDMonitor: use ANY addr type for blacklisting
...
Client addresses are untyped in that they can connect to v1 or v2 server
endpoints, so blacklist them as TYPE_ANY.
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-03 11:17:20 -06:00
Sage Weil
5a404f9e4b
mon/msg_types: TYPE_V1ORV2 -> TYPE_ANY
...
..and allow us to parse it.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-22 15:53:13 -06:00
Sage Weil
b84b8c9c66
qa/workunits/cephtool: fix blacklist test
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
0692d06979
qa/suites/upgrade: install old version with only v1 addrs
...
v1+v2 support is new in nautilus.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
40a7dfbb1f
common/options: by default, bind to both msgr v1 and v2 addresses
...
This will be the case for some time, until v1 clients are fully phased out.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
9f66edbd5e
vstart.sh: add --msgr1, --msgr2, --msgr21 options
...
..and clean up the monmap IP generation.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
7490db6dd1
msg/async/ProtocolV2: be flexible with server identity check
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
35d4283106
msg/msg_types: fix entity_addrvec_t::parse() with null end arg
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
6429537bd7
qa/suites/rados/basic/msgr: no msgr2 addrs in initial monmaps
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
de9b77cd38
qa/tasks/ceph: add 'mon_bind_addrvec' and 'mon_bind_msgr2' options
...
- Sometimes we don't want to use v2 addrs
- Sometimes we don't want addrvecs at all (e.g., upgrades)
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
7ff8fc7397
monmaptool: add --addv argument to pass in addrvec directly
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
a58fcf9e0f
qa/suites/rados/basic/msgr: do not use msgr2 with simplemessenger
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
9a5aa423e0
qa/suites/rados/basic/msgr: async is not experimental
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
a56a7fb695
messages/MOSDBoot: fix compat with pre-nautilus
...
We can't make an addr -> addrvec transition without a compat encoding,
unfortunately (I screwed this one up back when then ADDR2 feature was
introduced).
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
d16f6e4654
mon/MonMap: allow v1 or v2 to be explicitly specified along with part
...
If there is a v1: or v2: prefix, that's the protocol/addr type. Otherwise,
we assume msgr2.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
bdfbd857e2
msg/msg_types: allow parsing of IPs without assuming v1 vs v2
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
12416b77bd
msg/msg_types: default parse to v2 addrs
...
If we parse "1.2.3.4", parse to v2:1.2.3.4:0/0, not a v1 legacy addr.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
f174bbead4
msg: standarize on v1: and v2: prefixes for *all* entity_addr_t's
...
This is more consistent than 1.2.3.4:0/0 being v1 and msgr2:1.2.3.4:0/0
being v2.
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
15684843f0
vstart.sh: use msgr2 by default
...
This is useful because we tend to bind to random ports
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
399aba37fe
mon/MonMap: remove get_addr() methods
...
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00