From: Casey Bodley Date: Thu, 5 Sep 2019 18:06:45 +0000 (-0400) Subject: qa/keystone: pip install bindep X-Git-Tag: v15.1.0~1525^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2144fd8cc7f156264aff958c54c5e35d0e65757c;p=ceph.git qa/keystone: pip install bindep Signed-off-by: Casey Bodley --- diff --git a/qa/tasks/keystone.py b/qa/tasks/keystone.py index 116a20bf21f..f7f0872e697 100644 --- a/qa/tasks/keystone.py +++ b/qa/tasks/keystone.py @@ -26,6 +26,15 @@ def run_in_keystone_dir(ctx, client, args, **kwargs): **kwargs ) +def get_toxvenv_dir(ctx): + return ctx.tox.venv_path + +def run_in_tox_venv(ctx, remote, args, **kwargs): + return remote.run( + args=[ 'source', '{}/bin/activate'.format(get_toxvenv_dir(ctx)), run.Raw('&&') ] + args, + **kwargs + ) + def run_in_keystone_venv(ctx, client, args): run_in_keystone_dir(ctx, client, [ 'source', @@ -37,9 +46,6 @@ def get_keystone_venved_cmd(ctx, cmd, args): kbindir = get_keystone_dir(ctx) + '/.tox/venv/bin/' return [ kbindir + 'python', kbindir + cmd ] + args -def get_toxvenv_dir(ctx): - return ctx.tox.venv_path - @contextlib.contextmanager def download(ctx, config): """ @@ -100,10 +106,14 @@ def install_packages(ctx, config): packages = {} for (client, _) in config.items(): + (remote,) = ctx.cluster.only(client).remotes.iterkeys() # use bindep to read which dependencies we need from keystone/bindep.txt - r = run_in_keystone_dir(ctx, client, ['bindep', '-c'], stdout=StringIO()) + run_in_tox_venv(ctx, remote, ['pip', 'install', 'bindep']) + r = run_in_tox_venv(ctx, remote, + ['bindep', '--brief', '--file', '{}/bindep.txt'.format(get_keystone_dir(ctx))], + stdout=StringIO(), + check_status=False) # returns 1 on success? packages[client] = r.stdout.getvalue().splitlines() - (remote,) = ctx.cluster.only(client).remotes.iterkeys() for dep in packages[client]: install_package(dep, remote) try: