Obtain the local IP of the client and save the nonce provided when the messenger was created. This is required for RBD lock/unlock
Fix script error in RBD concurrent test
Reset did_bind during messenger shutdown
Signed-off-by: Raju Kurunkad <raju.kurunkad@sandisk.com>
The timeline is a useful reference and the reader should not have to
scroll down to see it. Move the release cycle after the timeline.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
The deep-flatten feature bit is incorrectly used to determine
whether to set the object map to clean. It should use the
fast-diff feature bit.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Long-running processes that do not reuse a single client connection will
see accumulating file descriptors as a result of not closing the
listening socket. In this case, eventually the system will reach
file-max and subsequent connections will fail.
Fixes: #11535
Signed-off-by: Jon Bernard <jbernard@tuxion.com>
It is not uncommon for pip install to timeout with:
Cannot fetch index base URL https://pypi.python.org/simple
because the default timeout is 15 seconds. When running from a CI, it
translates into bursts of false negatives when the network is saturated.
Increase the timeout to 10 minutes which is hopefully large enough to
only happen when there is a serious network problem.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Instead of silently leaving the daemons running, it returns failure so
the caller can decide what to do with this situation. The timeout is
also extended to minutes instead of seconds to gracefully handle the
rare situations when a machine is extra slow for some reason.
http://tracker.ceph.com/issues/11398Fixes: #11398
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Now that pre-installing pip dependencies is done at the end of the
script, the last command to run is no longer the installation
command. Therefore the status of the script is no longer the status of
the install command and no longer reflect success or failure to install
the dependencies. Add explicit || exit 1 to commands that are to be
treated as fatal errors.
Also set -e so that another error has a better chance to be caught.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Because it may not have permission to when running in a container and
scripts run from source are not expected to modify anything outside of
the source tree anyway.
Signed-off-by: Loic Dachary <loic@dachary.org>
Detected during an fsx run where a refresh and CoR were occurring
concurrently. The refresh held the snap_lock and was waiting on
the object_map_lock, while the CoR held object_map_lock and was
waiting for snap_lock.
Fixes: #11577
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
When running tests in parallel with make -jX, the ulimit -u (number of
processor / thread per user) needs to be at least X * 1024. If not it
will fail in mysterious ways. Since there is no convenient way to figure
out the value of X ( see
http://blog.jgc.org/2015/03/gnu-make-insanity-finding-value-of-j.html
for a non trivial an entertaining solution) add a very conservative
check that assumes the user will run make -jX where X is nproc / 2.
It will be annoying for users who want to run make check, not use -j,
and have a low ulimit -u. But the error suggest a way to override this
with
make CHECK_ULIMIT=false check
This is a minor irritation compared to the puzzling behavior of make
check when ulimit is exceeded.
http://tracker.ceph.com/issues/11532Fixes: #11532
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Previously, on an error such as a pool not existing,
the caller doing the check would error out, but
anyone waiting on waiting_for_pool_perm would
block indefinitely (symptom was that reads on a
file with a bogus layout would block forever).
Fix by triggering the wait list on errors and
clear the CHECKING state so that the other callers
also perform the check and find the error.
Additionally, don't return the RADOS error code
up to filesystem users, because it can be
misleading. For example, nonexistent pool is
ENOENT, but we shouldn't give ENOENT on IO
to a file which does exist, we should give EIO.
Signed-off-by: John Spray <john.spray@redhat.com>