def get_keystone_venved_cmd(ctx, cmd, args, env=[]):
kbindir = get_keystone_dir(ctx) + '/.tox/venv/bin/'
- return env + [ kbindir + 'python', kbindir + cmd ] + args
+ return env + [ kbindir + cmd ] + args
@contextlib.contextmanager
def download(ctx, config):
run_in_keystone_venv(ctx, client,
[ 'pip', 'install',
- 'python-openstackclient==5.2.1',
- 'osc-lib==2.0.0'
- ])
+ 'python-openstackclient', 'uwsgi',
+ ])
try:
yield
finally:
client_public_with_id = 'keystone.public' + '.' + client_id
public_host, public_port = ctx.keystone.public_endpoints[client]
- run_cmd = get_keystone_venved_cmd(ctx, 'keystone-wsgi-public',
- [ '--host', public_host, '--port', str(public_port),
+ run_cmd = get_keystone_venved_cmd(ctx, 'uwsgi',
+ [
+ '--http-socket', f"{public_host}:{public_port}",
+ '--module', 'keystone.wsgi.api:application',
# Let's put the Keystone in background, wait for EOF
# and after receiving it, send SIGTERM to the daemon.
# This crazy hack is because Keystone, in contrast to