mirror of
https://github.com/ansible/awx.git
synced 2026-02-23 22:16:00 -03:30
remove ANSIBLE_USE_VENV and TOWER_USE_VENV
modern Tower deployments (both production and dev container-based) always build ansible and Tower in separate, distinct virtualenvs, not the global site-packages
This commit is contained in:
@@ -80,17 +80,15 @@ class AnsibleInventoryLoader(object):
|
|||||||
self.is_vendored_source = True
|
self.is_vendored_source = True
|
||||||
|
|
||||||
def build_env(self):
|
def build_env(self):
|
||||||
# Use ansible venv if it's available and setup to use
|
|
||||||
env = dict(os.environ.items())
|
env = dict(os.environ.items())
|
||||||
if settings.ANSIBLE_USE_VENV:
|
env['VIRTUAL_ENV'] = settings.ANSIBLE_VENV_PATH
|
||||||
env['VIRTUAL_ENV'] = settings.ANSIBLE_VENV_PATH
|
env['PATH'] = os.path.join(settings.ANSIBLE_VENV_PATH, "bin") + ":" + env['PATH']
|
||||||
env['PATH'] = os.path.join(settings.ANSIBLE_VENV_PATH, "bin") + ":" + env['PATH']
|
venv_libdir = os.path.join(settings.ANSIBLE_VENV_PATH, "lib")
|
||||||
venv_libdir = os.path.join(settings.ANSIBLE_VENV_PATH, "lib")
|
env.pop('PYTHONPATH', None) # default to none if no python_ver matches
|
||||||
env.pop('PYTHONPATH', None) # default to none if no python_ver matches
|
for python_ver in ["python2.7", "python2.6"]:
|
||||||
for python_ver in ["python2.7", "python2.6"]:
|
if os.path.isdir(os.path.join(venv_libdir, python_ver)):
|
||||||
if os.path.isdir(os.path.join(venv_libdir, python_ver)):
|
env['PYTHONPATH'] = os.path.join(venv_libdir, python_ver, "site-packages") + ":"
|
||||||
env['PYTHONPATH'] = os.path.join(venv_libdir, python_ver, "site-packages") + ":"
|
break
|
||||||
break
|
|
||||||
return env
|
return env
|
||||||
|
|
||||||
def get_base_args(self):
|
def get_base_args(self):
|
||||||
|
|||||||
@@ -467,24 +467,22 @@ class BaseTask(Task):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def add_ansible_venv(self, env, add_tower_lib=True):
|
def add_ansible_venv(self, env, add_tower_lib=True):
|
||||||
if settings.ANSIBLE_USE_VENV:
|
env['VIRTUAL_ENV'] = settings.ANSIBLE_VENV_PATH
|
||||||
env['VIRTUAL_ENV'] = settings.ANSIBLE_VENV_PATH
|
env['PATH'] = os.path.join(settings.ANSIBLE_VENV_PATH, "bin") + ":" + env['PATH']
|
||||||
env['PATH'] = os.path.join(settings.ANSIBLE_VENV_PATH, "bin") + ":" + env['PATH']
|
venv_libdir = os.path.join(settings.ANSIBLE_VENV_PATH, "lib")
|
||||||
venv_libdir = os.path.join(settings.ANSIBLE_VENV_PATH, "lib")
|
env.pop('PYTHONPATH', None) # default to none if no python_ver matches
|
||||||
env.pop('PYTHONPATH', None) # default to none if no python_ver matches
|
for python_ver in ["python2.7", "python2.6"]:
|
||||||
for python_ver in ["python2.7", "python2.6"]:
|
if os.path.isdir(os.path.join(venv_libdir, python_ver)):
|
||||||
if os.path.isdir(os.path.join(venv_libdir, python_ver)):
|
env['PYTHONPATH'] = os.path.join(venv_libdir, python_ver, "site-packages") + ":"
|
||||||
env['PYTHONPATH'] = os.path.join(venv_libdir, python_ver, "site-packages") + ":"
|
break
|
||||||
break
|
|
||||||
# Add awx/lib to PYTHONPATH.
|
# Add awx/lib to PYTHONPATH.
|
||||||
if add_tower_lib:
|
if add_tower_lib:
|
||||||
env['PYTHONPATH'] = env.get('PYTHONPATH', '') + self.get_path_to('..', 'lib') + ':'
|
env['PYTHONPATH'] = env.get('PYTHONPATH', '') + self.get_path_to('..', 'lib') + ':'
|
||||||
return env
|
return env
|
||||||
|
|
||||||
def add_tower_venv(self, env):
|
def add_tower_venv(self, env):
|
||||||
if settings.TOWER_USE_VENV:
|
env['VIRTUAL_ENV'] = settings.TOWER_VENV_PATH
|
||||||
env['VIRTUAL_ENV'] = settings.TOWER_VENV_PATH
|
env['PATH'] = os.path.join(settings.TOWER_VENV_PATH, "bin") + ":" + env['PATH']
|
||||||
env['PATH'] = os.path.join(settings.TOWER_VENV_PATH, "bin") + ":" + env['PATH']
|
|
||||||
return env
|
return env
|
||||||
|
|
||||||
def build_env(self, instance, **kwargs):
|
def build_env(self, instance, **kwargs):
|
||||||
|
|||||||
@@ -641,10 +641,7 @@ def wrap_args_with_proot(args, cwd, **kwargs):
|
|||||||
show_paths = [cwd, kwargs['private_data_dir']]
|
show_paths = [cwd, kwargs['private_data_dir']]
|
||||||
else:
|
else:
|
||||||
show_paths = [cwd]
|
show_paths = [cwd]
|
||||||
if settings.ANSIBLE_USE_VENV:
|
show_paths.extend([settings.ANSIBLE_VENV_PATH, settings.TOWER_VENV_PATH])
|
||||||
show_paths.append(settings.ANSIBLE_VENV_PATH)
|
|
||||||
if settings.TOWER_USE_VENV:
|
|
||||||
show_paths.append(settings.TOWER_VENV_PATH)
|
|
||||||
show_paths.extend(getattr(settings, 'AWX_PROOT_SHOW_PATHS', None) or [])
|
show_paths.extend(getattr(settings, 'AWX_PROOT_SHOW_PATHS', None) or [])
|
||||||
for path in sorted(set(show_paths)):
|
for path in sorted(set(show_paths)):
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
|
|||||||
@@ -98,9 +98,7 @@ for setting in dir(this_module):
|
|||||||
include(optional('/etc/tower/settings.py'), scope=locals())
|
include(optional('/etc/tower/settings.py'), scope=locals())
|
||||||
include(optional('/etc/tower/conf.d/*.py'), scope=locals())
|
include(optional('/etc/tower/conf.d/*.py'), scope=locals())
|
||||||
|
|
||||||
ANSIBLE_USE_VENV = True
|
|
||||||
ANSIBLE_VENV_PATH = "/venv/ansible"
|
ANSIBLE_VENV_PATH = "/venv/ansible"
|
||||||
TOWER_USE_VENV = True
|
|
||||||
TOWER_VENV_PATH = "/venv/tower"
|
TOWER_VENV_PATH = "/venv/tower"
|
||||||
|
|
||||||
# If any local_*.py files are present in awx/settings/, use them to override
|
# If any local_*.py files are present in awx/settings/, use them to override
|
||||||
|
|||||||
@@ -43,11 +43,9 @@ JOBOUTPUT_ROOT = '/var/lib/awx/job_status/'
|
|||||||
SCHEDULE_METADATA_LOCATION = '/var/lib/awx/.tower_cycle'
|
SCHEDULE_METADATA_LOCATION = '/var/lib/awx/.tower_cycle'
|
||||||
|
|
||||||
# Ansible base virtualenv paths and enablement
|
# Ansible base virtualenv paths and enablement
|
||||||
ANSIBLE_USE_VENV = True
|
|
||||||
ANSIBLE_VENV_PATH = "/var/lib/awx/venv/ansible"
|
ANSIBLE_VENV_PATH = "/var/lib/awx/venv/ansible"
|
||||||
|
|
||||||
# Tower base virtualenv paths and enablement
|
# Tower base virtualenv paths and enablement
|
||||||
TOWER_USE_VENV = True
|
|
||||||
TOWER_VENV_PATH = "/var/lib/awx/venv/tower"
|
TOWER_VENV_PATH = "/var/lib/awx/venv/tower"
|
||||||
|
|
||||||
AWX_ISOLATED_USERNAME = 'awx'
|
AWX_ISOLATED_USERNAME = 'awx'
|
||||||
|
|||||||
2
tox.ini
2
tox.ini
@@ -16,9 +16,7 @@ setenv =
|
|||||||
SWIG_FEATURES = -cpperraswarn -includeall -I/usr/include/openssl
|
SWIG_FEATURES = -cpperraswarn -includeall -I/usr/include/openssl
|
||||||
HOME = {homedir}
|
HOME = {homedir}
|
||||||
USERPROFILE = {homedir}
|
USERPROFILE = {homedir}
|
||||||
ANSIBLE_USE_VENV = True
|
|
||||||
ANSIBLE_VENV_PATH = {toxworkdir}
|
ANSIBLE_VENV_PATH = {toxworkdir}
|
||||||
TOWER_USE_VENV = True
|
|
||||||
TOWER_VENV_PATH = {toxworkdir}
|
TOWER_VENV_PATH = {toxworkdir}
|
||||||
SKIP_SLOW_TESTS = True
|
SKIP_SLOW_TESTS = True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user