From b26eaa3bd29288af7ddd1d743a0be81ff16060e9 Mon Sep 17 00:00:00 2001 From: Alan Rominger Date: Fri, 4 Jun 2021 10:09:39 -0400 Subject: [PATCH] Remove uses of ansible_virtualenv_path --- awx/main/models/inventory.py | 10 ----- awx/main/models/jobs.py | 12 ------ awx/main/tasks.py | 4 -- awx/main/tests/functional/models/test_job.py | 38 ------------------- .../tests/unit/models/test_survey_models.py | 1 - awx/main/tests/unit/test_tasks.py | 4 -- 6 files changed, 69 deletions(-) diff --git a/awx/main/models/inventory.py b/awx/main/models/inventory.py index 2325e1d34c..89a6cb1ad7 100644 --- a/awx/main/models/inventory.py +++ b/awx/main/models/inventory.py @@ -1308,16 +1308,6 @@ class InventoryUpdate(UnifiedJob, InventorySourceOptions, JobNotificationMixin, return self.global_instance_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): res = super(InventoryUpdate, self).cancel(job_explanation=job_explanation, is_chain=is_chain) if res: diff --git a/awx/main/models/jobs.py b/awx/main/models/jobs.py index 38d7ebd805..0bdd61a397 100644 --- a/awx/main/models/jobs.py +++ b/awx/main/models/jobs.py @@ -600,18 +600,6 @@ class Job(UnifiedJob, JobOptions, SurveyJobMixin, JobNotificationMixin, TaskMana def get_ui_url(self): 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 def event_class(self): if self.has_unpartitioned_events: diff --git a/awx/main/tasks.py b/awx/main/tasks.py index f2bbbe78de..317c3d6111 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -1262,10 +1262,6 @@ class BaseTask(object): 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) - # 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 # where ansible expects to find it if getattr(self.instance, 'use_fact_cache', False): diff --git a/awx/main/tests/functional/models/test_job.py b/awx/main/tests/functional/models/test_job.py index 1ba79fee7c..7e1ca0b1be 100644 --- a/awx/main/tests/functional/models/test_job.py +++ b/awx/main/tests/functional/models/test_job.py @@ -3,14 +3,6 @@ import pytest 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 def test_prevent_slicing(): jt = JobTemplate.objects.create(name='foo', job_slice_count=4) @@ -20,36 +12,6 @@ def test_prevent_slicing(): 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 def test_job_host_summary_representation(host): job = Job.objects.create(name='foo') diff --git a/awx/main/tests/unit/models/test_survey_models.py b/awx/main/tests/unit/models/test_survey_models.py index 81aa74d911..c3c9a8723f 100644 --- a/awx/main/tests/unit/models/test_survey_models.py +++ b/awx/main/tests/unit/models/test_survey_models.py @@ -75,7 +75,6 @@ def job(mocker): 'launch_type': 'manual', 'verbosity': 1, 'awx_meta_vars.return_value': {}, - 'ansible_virtualenv_path': '', 'inventory.get_script_data.return_value': {}, } ) diff --git a/awx/main/tests/unit/test_tasks.py b/awx/main/tests/unit/test_tasks.py index 2ec44b3c1e..4bb1e33c10 100644 --- a/awx/main/tests/unit/test_tasks.py +++ b/awx/main/tests/unit/test_tasks.py @@ -187,7 +187,6 @@ def test_openstack_client_config_generation(mocker, source, expected, private_da 'source_vars_dict': {}, 'get_cloud_credential': mocker.Mock(return_value=credential), 'get_extra_credentials': lambda x: [], - 'ansible_virtualenv_path': '/var/lib/awx/venv/foo', } ) 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': {}, 'get_cloud_credential': mocker.Mock(return_value=credential), 'get_extra_credentials': lambda x: [], - 'ansible_virtualenv_path': '/var/lib/awx/venv/foo', } ) 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': {}, 'get_cloud_credential': mocker.Mock(return_value=credential), 'get_extra_credentials': lambda x: [], - 'ansible_virtualenv_path': '/venv/foo', } ) 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}, 'get_cloud_credential': mocker.Mock(return_value=credential), 'get_extra_credentials': lambda x: [], - 'ansible_virtualenv_path': '/var/lib/awx/venv/foo', } ) cloud_config = update.build_private_data(inventory_update, private_data_dir)