Jeff Layton [Mon, 25 Feb 2019 14:21:08 +0000 (09:21 -0500)]
mgr/orchestrator: allow scaling the NFS server count up and down
Add a new 'ceph orchestrator nfs update' command that will take the
NFS clustername and a new count as arguments. That will get translated
to a StatelessServiceSpec and passed to update_stateless_service.
Also, add the necessary stubs to the test_orchestrator and the CLI
QA test.
Jeff Layton [Mon, 25 Feb 2019 14:27:02 +0000 (09:27 -0500)]
mgr/rook: allow scaling nfs count
Allow rook to handle scaling the NFS server count up and down in an NFS
cluster. We just manifest these changes as change to the
spec.server.active field in the CRD.
Jeff Layton [Tue, 26 Feb 2019 19:53:45 +0000 (14:53 -0500)]
mgr/orchestrator: just keep a single count value in StatelessServiceSpec
We currently have a min_size/max_size values in here, but we don't have
any orchestrators that can take advantage of two values. Let's just keep
a simple count for now, until we do.
Ken Dreyer [Mon, 18 Feb 2019 22:38:17 +0000 (15:38 -0700)]
rpm: fix pyOpenSSL requirement for RHEL 8
On RHEL 7, this package is named "pyOpenSSL", but on RHEL 8, Fedora, and
SUSE, it is named "python3-pyOpenSSL".
Prior to this change, the RHEL conditional was applying to both RHEL 7
and 8, so we would fail to resolve the "pyOpenSSL" package dependency on
RHEL 8.
Update the RPM conditionals to use "pyOpenSSL" on RHEL 7 and
"python3-pyOpenSSL" on all other distributions.
Ken Dreyer [Mon, 18 Feb 2019 22:19:41 +0000 (15:19 -0700)]
rpm: fix python dependencies on RHEL 8
On RHEL 8, the python34-* and Cython packages are named identically to
Fedora (eg "python3-Cython"). Move the Python 2 "Cython" and python34-*
BuildRequires lines inside a RHEL 7 conditional, so RHEL 8 falls through
to the Fedora package names.
Sage Weil [Thu, 21 Feb 2019 18:47:35 +0000 (12:47 -0600)]
Merge PR #26541 into master
* refs/pull/26541/head:
msg/async: guard protocol Interceptor with preprocessor variable
cmake: add UNIT_TESTS_BUILD preprocessor var based on WITH_TESTS cmake var
test/msgr: remove test_msgr2 unused test
msg/async: msgr2: resolve reconnect races
test/msgr: msgr2 unit tests using the protocol interceptor WIP
msg/async: Protocol interceptor infrastructure
Patrick Donnelly [Thu, 21 Feb 2019 18:26:25 +0000 (10:26 -0800)]
Merge PR #26468 into master
* refs/pull/26468/head:
qa: config recall settings to test cache drop
qa: check cache dump works without timeout
mds: add 2nd order recall throttle
mds: drive log flush and cache trim during recall
mds: avoid gather assertion when subs exist
mds: output full details for recall threshold
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Thu, 21 Feb 2019 18:11:55 +0000 (10:11 -0800)]
Merge PR #26422 into master
* refs/pull/26422/head:
mds: start to trim cache when mds enters clientreplay state
mds: avoid evaluating stray dentry multiple times
mds: simplfy stray manager activation
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Sage Weil [Thu, 21 Feb 2019 17:18:46 +0000 (11:18 -0600)]
Merge PR #26237 into master
* refs/pull/26237/head:
Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"
doc/librados: explicitly mention that the C++ API is not stable
ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
librados: add symbol versioning to the C++ API
librados: add symbol versioning to the C API
librados: revert librados3/libradoscc back to librados2
Jason Dillaman [Mon, 4 Feb 2019 21:13:45 +0000 (16:13 -0500)]
librados: add symbol versioning to the C++ API
The future goal would be to change the version for each Ceph major
release to ensure C++ applications will need to be recompiled against
the librados C++ API since we don't guarentee ABI stability.
Fixes: https://tracker.ceph.com/issues/38177 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
- Implementation of operations add/rm hosts
- Improvement of error management in Ansible Runner Service Client
- Addressed @sebastian-philipp suggestions and findings
- Remove the <role> parameter of hosts operations.
Now all the hosts are placed by default in a specific Ansible Inventory group called <orchestrator>.
Discussion on-going about to keep Host management API endpoint or not.
If hosts management is removed, further modifications will be needed to:
- Keep updated the <host inventory> in the orchestrator
- Manage hosts groups when operations are executed
- Adapted new commands (host add/rm) to use to the new <orchestrator_cli> syntax
- Improved error management
- Added return information to Add/remove host methods docstring
- Removed redundant exceptions following @sebastian-philipp suggestion
- Removed duplicated code
- Removed extra space
- Fixed unit tests
- Improved error management in launch playbook
- removed unused param in docstring (orchestrator.py)
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Kefu Chai [Thu, 21 Feb 2019 04:41:01 +0000 (12:41 +0800)]
cmake: find_package(RabbitMQ) instead of just checking its header
rabbitmq-c is not a header-only library. so we need to ensure that the
library is also around before linking against it. in this change:
* move the detection down to where librabbitmq is used
* add FindRabbitMQ.cmake for find_package(RabbitMQ)
* s/rabbitmq/RabbitMQ::RabbitMQ/ as the latter is an alias library
target, which has more information attached to it.
LiuPeng [Wed, 20 Feb 2019 02:39:00 +0000 (10:39 +0800)]
msg/async/rdma: parse IBSYNMsg.lid as hex when receiving message
function send_msg encode struct IBSYNMsg to a string, and recv_msg parse the string.
In the function send_msg, im.lid (unsigned short int) is formatted into a string with format string %04x,
so, recv_msg should read im.lid from the string with format string %hx instead of %hu (unsigned short).
Fixes: https://tracker.ceph.com/issues/38391 Signed-off-by: Peng Liu <liupeng37@baidu.com>
Jason Dillaman [Sun, 3 Feb 2019 16:28:37 +0000 (11:28 -0500)]
librados: revert librados3/libradoscc back to librados2
For backwards compatibility and upgrade reasons, the librados2
API needs to be preserved and it needs to continue to be compatible
with dependent libraries like librbd1.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Ricardo Dias [Mon, 18 Feb 2019 10:42:30 +0000 (10:42 +0000)]
msg/async: Protocol interceptor infrastructure
This interceptor infrastructure allows to control the protocol
steps by the testing code.
The test code can force the protocol to pause in a specific step,
and then it can control whether the protocol continues or if it
fails at that point.
Sage Weil [Wed, 20 Feb 2019 13:16:12 +0000 (07:16 -0600)]
Merge PR #26484 into master
* refs/pull/26484/head:
msg/async: msgr2: don't smash client cookie on reconnect
doc/msgr2: session establishment failure scenarios
msg/async: msgr2: don't smash peer_name and features on reconnect
msg/async: msgr2: added client and server cookie to protocol
Tim Serong [Wed, 20 Feb 2019 06:45:31 +0000 (17:45 +1100)]
src/tools: only build dedup tool if WITH_TESTS is set
We need to only build the dedup tool if WITH_TESTS is set.
Otherwise, when building an RPM *without* tests enabled, the build
will fail with "error: Installed (but unpackaged) file(s) found:
/usr/bin/cephdeduptool".