Previously this was remounting in the background
which meant that if a workunit was executed immediately
afterwards it could put files in the mount dir before
the FS was mounted, causing the mount to fail.
Signed-off-by: John Spray <john.spray@redhat.com>
This failure to delete used to be hidden in
a catch-all exception handler that was
removed in 396dc073.
This was causing failures in kcephfs suite
like:
Command failed on plana96 with status 1: 'rm -rf -- /home/ubuntu/cephtest/mnt.0/client.0'
Signed-off-by: John Spray <john.spray@redhat.com>
This was always trying to remove the mountpoint,
and then swallowing the exception and printing
it to the log.
Instead:
* Ensure it's only trying to delete mnt if it created it
* Don't swallow those exceptions: if deleting the dirs
fails then something has gone wrong and it should bubble
up.
Signed-off-by: John Spray <john.spray@redhat.com>
This enables tasks like mds_journal_migration to be
run in an environment with standby-replay MDSs present.
Signed-off-by: John Spray <john.spray@redhat.com>
Since refactoring ceph_fuse and kclient tasks
to store Mount objects on ctx, the mds_journal_migration
task can use those instead of explicitly instantiating its own.
Signed-off-by: John Spray <john.spray@redhat.com>
No need to install ceph just to get daemon-helper, adjust-ulimits, etc..
These utilities are used by lots of tasks, not just ceph.
Signed-off-by: Sage Weil <sage@redhat.com>
The old fetch_branch() wasn't behaving properly with the ceph.com git
mirror. This method works with github.com and ceph.com. Add a couple
unit tests, and leave the old fetch_branch() in place for now, even
though nothing uses it.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
This was working for OSDs and for my config
where MDS happened to have numeric ID, but
in general service IDs are strings, not ints.
Signed-off-by: John Spray <john.spray@redhat.com>
Pass explicit client ID list to ceph_fuse context so
that it doesn't try to mount all clients in the config,
in case there are other clients.
Also allow configuration to specify which client
this task should use.
Signed-off-by: John Spray <john.spray@redhat.com>
Additionally make both kclient and ceph_fuse
tasks yield a collection of CephFSMount
objects so that subsequent tasks can
retrieve them.
Signed-off-by: John Spray <john.spray@redhat.com>
Part of this is also about failing sooner, and not allowing invalid
configurations to enter the queue. This commit also fixes an obscure bug
in substitute_placeholders(). Finally, it adds unit tests for all bugs
fixed.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
The reason for this is that last-in-suite jobs don't have suite_branch
or branch set. We just want to use master for those.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>