mirror of
https://github.com/ansible/awx.git
synced 2026-05-09 02:17:37 -02:30
Remove uses of ansible_virtualenv_path
This commit is contained in:
@@ -1308,16 +1308,6 @@ class InventoryUpdate(UnifiedJob, InventorySourceOptions, JobNotificationMixin,
|
|||||||
return self.global_instance_groups
|
return self.global_instance_groups
|
||||||
return selected_groups
|
return selected_groups
|
||||||
|
|
||||||
@property
|
|
||||||
def ansible_virtualenv_path(self):
|
|
||||||
if self.inventory_source and self.inventory_source.custom_virtualenv:
|
|
||||||
return self.inventory_source.custom_virtualenv
|
|
||||||
if self.inventory_source and self.inventory_source.source_project:
|
|
||||||
project = self.inventory_source.source_project
|
|
||||||
if project and project.custom_virtualenv:
|
|
||||||
return project.custom_virtualenv
|
|
||||||
return settings.ANSIBLE_VENV_PATH
|
|
||||||
|
|
||||||
def cancel(self, job_explanation=None, is_chain=False):
|
def cancel(self, job_explanation=None, is_chain=False):
|
||||||
res = super(InventoryUpdate, self).cancel(job_explanation=job_explanation, is_chain=is_chain)
|
res = super(InventoryUpdate, self).cancel(job_explanation=job_explanation, is_chain=is_chain)
|
||||||
if res:
|
if res:
|
||||||
|
|||||||
@@ -600,18 +600,6 @@ class Job(UnifiedJob, JobOptions, SurveyJobMixin, JobNotificationMixin, TaskMana
|
|||||||
def get_ui_url(self):
|
def get_ui_url(self):
|
||||||
return urljoin(settings.TOWER_URL_BASE, "/#/jobs/playbook/{}".format(self.pk))
|
return urljoin(settings.TOWER_URL_BASE, "/#/jobs/playbook/{}".format(self.pk))
|
||||||
|
|
||||||
@property
|
|
||||||
def ansible_virtualenv_path(self):
|
|
||||||
# the order here enforces precedence (it matters)
|
|
||||||
for virtualenv in (
|
|
||||||
self.job_template.custom_virtualenv if self.job_template else None,
|
|
||||||
self.project.custom_virtualenv,
|
|
||||||
self.organization.custom_virtualenv if self.organization else None,
|
|
||||||
):
|
|
||||||
if virtualenv:
|
|
||||||
return virtualenv
|
|
||||||
return settings.ANSIBLE_VENV_PATH
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def event_class(self):
|
def event_class(self):
|
||||||
if self.has_unpartitioned_events:
|
if self.has_unpartitioned_events:
|
||||||
|
|||||||
@@ -1262,10 +1262,6 @@ class BaseTask(object):
|
|||||||
if not os.path.exists(settings.AWX_ISOLATION_BASE_PATH):
|
if not os.path.exists(settings.AWX_ISOLATION_BASE_PATH):
|
||||||
raise RuntimeError('AWX_ISOLATION_BASE_PATH=%s does not exist' % settings.AWX_ISOLATION_BASE_PATH)
|
raise RuntimeError('AWX_ISOLATION_BASE_PATH=%s does not exist' % settings.AWX_ISOLATION_BASE_PATH)
|
||||||
|
|
||||||
# store a record of the venv used at runtime
|
|
||||||
if hasattr(self.instance, 'custom_virtualenv'):
|
|
||||||
self.update_model(pk, custom_virtualenv=getattr(self.instance, 'ansible_virtualenv_path', settings.ANSIBLE_VENV_PATH))
|
|
||||||
|
|
||||||
# Fetch "cached" fact data from prior runs and put on the disk
|
# Fetch "cached" fact data from prior runs and put on the disk
|
||||||
# where ansible expects to find it
|
# where ansible expects to find it
|
||||||
if getattr(self.instance, 'use_fact_cache', False):
|
if getattr(self.instance, 'use_fact_cache', False):
|
||||||
|
|||||||
@@ -3,14 +3,6 @@ import pytest
|
|||||||
from awx.main.models import JobTemplate, Job, JobHostSummary, WorkflowJob, Inventory, Project, Organization
|
from awx.main.models import JobTemplate, Job, JobHostSummary, WorkflowJob, Inventory, Project, Organization
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
|
||||||
def test_awx_virtualenv_from_settings(inventory, project, machine_credential):
|
|
||||||
jt = JobTemplate.objects.create(name='my-jt', inventory=inventory, project=project, playbook='helloworld.yml')
|
|
||||||
jt.credentials.add(machine_credential)
|
|
||||||
job = jt.create_unified_job()
|
|
||||||
assert job.ansible_virtualenv_path == '/var/lib/awx/venv/ansible'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_prevent_slicing():
|
def test_prevent_slicing():
|
||||||
jt = JobTemplate.objects.create(name='foo', job_slice_count=4)
|
jt = JobTemplate.objects.create(name='foo', job_slice_count=4)
|
||||||
@@ -20,36 +12,6 @@ def test_prevent_slicing():
|
|||||||
assert isinstance(job, Job)
|
assert isinstance(job, Job)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
|
||||||
def test_awx_custom_virtualenv(inventory, project, machine_credential, organization):
|
|
||||||
jt = JobTemplate.objects.create(name='my-jt', inventory=inventory, project=project, playbook='helloworld.yml', organization=organization)
|
|
||||||
jt.credentials.add(machine_credential)
|
|
||||||
job = jt.create_unified_job()
|
|
||||||
|
|
||||||
job.organization.custom_virtualenv = '/var/lib/awx/venv/fancy-org'
|
|
||||||
job.organization.save()
|
|
||||||
assert job.ansible_virtualenv_path == '/var/lib/awx/venv/fancy-org'
|
|
||||||
|
|
||||||
job.project.custom_virtualenv = '/var/lib/awx/venv/fancy-proj'
|
|
||||||
job.project.save()
|
|
||||||
assert job.ansible_virtualenv_path == '/var/lib/awx/venv/fancy-proj'
|
|
||||||
|
|
||||||
job.job_template.custom_virtualenv = '/var/lib/awx/venv/fancy-jt'
|
|
||||||
job.job_template.save()
|
|
||||||
assert job.ansible_virtualenv_path == '/var/lib/awx/venv/fancy-jt'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
|
||||||
def test_awx_custom_virtualenv_without_jt(project):
|
|
||||||
project.custom_virtualenv = '/var/lib/awx/venv/fancy-proj'
|
|
||||||
project.save()
|
|
||||||
job = Job(project=project)
|
|
||||||
job.save()
|
|
||||||
|
|
||||||
job = Job.objects.get(pk=job.id)
|
|
||||||
assert job.ansible_virtualenv_path == '/var/lib/awx/venv/fancy-proj'
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_job_host_summary_representation(host):
|
def test_job_host_summary_representation(host):
|
||||||
job = Job.objects.create(name='foo')
|
job = Job.objects.create(name='foo')
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ def job(mocker):
|
|||||||
'launch_type': 'manual',
|
'launch_type': 'manual',
|
||||||
'verbosity': 1,
|
'verbosity': 1,
|
||||||
'awx_meta_vars.return_value': {},
|
'awx_meta_vars.return_value': {},
|
||||||
'ansible_virtualenv_path': '',
|
|
||||||
'inventory.get_script_data.return_value': {},
|
'inventory.get_script_data.return_value': {},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -187,7 +187,6 @@ def test_openstack_client_config_generation(mocker, source, expected, private_da
|
|||||||
'source_vars_dict': {},
|
'source_vars_dict': {},
|
||||||
'get_cloud_credential': mocker.Mock(return_value=credential),
|
'get_cloud_credential': mocker.Mock(return_value=credential),
|
||||||
'get_extra_credentials': lambda x: [],
|
'get_extra_credentials': lambda x: [],
|
||||||
'ansible_virtualenv_path': '/var/lib/awx/venv/foo',
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
||||||
@@ -229,7 +228,6 @@ def test_openstack_client_config_generation_with_project_domain_name(mocker, sou
|
|||||||
'source_vars_dict': {},
|
'source_vars_dict': {},
|
||||||
'get_cloud_credential': mocker.Mock(return_value=credential),
|
'get_cloud_credential': mocker.Mock(return_value=credential),
|
||||||
'get_extra_credentials': lambda x: [],
|
'get_extra_credentials': lambda x: [],
|
||||||
'ansible_virtualenv_path': '/var/lib/awx/venv/foo',
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
||||||
@@ -273,7 +271,6 @@ def test_openstack_client_config_generation_with_region(mocker, source, expected
|
|||||||
'source_vars_dict': {},
|
'source_vars_dict': {},
|
||||||
'get_cloud_credential': mocker.Mock(return_value=credential),
|
'get_cloud_credential': mocker.Mock(return_value=credential),
|
||||||
'get_extra_credentials': lambda x: [],
|
'get_extra_credentials': lambda x: [],
|
||||||
'ansible_virtualenv_path': '/venv/foo',
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
||||||
@@ -315,7 +312,6 @@ def test_openstack_client_config_generation_with_private_source_vars(mocker, sou
|
|||||||
'source_vars_dict': {'private': source},
|
'source_vars_dict': {'private': source},
|
||||||
'get_cloud_credential': mocker.Mock(return_value=credential),
|
'get_cloud_credential': mocker.Mock(return_value=credential),
|
||||||
'get_extra_credentials': lambda x: [],
|
'get_extra_credentials': lambda x: [],
|
||||||
'ansible_virtualenv_path': '/var/lib/awx/venv/foo',
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
cloud_config = update.build_private_data(inventory_update, private_data_dir)
|
||||||
|
|||||||
Reference in New Issue
Block a user