salt: load ceph modules at function scope

This is what already happened until the timeout
stuff in 58242677e.  Imports were moved up to
module scope for defining exception classes, result
was that whole module needed reloading on transition
from ceph not installed to ceph installed.

Revert to importing at function scope, and make our
exceptions not inherit from rados.Error so that they
don't care.

Fixes: #8566

Signed-off-by: John Spray <john.spray@redhat.com>
Merge pull request #138 from ceph/wip-8566-jcs

Wip 8566 jcs
tests: Fix to not alter the default pools

Signed-off-by: Gregory Meno <gregory.meno@inktank.com>
(cherry picked from commit 8bf6eebdc95d1fa89e3edab84b5f6953bae3f082)
calamari_web: improve static file serving

* Remove the login_required on serving static files, the UI
  handles the case where it's loaded without authentication.
* Less repetition in setting up the URLs, just have a list of paths
  to serve (but still with the special case for dashboard :-/)
* Give a helpful message when UI files are not found, to reduce
  the "why is it saying /login/ not found?" queries.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 6faec13a9022f926257ab09d9a096faf9465158d)
Vagrantfiles: don't run highstate when bringing up

Signed-off-by: Dan Mick <dan.mick@inktank.com>
RHEL repo certificates may be readonly-root; work around with sudo

This means the build will sudo, which could cause problems for automation
if the build user doesn't have passwordless sudo set up.  We do, at
the moment, but other users may want to beware.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
First try

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Switch requirements based on ${pyver} rather than $(FLAVOR)

The one real difference, importlib, depends on the Python version,
but we have that handy already in the shell snippet; use it.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Use EPEL version of salt now that it exists

Signed-off-by: Dan Mick <dan.mick@inktank.com>