Kefu Chai [Tue, 20 Nov 2018 14:13:35 +0000 (22:13 +0800)]
cmake: do not pass unnecessary param to setup.py
--single-version-externally-managed is used for packaging python eggs
to deb. so the metadata can be stored in the egg, and can be accessed
by user if necessary, see [1]. but this does not apply to users who
just want to "make install" without packaging Ceph.
the problem is, if we pass --single-version-externally-managed to
setup.py, we need to pass --record or --root also. otherwise setuptools
complains:
error: You must specify --record or --root when building system packages
so in this change, we choose not to pass
"--single-version-externally-managed", unless $DESTDIR is set.
both "ceph.spec.in" and "debian/rules" set $DESTDIR when running "make
install". so we can always check $DESTDIR to tell if current "make
install" is launched by the packaging script or not. this might not be
accurate, but good enough. assuming enduser does not use DESTDIR when
running plain "make install".
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>
Jeff Layton [Wed, 14 Nov 2018 17:38:22 +0000 (12:38 -0500)]
orchestrator: merge the ServiceLocation class into ServiceDescription
The ServiceDescription object just holds a list of ServiceLocation
objects. Eliminate ServiceLocation and merge it into the
ServiceDescription class. Have describe_service return a list of
ServiceDescriptions.
Suggested-by: Tim Serong <tserong@suse.com> Signed-off-by: Jeff Layton <jlayton@redhat.com>
Jeff Layton [Tue, 30 Oct 2018 18:28:02 +0000 (14:28 -0400)]
orchestrator_cli: add an orchestrator service ls function
There's currently no way to enumerate the services that the
orchestrator backend knows about. Add a "service ls" command
that will list them with some basic info, subject to filters
given on the command line.