Commit Graph

93908 Commits

Author SHA1 Message Date
Tiago Melo
4980c2668e mgr/dashboard: Update bootstrap to 3.4.0
Fixes: https://tracker.ceph.com/issues/37834
Signed-off-by: Tiago Melo <tmelo@suse.com>
2019-01-09 22:20:32 -01:00
Tiago Melo
c0a45c9f0a mgr/dashboard: Update npm packages
Signed-off-by: Tiago Melo <tmelo@suse.com>
2019-01-09 22:20:32 -01:00
Patrick Donnelly
32edf22838
client: make map lookup optimizations
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-09 15:02:03 -08:00
Patrick Donnelly
486a9ca67b
client: do not clear message payload
We don't send the message back to the MDS and modifying the incoming message is
evil; it should be treated const.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-09 14:59:17 -08:00
Patrick Donnelly
0243fd9cbe
client: clean up variable name
"p" is for pair; "it" is for iterator.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-09 14:59:17 -08:00
Patrick Donnelly
a994b37695
*: use std::string_view instead of char ptr
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-09 14:59:17 -08:00
Mykola Golub
9a3b87bf98 test/journal: ReplayEntry::get_data is const
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-01-09 21:39:07 +00:00
Josh Durgin
a05f9ebaa6
Merge pull request #25816 from neha-ojha/wip-36686
osd/mon: fix upgrades for pg log hard limit

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil  <sage@redhat.com>
2019-01-09 13:17:30 -08:00
Alfredo Deza
3b9262a825
Merge pull request #25321 from votdev/fix_dict_changed_size
ceph-volume: Add unit test

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2019-01-09 13:29:54 -05:00
Neha Ojha
b2879e5a04 pybind/mgr/dashboard: add modified messages.xlf
This is to fix the make check failure in
mgr-dashboard-frontend-unittests.

Signed-off-by: Neha Ojha <nojha@redhat.com>
2019-01-09 10:17:35 -08:00
Sage Weil
a591dfbbae common/numa: remove unused _mask variants
These parse the 'local_cpus' file that has a hex bitmask, but I didn't end
up using them.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-09 09:44:48 -06:00
Volker Theile
8a913c588b mgr/dashboard: Improve RGW address parser
- Add ability to parse IPv6 addresses
- Validate parsed RGW address

Signed-off-by: Volker Theile <vtheile@suse.com>
2019-01-09 16:09:25 +01:00
Patrick Donnelly
360550b1ab
qa: fix damage expectation setting
The purge queue expectation was being ignored.

Fixes: http://tracker.ceph.com/issues/37837

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-09 07:05:01 -08:00
Patrick Donnelly
909d0f1333
qa: fix loop variable reference
Otherwise the Mutation for Truncate is done on obj_id of the last iteration of the previous loop.

Fixes: http://tracker.ceph.com/issues/37836

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-09 07:05:00 -08:00
Jason Dillaman
d0af9eaa73
Merge pull request #25863 from trociny/wip-rbd-mirror-mock-warnings
test/rbd_mirror: fix gmock warnings

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-01-09 10:04:47 -05:00
Kefu Chai
0080efb05e mgr/test_orchestrator: correct ceph-volume path
s/ceph_volume/ceph-volume/

Fixes: http://tracker.ceph.com/issues/37773
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-01-09 22:19:07 +08:00
Kefu Chai
8d3df9be09 common/StackStringStream: optimize xsputn() and overflow()
use the internal buffer semantics provided by
basic_streambuf, in hope to improve the performance when a single
character is inserted into buf.

* xsputn(): use memcpy() directly instead of creating a temporary
  string_view
* overflow(): overflow() should be called only if the internal buffer
  overflows when a single character is put into the streambuf. so
  we can use the fact that the size of inserted buffer is known,
  and use push_back() instead.
  also, please see libstdc++'s implementation of basic_streambuf::sputc(),
  where __builtin_expect() is used to instruct the compiler that
  the non-overflow branch is more likely to be chosen. so, we need
  to optimize for that branch. hence this change.
* remove the no-more-used push() method

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-01-09 22:15:12 +08:00
Jason Dillaman
0d3fe8f225
Merge pull request #25860 from trociny/wip-prometheus-rbd_stats_pools
pybind/mgr/prometheus: improve 'rbd_stats_pools' param parsing

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-01-09 08:49:17 -05:00
Lenz Grimmer
dcfbec6a3e
Merge pull request #25300 from votdev/improve_rgw_user_list
mgr/dashboard: Improve RgwUser controller

Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2019-01-09 14:40:21 +01:00
Sebastian Wagner
9bb8e2dd20
Merge pull request #25634 from sebastian-philipp/doc-orchestrator-wal
doc/mgr/orchestrator: add `wal` to blink lights

