diff options
Diffstat (limited to '')
-rw-r--r-- | awx/lib/awx_display_callback/events.py | 3 | ||||
-rw-r--r-- | awx/main/expect/isolated_manager.py | 4 | ||||
-rw-r--r-- | awx/main/management/commands/generate_isolated_key.py | 5 | ||||
-rw-r--r-- | tools/docker-isolated/Dockerfile | 7 |
4 files changed, 11 insertions, 8 deletions
diff --git a/awx/lib/awx_display_callback/events.py b/awx/lib/awx_display_callback/events.py index 329db14877..178da75a97 100644 --- a/awx/lib/awx_display_callback/events.py +++ b/awx/lib/awx_display_callback/events.py @@ -54,9 +54,8 @@ class IsolatedFileWrite: filename = '{}-partial.json'.format(event_uuid) dropoff_location = os.path.join(self.private_data_dir, 'artifacts', 'job_events', filename) write_location = '.'.join([dropoff_location, 'tmp']) - partial_data = json.dumps(value) with os.fdopen(os.open(write_location, os.O_WRONLY | os.O_CREAT, stat.S_IRUSR | stat.S_IWUSR), 'w') as f: - f.write(partial_data) + f.write(value) os.rename(write_location, dropoff_location) diff --git a/awx/main/expect/isolated_manager.py b/awx/main/expect/isolated_manager.py index 9aee4703db..42a5c8a29c 100644 --- a/awx/main/expect/isolated_manager.py +++ b/awx/main/expect/isolated_manager.py @@ -324,7 +324,7 @@ class IsolatedManager(object): path = self.path_to('artifacts', 'stdout') if os.path.exists(path): - with open(path, 'r') as f: + with codecs.open(path, 'r', encoding='utf-8') as f: f.seek(seek) for line in f: self.stdout_handle.write(line) @@ -419,7 +419,7 @@ class IsolatedManager(object): env['ANSIBLE_CACHE_PLUGIN'] = 'jsonfile' env['ANSIBLE_CACHE_PLUGIN_CONNECTION'] = facts_path - buff = StringIO.StringIO() + buff = StringIO() timeout = max(60, 2 * settings.AWX_ISOLATED_CONNECTION_TIMEOUT) status, rc = IsolatedManager.run_pexpect( args, cls.awx_playbook_path(), env, buff, diff --git a/awx/main/management/commands/generate_isolated_key.py b/awx/main/management/commands/generate_isolated_key.py index 00c020a9a7..e2b06bd21e 100644 --- a/awx/main/management/commands/generate_isolated_key.py +++ b/awx/main/management/commands/generate_isolated_key.py @@ -1,6 +1,7 @@ # Copyright (c) 2015 Ansible, Inc. # All Rights Reserved import datetime +from django.utils.encoding import smart_str from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization @@ -35,10 +36,10 @@ class Command(BaseCommand): ).save() pemfile = Setting.objects.create( key='AWX_ISOLATED_PUBLIC_KEY', - value=key.public_key().public_bytes( + value=smart_str(key.public_key().public_bytes( encoding=serialization.Encoding.OpenSSH, format=serialization.PublicFormat.OpenSSH - ) + " generated-by-awx@%s" % datetime.datetime.utcnow().isoformat() + )) + " generated-by-awx@%s" % datetime.datetime.utcnow().isoformat() ) pemfile.save() print(pemfile.value) diff --git a/tools/docker-isolated/Dockerfile b/tools/docker-isolated/Dockerfile index 4e65a48f95..072915e3b8 100644 --- a/tools/docker-isolated/Dockerfile +++ b/tools/docker-isolated/Dockerfile @@ -5,8 +5,11 @@ ADD Makefile /tmp/Makefile RUN mkdir /tmp/requirements ADD requirements/requirements_ansible.txt requirements/requirements_ansible_git.txt requirements/requirements_ansible_uninstall.txt requirements/requirements_isolated.txt /tmp/requirements/ RUN yum -y update && yum -y install curl epel-release -RUN yum -y update && yum -y install openssh-server ansible mg vim tmux git python-devel python-psycopg2 make python-psutil libxml2-devel libxslt-devel libstdc++.so.6 gcc cyrus-sasl-devel cyrus-sasl openldap-devel libffi-devel zeromq-devel python-pip xmlsec1-devel swig krb5-devel xmlsec1-openssl xmlsec1 xmlsec1-openssl-devel libtool-ltdl-devel bubblewrap zanata-python-client gettext gcc-c++ libcurl-devel python-pycurl bzip2 -RUN pip install virtualenv +RUN yum -y update && yum -y install openssh-server ansible mg vim tmux git python-devel python36 python36-devel python-psycopg2 make python-psutil libxml2-devel libxslt-devel libstdc++.so.6 gcc cyrus-sasl-devel cyrus-sasl openldap-devel libffi-devel zeromq-devel python-pip xmlsec1-devel swig krb5-devel xmlsec1-openssl xmlsec1 xmlsec1-openssl-devel libtool-ltdl-devel bubblewrap zanata-python-client gettext gcc-c++ libcurl-devel python-pycurl bzip2 + +RUN ln -s /usr/bin/python36 /usr/bin/python3 +RUN python36 -m ensurepip +RUN pip3 install virtualenv WORKDIR /tmp RUN make requirements_ansible RUN make requirements_isolated |