Jan Fajerski [Wed, 21 Nov 2018 12:14:25 +0000 (13:14 +0100)]
common/blkdev: use ID_MODEL + _ + ID_SERIAL_SHORT for device_id
This is hopefully more stable then using ID_SERIAL. While often
ID_SERIAL contains the model name and serial, in some cases it only
contains something close to the actual serial number.
Sebastian Wagner [Wed, 21 Nov 2018 12:37:51 +0000 (13:37 +0100)]
Merge pull request #24610 from SUSE/wip-orchestrator-deepsea-redux
mgr/deepsea: DeepSea orchestrator module
Reviewed-by: Jan Fajerski <jfajerski@suse.com> Reviewed-by: John Spray <john.spray@redhat.com> Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Tim Serong [Tue, 16 Oct 2018 08:39:41 +0000 (19:39 +1100)]
mgr/deepsea: DeepSea orchestrator module
This module provides integration between Ceph's orchestrator framework
and DeepSea, a Ceph deployment and management system built upon Salt.
Included so far are implementations of get_inventory() and
describe_service(). This allows `ceph orchestrator device ls`, `ceph
orchestrator service ls` and `ceph orchestrator service status` to
operate correctly.
To test, try:
# ceph mgr module enable orchestrator_cli
# ceph mgr module enable deepsea
# ceph orchestrator set backend deepsea
# ceph deepsea config-set salt_api_url <salt api url>
# ceph deepsea config-set salt_api_username <salt api username>
# ceph deepsea config-set salt_api_password <salt api shared secret>
# ceph orchestrator device ls
# ceph orchestrator service ls
Kefu Chai [Mon, 19 Nov 2018 08:09:53 +0000 (16:09 +0800)]
crimson/net: extract state transition out of repeat_connect()
and extract state transition out of repeat_handle_connect()
in this change, the connect/handle-connect loop is restructured, to
avoid ad-hoc state changes in helper functions. this pave the road to
explicit state transtion using named states.
also, exception is thrown instead in handle_connect_reply(), we should
not proceed in case of failures. and we need do error handling in the
named state in future.
currentl, `state` is set to `state_t::open` in `start_connect()` and
`start_accept()`, the next step is to set it in a named state.
Sage Weil [Tue, 20 Nov 2018 12:51:29 +0000 (06:51 -0600)]
Merge PR #24844 into master
* refs/pull/24844/head:
osd: drop PGBackend::Listener::get_epoch().
osd: massively switch to get_osdmap_epoch().
osd: switch the return type of PG::get_osdmap().
Yingxin [Wed, 17 Oct 2018 20:45:53 +0000 (04:45 +0800)]
crimson/net: connection closed during connecting
It is possible during `seastar::connect()`, the connection is marked
closed (when SocketConnection::socket is unavailable), then
`seastar::connect()` successfully returns a connected socket.
Kefu Chai [Tue, 20 Nov 2018 04:43:34 +0000 (12:43 +0800)]
install-deps.sh: install prebuilt libboost dependencies for bionic also
* extract boost install function into a helper, so we don't need to
repeat it when adding support for new distros.
* install ceph-libboost-* for bionic build also. we check for the
existence in run-make-check.sh, so there is no need to update
the build script elsewhere.
Changcheng Liu [Fri, 26 Oct 2018 06:32:09 +0000 (14:32 +0800)]
install-deps.sh: correct gcc version info as major.minor.patch
On ubuntu 18.04, "gcc -dumpversion" output "7", it result in
that below check will return false:
dpkg --compare-versions 7 ge 7.0
Then, this script will install other gcc.
Actully, the full gcc version "gcc -dumpfullversion" output is
"7.3.0", than below check will turn true:
dpkg --compare-version 7.3.0 ge 7.0
So, there's no need to install other gcc.
In case of hitting error on ubuntu16.04, use below parameter:
gcc -dumpfullversion -dumpversion
Signed-off-by: Changcheng Liu <changcheng.liu@intel.com>
Zack Cerza [Thu, 15 Nov 2018 18:47:30 +0000 (11:47 -0700)]
Remove any dashboard .pyc files before testing
Things like 'git rm' and 'git mv' don't clean up any .pyc files that
might have been generated previously, so if those aren't removed, we
might not be running the exact code that we intend to.
Kefu Chai [Fri, 16 Nov 2018 17:25:47 +0000 (01:25 +0800)]
test/dashboard: fix segfault when importing dm.xmlsec.binding
python-saml depends on dm.xmlsec.binding which is a python binding of
xmlsec C library. but without -DXMLSEC_NO_SIZE_T the compiled
dm.xmlsec.binding segfaults when `import dm.xmlsec.binding`. see
https://github.com/onelogin/python-saml/issues/30 and
https://github.com/4teamwork/ftw.saml2auth/issues/3 .
in long term, we might want to switch to python-saml, see
http://tracker.ceph.com/issues/37081
Stephan Müller [Fri, 16 Nov 2018 14:39:53 +0000 (15:39 +0100)]
mgr/dashboard: npm run e2e:dev
The new command introduced will make developing e2e tests faster, as
Protractor will attach to the running development server that was
previously started running 'npm start'.
Fixes: https://tracker.ceph.com/issues/37291 Signed-off-by: Stephan Müller <smueller@suse.com>
Tiago Melo [Thu, 25 Oct 2018 15:56:54 +0000 (16:56 +0100)]
credits.sh: Ignore package-lock.json and .xlf files
package-lock.json: This file is modified automatically by npm any time we update
a frontend package, and can amount to large number of line changes.
For example, updating around 10 packages can result in 3k lines changed
in package-lock.json.
.xlf: They are used for the I18M of the dashboard and are automatically created
by Angular/transifex. Curretly each has around 5k lines and those lines should
not be credited to the commiter.
Sage Weil [Fri, 16 Nov 2018 13:11:15 +0000 (07:11 -0600)]
Merge PR #25052 into master
* refs/pull/25052/head:
mgr: lock pg_map too for osd_pool_stats and notify_osdmap
mgr/DaemonServer: use with_osdmap_and_pgmap instead of nested calls
mgr/ClusterState: add with_osdmap_and_pgmap
Jason Dillaman [Wed, 14 Nov 2018 15:40:26 +0000 (21:10 +0530)]
librbd: new API methods to get/set mirror peer attributes
The dashboard will need to manipulate the remote cluster mon_host and
key attributes. This logic should be re-used between the rbd CLI and
the dashboard.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jan Fajerski [Fri, 16 Nov 2018 08:22:06 +0000 (09:22 +0100)]
ceph-volume: rename Device property valid to available
This flag is used in the inventory reporting and available is deemed more
appropriate. Furthermore this fixes a bug where rejected_reasons
accumulated duplicate entries.
Fixes: http://tracker.ceph.com/issues/36701 Signed-off-by: Jan Fajerski <jfajerski@suse.com>
hsiang41 [Wed, 7 Nov 2018 14:05:35 +0000 (22:05 +0800)]
mgr: Separate diskprediction cloud plugin from the diskprediction plugin
Separate diskprediction local cloud from the diskprediction plugin.
Devicehealth invoke device prediction function related on the global
configuration "device_failure_prediction_mode".
Signed-off-by: Rick Chen <rick.chen@prophetstor.com>