Reviewed-by: Volker Theile <vtheile@suse.com>
2019-01-09 14:39:37 +01:00
Lenz Grimmer
26de63e5af
Merge pull request #25813 from rhcs-dashboard/updated-test-full-health
mgr/dashboard: updated health API test
2019-01-09 14:32:40 +01:00
Jason Dillaman
c223e707b6
Merge pull request #25743 from trociny/wip-37541
journal: set max journal order to 26
2019-01-09 08:31:36 -05:00
Jason Dillaman
a231e69816
Merge pull request #25789 from trociny/wip-36038
rbd_mirror: don't report error if image replay canceled

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-01-09 08:30:55 -05:00
Jason Dillaman
086d3f3a16
Merge pull request #25832 from trociny/wip-37729-1
test/pybind/test_rbd: filter out unknown list_children2 keys

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-01-09 08:30:12 -05:00
Kefu Chai
5c8dcdd353
Merge pull request #25861 from tchaikov/wip-seastar-connect-fix
seastar: pickup fix for segfault in POSIX stack

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-01-09 20:08:35 +08:00
Mykola Golub
6e225c2774 test/rbd_mirror: expect service daemon update instance_id attribute
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-01-09 11:52:00 +00:00
Mykola Golub
1619bcf08f test/rbd_mirror: fix gmock warnings when running with debug
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-01-09 11:49:41 +00:00
Sebastian Wagner
12b903d6ff pybind/mgr: Unified bits of volumes and orchestrator
* Created a common class `OrchestratorClientMixin`
* `s/self._oremote("meth"...),/self.meth(...)/g`

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-01-09 12:07:41 +01:00
Lenz Grimmer
97f1c053fb
Merge pull request #25572 from nathan-weinberg/pools-tests
mgr/dashboard: Added breadcrumb and tab tests to Pools menu

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2019-01-09 11:54:49 +01:00
Tina Kallio
8061fce06c mgr/dashboard: Filter out tasks depending on permissions
Fixes: https://tracker.ceph.com/issues/25094

Signed-off-by: Tina Kallio <tina.kallio@gmail.com>
2019-01-09 10:59:01 +01:00
Kefu Chai
47f9dad57a seastar: pickup fix for segfault in POSIX stack
see
5e399906d1

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-01-09 17:57:32 +08:00
Mykola Golub
35340b2395 pybind/mgr/prometheus: improve 'rbd_stats_pools' param parsing
re.split can still produce a list with empty string elements (e.g. if
'rbd_stats_pools' is just an empty string) and we want to filter out
those.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-01-09 09:34:45 +00:00
alfonsomthd
d9404d6813 mgr/dashboard: add columns to Pools table
* Added columns:
Usage, Read bytes, Write bytes, Read ops, Write ops.

* TableKeyValueComponent:
Bugfix in method: _insertFlattenObjects

* Updated jest global mock:
Now window.getComputedStyle returns an object
that has getPropertyValue defined
(otherwise jest pool tests involving chart.js threw error). See:
https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle

Fixes: https://tracker.ceph.com/issues/37717
Fixes: https://tracker.ceph.com/issues/34320

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
2019-01-09 08:59:47 +01:00
xie xingguo
794a8f9cf5 msg/async: do not force updating rotating keys inline
We found quite a few OSDs were unable to re-join the cluster
after the updation of the core switch was done.
The symptoms are similar - all these OSDs are complaining about not
being able to renew rotating keys, which are necessary
for authorized entities to talk with each other.

The root cause is that a specific OSD would keep hunting a reachable Mon,
and if unavailable, the hunting process would reboot every __timeout__ seconds,
causing the async-connection in progress torn down and re-created.

However the underlying thread in charge of the hunting process could be
blocked if there were hundreds of async-connections which were also waiting
for new rotating keys, e.g.:
```
2018-12-29 16:35:19.210884 7f416d6ee700  0 -- 172.18.35.6:6808/1036230 >> 172.18.35.4:6810/1037600 conn(0x7f41d9e3c000 :6808 s=STATE_CONNECTING_WAIT_CONNECT_REPLY_AUTH
 pgs=293 cs=25 l=0).handle_connect_reply connect got BADAUTHORIZER
2018-12-29 16:35:19.210891 7f416d6ee700 10 monclient(hunting): wait_auth_rotating waiting (until 2018-12-29 16:35:29.210889)
2018-12-29 16:35:29.210947 7f416d6ee700  0 monclient(hunting): wait_auth_rotating timed out after 10
2018-12-29 16:35:29.211101 7f416d6ee700  0 -- 172.18.35.6:6808/1036230 >> 172.18.35.4:6824/1028882 conn(0x7f418195d000 :-1 s=STATE_CONNECTING_WAIT_CONNECT_REPLY_AUTH p
gs=1433 cs=8 l=0).handle_connect_reply connect got BADAUTHORIZER
2018-12-29 16:35:29.211108 7f416d6ee700 10 monclient(hunting): wait_auth_rotating waiting (until 2018-12-29 16:35:39.211108)
2018-12-29 16:35:39.211167 7f416d6ee700  0 monclient(hunting): wait_auth_rotating timed out after 10
```
which as a result causes the corresponding OSD being stuck at hunting forever.

