import argparse
import contextlib
import logging
-import httplib
+import time
import tempfile
-from urlparse import urlparse
import json
import os
-from cStringIO import StringIO
+from io import BytesIO
from teuthology.orchestra.remote import Remote
import pprint
from teuthology.packaging import install_package
from teuthology.packaging import remove_package
from teuthology.exceptions import ConfigError
-from util import get_remote_for_role
+from tasks.util import get_remote_for_role
log = logging.getLogger(__name__)
def run_in_pykmip_venv(ctx, client, args, **kwargs):
return run_in_pykmip_dir(ctx, client,
- args = ['.', '.pykmipenv/bin/activate'.format(get_pykmip_dir(ctx)),
+ args = ['.', '.pykmipenv/bin/activate',
run.Raw('&&')
] + args, **kwargs)
# use bindep to read which dependencies we need from temp/bindep.txt
fd, local_temp_path = tempfile.mkstemp(suffix='.txt',
prefix='bindep-')
- os.write(fd, _bindep_txt)
+ os.write(fd, _bindep_txt.encode())
os.close(fd)
fd, remote_temp_path = tempfile.mkstemp(suffix='.txt',
prefix='bindep-')
run_in_pykmip_venv(ctx, remote, ['pip', 'install', 'bindep'])
r = run_in_pykmip_venv(ctx, remote,
['bindep', '--brief', '--file', remote_temp_path],
- stdout=StringIO(),
+ stdout=BytesIO(),
check_status=False) # returns 1 on success?
- packages[client] = r.stdout.getvalue().splitlines()
+ packages[client] = r.stdout.getvalue().decode().splitlines()
for dep in packages[client]:
install_package(dep, remote)
try:
pykmipdir = get_pykmip_dir(ctx)
kmip_conf = _pykmip_configuration.format(
ipaddr=pykmip_ipaddr,
- port=pykmip_port,
- confdir=pykmipdir,
- hostname=pykmip_hostname,
- clientca=clientca,
- serverkey=serverkey,
- servercert=servercert
+ port=pykmip_port,
+ confdir=pykmipdir,
+ hostname=pykmip_hostname,
+ clientca=clientca,
+ serverkey=serverkey,
+ servercert=servercert
)
fd, local_temp_path = tempfile.mkstemp(suffix='.conf',
prefix='pykmip')
- os.write(fd, kmip_conf)
+ os.write(fd, kmip_conf.encode())
os.close(fd)
remote.put_file(local_temp_path, pykmipdir+'/pykmip.conf')
os.remove(local_temp_path)
Configure pykmip paste-api and pykmip-api.
"""
assert isinstance(config, dict)
- (cclient, cconfig) = config.items()[0]
+ (cclient, cconfig) = next(iter(config.items()))
copy_policy_json(ctx, cclient, cconfig)
create_pykmip_conf(ctx, cclient, cconfig)
finally:
return
assert isinstance(config, dict)
- (cclient, cconfig) = config.items()[0]
+ (cclient, cconfig) = next(iter(config.items()))
rgw_user = cconfig['rgw_user']