diff --git a/awx/main/tasks.py b/awx/main/tasks.py index 93ab6ccd81..d3ce8f155f 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -3069,6 +3069,9 @@ class AWXReceptorJob: execution_environment_params = self.task.build_execution_environment_params(self.task.instance, runner_params['private_data_dir']) self.runner_params.update(execution_environment_params) + if not settings.IS_K8S and self.work_type == 'local' and 'only_transmit_kwargs' not in self.runner_params: + self.runner_params['only_transmit_kwargs'] = True + def run(self): # We establish a connection to the Receptor socket receptor_ctl = get_receptor_ctl() @@ -3193,9 +3196,6 @@ class AWXReceptorJob: # write our payload to the left side of our socketpair. @cleanup_new_process def transmit(self, _socket): - if not settings.IS_K8S and self.work_type == 'local' and 'only_transmit_kwargs' not in self.runner_params: - self.runner_params['only_transmit_kwargs'] = True - try: ansible_runner.interface.run(streamer='transmit', _output=_socket.makefile('wb'), **self.runner_params) finally: diff --git a/awx/ui/package-lock.json b/awx/ui/package-lock.json index b08e1f5c1e..282573727b 100644 --- a/awx/ui/package-lock.json +++ b/awx/ui/package-lock.json @@ -18,7 +18,7 @@ "d3": "7.1.1", "dagre": "^0.8.4", "formik": "2.2.9", - "has-ansi": "4.0.0", + "has-ansi": "5.0.1", "html-entities": "2.3.2", "js-yaml": "^3.13.1", "luxon": "^2.0.1", @@ -3764,11 +3764,14 @@ } }, "node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { @@ -10695,14 +10698,17 @@ } }, "node_modules/has-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.0.tgz", - "integrity": "sha512-VvDupLMvFX9yyed3h1DajPUYQZv82EL2h9I9Jy0ays9gYRJ30hbmGapTiam5cISr42ZCuC3nRgyVBM/YZbpi9A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-5.0.1.tgz", + "integrity": "sha512-Fp2IsZDnnyoJkKg22ZyQFvD7QRCcMTsLAtloKXyXWJ1joGLtItRU9Bv/k1o0tELL2NF3ZZBcycSKryZUM+Yl3g==", "dependencies": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/has-ansi?sponsor=1" } }, "node_modules/has-bigints": { @@ -29384,9 +29390,9 @@ "dev": true }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "ansi-styles": { "version": "3.2.1", @@ -35224,11 +35230,11 @@ } }, "has-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.0.tgz", - "integrity": "sha512-VvDupLMvFX9yyed3h1DajPUYQZv82EL2h9I9Jy0ays9gYRJ30hbmGapTiam5cISr42ZCuC3nRgyVBM/YZbpi9A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-5.0.1.tgz", + "integrity": "sha512-Fp2IsZDnnyoJkKg22ZyQFvD7QRCcMTsLAtloKXyXWJ1joGLtItRU9Bv/k1o0tELL2NF3ZZBcycSKryZUM+Yl3g==", "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^6.0.1" } }, "has-bigints": { diff --git a/awx/ui/package.json b/awx/ui/package.json index 4fa3bac6fe..e81dde9703 100644 --- a/awx/ui/package.json +++ b/awx/ui/package.json @@ -18,7 +18,7 @@ "d3": "7.1.1", "dagre": "^0.8.4", "formik": "2.2.9", - "has-ansi": "4.0.0", + "has-ansi": "5.0.1", "html-entities": "2.3.2", "js-yaml": "^3.13.1", "luxon": "^2.0.1", @@ -103,7 +103,8 @@ "index.js" ], "transformIgnorePatterns": [ - "/node_modules/(?!d3)/" + "/node_modules/(?!d3)/", + "/node_modules/(?!has-ansi)/" ] } } diff --git a/requirements/requirements.in b/requirements/requirements.in index 79e76250a7..cc8e2941c7 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -1,4 +1,5 @@ aiohttp +ansible-runner==2.1.1 ansiconv==1.0.0 # UPGRADE BLOCKER: from 2013, consider replacing instead of upgrading asciichartpy autobahn>=20.12.3 # CVE-2020-35678 @@ -45,6 +46,7 @@ python-dsv-sdk python-tss-sdk==1.0.0 python-ldap>=3.3.1 # https://github.com/python-ldap/python-ldap/issues/270 pyyaml>=5.4.1 # minimum to fix https://github.com/yaml/pyyaml/issues/478 +receptorctl==1.1.1 schedule==0.6.0 social-auth-core==3.3.1 # see UPGRADE BLOCKERs social-auth-app-django==3.1.0 # see UPGRADE BLOCKERs @@ -59,7 +61,3 @@ uwsgitop wheel pip==21.2.4 # see UPGRADE BLOCKERs setuptools==58.2.0 # see UPGRADE BLOCKERs - -# Temporarily added to use ansible-runner from git branch, to be removed -# when ansible-runner moves from requirements_git.txt to here -pbr diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 63b945ec2f..6d84bbfc55 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -4,7 +4,8 @@ aiohttp==3.6.2 # via -r /awx_devel/requirements/requirements.in aioredis==1.3.1 # via channels-redis - # via -r /awx_devel/requirements/requirements_git.txt +ansible-runner==2.1.1 + # via -r /awx_devel/requirements/requirements.in ansiconv==1.0.0 # via -r /awx_devel/requirements/requirements.in asciichartpy==1.5.25 @@ -224,8 +225,6 @@ oauthlib==3.1.0 # social-auth-core openshift==0.11.0 # via -r /awx_devel/requirements/requirements.in -pbr==5.6.0 - # via -r /awx_devel/requirements/requirements.in pexpect==4.7.0 # via # -r /awx_devel/requirements/requirements.in @@ -304,7 +303,8 @@ pyyaml==5.4.1 # djangorestframework-yaml # kubernetes # receptorctl - # via -r /awx_devel/requirements/requirements_git.txt +receptorctl==1.1.1 + # via -r /awx_devel/requirements/requirements.in redis==3.4.1 # via # -r /awx_devel/requirements/requirements.in diff --git a/requirements/requirements_git.txt b/requirements/requirements_git.txt index 13c5dd6bff..340cbfdcc7 100644 --- a/requirements/requirements_git.txt +++ b/requirements/requirements_git.txt @@ -1,4 +1 @@ git+https://github.com/ansible/system-certifi.git@devel#egg=certifi -# Remove pbr from requirements.in when moving ansible-runner to requirements.in -git+https://github.com/ansible/ansible-runner.git@devel#egg=ansible-runner -https://receptor-nightlies.s3.amazonaws.com/receptorctl/receptorctl-0.0.0-py3-none-any.whl diff --git a/requirements/updater.sh b/requirements/updater.sh index cca8b4a8ad..aa8f31ba70 100755 --- a/requirements/updater.sh +++ b/requirements/updater.sh @@ -23,8 +23,9 @@ generate_requirements() { ${pip_compile} --output-file requirements.txt "${requirements_in}" "${requirements_git}" # consider the git requirements for purposes of resolving deps # Then remove any git+ lines from requirements.txt - cp requirements.txt requirements_tmp.txt - grep -v "^git+" requirements_tmp.txt > requirements.txt && rm requirements_tmp.txt + while IFS= read -r line; do + sed -i "\!${line%#*}!d" requirements.txt + done < "${requirements_git}" } main() {