Fix by avoiding updating rotating keys on the messenger level and
making monclient do it instead. On detecting a bad or an outdated
rotating key, we could simply backoff and restart the connecting
procedure.

Signed-off-by: yanjun <yan.jun8@zte.com.cn>
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2019-01-09 13:48:26 +08:00
xie xingguo
3ce61e40fa osd, mgr, mds: make timeout of updating rotating keys configurable
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2019-01-09 08:24:42 +08:00
Patrick Donnelly
03990857fa
Merge PR #25621 into master
* refs/pull/25621/head:
	mds: allow boot on read-only
	mds: setup readonly mode for PurgeQueue
	mds: return string_view for type str
	mds: add missing locks for PurgeQueue methods
	mds: delete on_error context on des

Reviewed-by: Zheng Yan <zyan@redhat.com>
2019-01-08 15:56:16 -08:00
Patrick Donnelly
4e4db26c9c
Merge PR #24556 into master
* refs/pull/24556/head:
	tools/cephfs: make 'cephfs-data-scan scan_links' update snaptable
	tools/cephfs: make 'cephfs-data-scan scan_links' update inotable

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-01-08 15:10:28 -08:00
Sage Weil
5f0fc0a091 mon/MonMap: calc_addr_mons() after setting rank addrvec
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 14:31:13 -06:00
Sage Weil
86d74e9ad7 Merge PR #25818 into master
* refs/pull/25818/head:
	mon: adjust mon sync, extra_probe_peers to use addrvec

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-01-08 14:15:28 -06:00
Sage Weil
ee893445d5 mon/MonClient: make mon hunt more aggressive
With v2 and v1 addresses, it helps to be a bit more aggressive
searching for mons since the v1 or v2 ports may not be in use.

- try 3 parallel connection attempts, not 2
- increase the timeout interval more slowly

Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 14:04:37 -06:00
Sage Weil
4c69fe2d3b qa/msgr: add async-v1only case
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 13:22:39 -06:00
Sage Weil
3d34c4ebd2 mon: adjust mon sync, extra_probe_peers to use addrvec
The peer addr stuff via asok is a bit fragile because the user must
provide an exact addrvec matching the mon to avoid some weirdness, but
it's rarely used, and the fix would be some robustness/tolerance in the
messenger that is a bigger project than this.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 13:08:31 -06:00
Sage Weil
2483b774f2 Merge PR #25823 into master
* refs/pull/25823/head:
	msg/async/Protocol*: fix mark_down vs accept race

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2019-01-08 13:05:11 -06:00
Sage Weil
e1d147fa7a osd: support osd_numa_node, osd_numa_auto_affinity, osd_numa_prefer_iface
- osd_numa_node manually specifies a numa node.
- osd_numa_prefer_iface makes us prefer IPs in public_network that are
  on the same numa node as the storage
- osd_numa_auto_affinity will set affinity to a numa node when both the
  store and network(s) are on the same numa node.

These options are all flagged as 'startup', although osd_numa_node and
osd_numa_auto_affinity takes effect when the OSD is marked up, so doing
'ceph osd down ...' is sufficient to induce an update.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 12:57:00 -06:00
Sage Weil
1d5ad4d653 mon/OSDMonitor: add 'osd numa-status' command
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 12:57:00 -06:00
Sage Weil
2328b6cd9c osd: report numa node for network interface(s)
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 12:57:00 -06:00
Sage Weil
a7c4419492 common/pick_address: get numa node info for a interface
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-08 12:57:00 -06:00
Casey Bodley
1b2b885518
Merge pull request #25381 from cbodley/wip-qa-rgw-cls
qa/rgw: add cls_lock/log/refcount/version tests to verify suite

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-01-08 13:05:11 -05:00
Matt Benjamin
b2f9adf77b
Merge pull request #24027 from theanalyst/wip-civetweb-poll
rgw: civetweb: use poll instead of select while waiting on sockets
2019-01-08 12:50:49 -05:00
Sage Weil
b8e475af0c Merge PR #25835 into master
* refs/pull/25835/head:
	mgr/ServiceMap: print daemon addr in legacy format

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-01-08 11:19:21 -06:00