Repository Analysis

ansible/awx

AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.

23.3 Moderate AI signal View on GitHub
23.3
Adjusted Score
23.3
Raw Score
100%
Time Factor
2026-05-29
Last Push
15,438
Stars
Python
Language
189,499
Lines of Code
1358
Files
3681
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 30HIGH 32MEDIUM 206LOW 3413

Pattern Findings

3681 matches across 17 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers2303 hits · 2417 pts
SeverityFileLineSnippet
LOWawxkit/awxkit/ws.py146 def pending_project_update_stdout(self):
LOWawxkit/awxkit/ws.py152 def pending_inventory_update_stdout(self):
LOWawxkit/awxkit/ws.py164 def pending_system_job_events(self):
LOWawxkit/awxkit/ws.py167 def subscribe_to_pending_events(self, events, jobs=[status_changed]):
LOWawxkit/awxkit/utils/__init__.py303def set_payload_foreign_key_args(payload, fk_fields, kwargs):
LOWawxkit/awxkit/utils/__init__.py385def seconds_since_date_string(date_str, fmt='%Y-%m-%dT%H:%M:%S.%fZ', default_tz=UTC()):
LOWawxkit/awxkit/cli/format.py42def add_authentication_arguments(parser, env):
LOWawxkit/awxkit/cli/format.py83def add_formatting_import_export(parser, env):
LOWawxkit/awxkit/cli/format.py96def add_output_formatting_arguments(parser, env):
LOWawxkit/awxkit/api/mixins/has_notifications.py10 def add_notification_template(self, notification_template, endpoint="notification_templates_success"):
LOWawxkit/awxkit/api/mixins/has_notifications.py19 def remove_notification_template(self, notification_template, endpoint="notification_templates_success"):
LOWawxkit/awxkit/api/mixins/has_create.py27def optional_dependency_graph(page, *provided_dependencies):
LOWawxkit/awxkit/api/mixins/has_create.py101def all_instantiated_dependencies(*potential_parents):
LOWawxkit/awxkit/api/mixins/has_create.py250 def create_and_update_dependencies(self, *provided_and_desired_dependencies):
LOWawxkit/awxkit/api/mixins/has_instance_groups.py15 def remove_all_instance_groups(self):
LOWawxkit/awxkit/api/pages/credentials.py106def kind_and_config_cred_from_credential_type(credential_type):
LOWawxkit/awxkit/api/pages/credentials.py127def get_payload_field_and_value_from_kwargs_or_config_cred(field, kind, kwargs, config_cred):
LOWawxkit/awxkit/api/pages/credentials.py281 def expected_passwords_needed_to_start(self):
LOWawxkit/awxkit/api/pages/page.py333def exception_from_status_code(status_code):
LOWawxkit/test/test_registry.py24def test_methodless_get_from_empty_registry(reg):
LOWawxkit/test/test_registry.py28def test_method_get_from_empty_registry(reg):
LOWawxkit/test/test_registry.py32def test_methodless_setdefault_methodless_get(reg):
LOWawxkit/test/test_registry.py37def test_methodless_setdefault_method_get(reg):
LOWawxkit/test/test_registry.py42def test_method_setdefault_methodless_get(reg):
LOWawxkit/test/test_registry.py47def test_method_setdefault_matching_method_get(reg):
LOWawxkit/test/test_registry.py52def test_method_setdefault_nonmatching_method_get(reg):
LOWawxkit/test/test_registry.py57def test_multimethod_setdefault_matching_method_get(reg):
LOWawxkit/test/test_registry.py63def test_multimethod_setdefault_nonmatching_method_get(reg):
LOWawxkit/test/test_registry.py69def test_wildcard_setdefault_methodless_get(reg):
LOWawxkit/test/test_registry.py74def test_wildcard_setdefault_method_get(reg):
LOWawxkit/test/test_registry.py79def test_regex_method_setdefaults_over_wildcard_method_get(reg):
LOWawxkit/test/test_registry.py86def test_methodless_registration_with_matching_path_methodless_get(reg):
LOWawxkit/test/test_registry.py91def test_methodless_registraion_with_nonmatching_path_methodless_get(reg):
LOWawxkit/test/test_registry.py96def test_methodless_registration_with_matching_path_nonmatching_method_get(reg):
LOWawxkit/test/test_registry.py101def test_method_registration_with_matching_path_matching_method_get(reg):
LOWawxkit/test/test_registry.py106def test_method_registration_with_matching_path_nonmatching_method_get(reg):
LOWawxkit/test/test_registry.py111def test_multimethod_registration_with_matching_path_matching_method_get(reg):
LOWawxkit/test/test_registry.py117def test_multimethod_registration_with_path_matching_method_get(reg):
LOWawxkit/test/test_registry.py122def test_multipath_methodless_registration_with_matching_path_methodless_get(reg):
LOWawxkit/test/test_registry.py128def test_multipath_methodless_registration_with_matching_path_nonmatching_method_get(reg):
LOWawxkit/test/test_registry.py134def test_multipath_method_registration_with_matching_path_matching_method_get(reg):
LOWawxkit/test/test_registry.py140def test_multipath_partial_method_registration_with_matching_path_matching_method_get(reg):
LOWawxkit/test/test_registry.py146def test_wildcard_method_registration_with_methodless_get(reg):
LOWawxkit/test/test_registry.py151def test_wildcard_method_registration_with_method_get(reg):
LOWawxkit/test/test_registry.py156def test_wildcard_and_specific_method_registration_acts_as_default(reg):
LOWawxkit/test/test_registry.py167def test_multiple_method_registrations_disallowed_for_single_path_single_registration(reg, method):
LOWawxkit/test/test_registry.py174def test_multiple_method_registrations_disallowed_for_single_path_multiple_registrations(reg, method):
LOWawxkit/test/test_registry.py181def test_paths_can_be_patterns(reg):
LOWawxkit/test/test_registry.py186def test_mixed_form_single_registration(reg):
LOWawxkit/test/test_registry.py205def test_mixed_form_single_registration_with_methodless_default(reg):
LOWawxkit/test/test_registry.py225def test_mixed_form_single_registration_with_method_default(reg):
LOWawxkit/test/test_utils.py74def test_load_valid_json_or_yaml(inp, out):
LOWawxkit/test/test_utils.py79def test_load_invalid_json_or_yaml(inp):
LOWawxkit/test/test_utils.py86def test_random_titles_are_unicode(non_ascii):
LOWawxkit/test/test_utils.py92def test_random_titles_generates_correct_characters(non_ascii):
LOWawxkit/test/test_utils.py161def test_filter_by_class_with_subclass_class():
LOWawxkit/test/test_utils.py166def test_filter_by_class_with_subclass_instance():
LOWawxkit/test/test_utils.py173def test_filter_by_class_no_arg_tuples():
LOWawxkit/test/test_utils.py179def test_filter_by_class_with_arg_tuples_containing_class():
LOWawxkit/test/test_utils.py186def test_filter_by_class_with_arg_tuples_containing_subclass():
2243 more matches not shown…
Unused Imports486 hits · 456 pts
SeverityFileLineSnippet
LOWawxkit/awxkit/__init__.py1
LOWawxkit/awxkit/__init__.py1
LOWawxkit/awxkit/__init__.py1
LOWawxkit/awxkit/__init__.py2
LOWawxkit/awxkit/__init__.py3
LOWawxkit/awxkit/__init__.py4
LOWawxkit/awxkit/cli/client.py1
LOWawxkit/awxkit/cli/client.py14
LOWawxkit/awxkit/cli/client.py14
LOWawxkit/awxkit/cli/client.py16
LOWawxkit/awxkit/cli/utils.py1
LOWawxkit/awxkit/cli/stdout.py2
LOWawxkit/awxkit/scripts/basic_session.py3
LOWawxkit/awxkit/scripts/basic_session.py7
LOWawxkit/awxkit/scripts/basic_session.py7
LOWawxkit/awxkit/scripts/basic_session.py8
LOWawxkit/awxkit/scripts/basic_session.py8
LOWawxkit/awxkit/scripts/basic_session.py8
LOWawxkit/awxkit/api/__init__.py1
LOWawxkit/awxkit/api/__init__.py2
LOWawxkit/awxkit/api/mixins/__init__.py1
LOWawxkit/awxkit/api/mixins/__init__.py2
LOWawxkit/awxkit/api/mixins/__init__.py3
LOWawxkit/awxkit/api/mixins/__init__.py4
LOWawxkit/awxkit/api/mixins/__init__.py5
LOWawxkit/awxkit/api/mixins/__init__.py6
LOWawxkit/awxkit/api/mixins/__init__.py7
LOWawxkit/awxkit/api/pages/__init__.py2
LOWawxkit/awxkit/api/pages/__init__.py3
LOWawxkit/awxkit/api/pages/__init__.py4
LOWawxkit/awxkit/api/pages/__init__.py5
LOWawxkit/awxkit/api/pages/__init__.py6
LOWawxkit/awxkit/api/pages/__init__.py7
LOWawxkit/awxkit/api/pages/__init__.py8
LOWawxkit/awxkit/api/pages/__init__.py9
LOWawxkit/awxkit/api/pages/__init__.py10
LOWawxkit/awxkit/api/pages/__init__.py11
LOWawxkit/awxkit/api/pages/__init__.py12
LOWawxkit/awxkit/api/pages/__init__.py13
LOWawxkit/awxkit/api/pages/__init__.py14
LOWawxkit/awxkit/api/pages/__init__.py15
LOWawxkit/awxkit/api/pages/__init__.py16
LOWawxkit/awxkit/api/pages/__init__.py17
LOWawxkit/awxkit/api/pages/__init__.py18
LOWawxkit/awxkit/api/pages/__init__.py19
LOWawxkit/awxkit/api/pages/__init__.py20
LOWawxkit/awxkit/api/pages/__init__.py21
LOWawxkit/awxkit/api/pages/__init__.py22
LOWawxkit/awxkit/api/pages/__init__.py23
LOWawxkit/awxkit/api/pages/__init__.py24
LOWawxkit/awxkit/api/pages/__init__.py25
LOWawxkit/awxkit/api/pages/__init__.py26
LOWawxkit/awxkit/api/pages/__init__.py27
LOWawxkit/awxkit/api/pages/__init__.py28
LOWawxkit/awxkit/api/pages/__init__.py29
LOWawxkit/awxkit/api/pages/__init__.py30
LOWawxkit/awxkit/api/pages/__init__.py31
LOWawxkit/awxkit/api/pages/__init__.py32
LOWawxkit/awxkit/api/pages/__init__.py33
LOWawxkit/awxkit/api/pages/__init__.py34
426 more matches not shown…
Hallucination Indicators30 hits · 315 pts
SeverityFileLineSnippet
CRITICALawx/api/validators.py4from django.core.exceptions import ValidationError
CRITICALawx/api/views/__init__.py23from django.core.exceptions import FieldError, ObjectDoesNotExist
CRITICALawx/api/views/__init__.py2511 models.Host.groups.through.objects.filter(host__inventory_sources=inv_source).delete()
CRITICALawx/api/views/__init__.py2537 models.Group.hosts.through.objects.filter(group__inventory_sources=inv_source).delete()
CRITICALawx/main/validators.py10from django.core.exceptions import ValidationError
CRITICALawx/main/tasks/callback.py12from django.core.exceptions import ValidationError
CRITICALawx/main/tests/unit/test_validators.py1from django.core.exceptions import ValidationError
CRITICALawx/main/tests/unit/test_fields.py5from django.core.exceptions import ValidationError
CRITICALawx/main/tests/unit/utils/test_common.py22from django.core.exceptions import ValidationError
CRITICALawx/main/tests/unit/models/test_inventory.py3from django.core.exceptions import ValidationError
CRITICALawx/main/tests/unit/models/test_project.py6from django.core.exceptions import ValidationError
CRITICALawx/main/tests/factories/fixtures.py4from django.core.exceptions import ValidationError
CRITICALawx/main/tests/functional/test_credential.py5from django.core.exceptions import ValidationError
CRITICALawx/main/tests/functional/test_fixture_factories.py66 assert objects.users.bob in objects.teams.team1.member_role.members.all()
CRITICALawx/main/tests/functional/test_projects.py9from django.core.exceptions import ValidationError
CRITICALawx/main/tests/functional/rbac/test_rbac_job.py115 normal_job.job_template.inventory.admin_role.members.add(rando)
CRITICAL…/main/tests/functional/rbac/test_rbac_job_templates.py41 jt_linked.inventory.organization.execute_role.members.add(rando)
CRITICALawx/main/tests/functional/models/test_workflow.py24from django.core.exceptions import ValidationError
CRITICALawx/main/tests/functional/api/test_inventory.py6from django.core.exceptions import ValidationError
CRITICALawx/main/tests/functional/api/test_workflow_node.py139 approval_node.workflow_job_template.organization.admin_role.members.add(alice)
CRITICALawx/main/models/mixins.py13from django.core.exceptions import ValidationError
CRITICALawx/main/models/jobs.py11from django.core.exceptions import ValidationError
CRITICALawx/main/models/event_query.py1from django.core.exceptions import ValidationError
CRITICALawx/main/models/projects.py17from django.core.exceptions import ValidationError
CRITICALawx/main/models/ad_hoc_commands.py13from django.core.exceptions import ValidationError
CRITICALawx/main/models/credential.py17from django.core.exceptions import ValidationError
CRITICALawx/main/models/base.py6from django.core.exceptions import ValidationError, ObjectDoesNotExist
CRITICALawx/main/models/inventory.py18from django.core.exceptions import ValidationError
CRITICALawx/main/models/inventory.py1406 for instance_group in self.inventory_source.inventory.organization.instance_groups.all():
CRITICALdocs/docsite/rst/rest_api/_swagger/swagger-ui.js1!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")
Deep Nesting296 hits · 259 pts
SeverityFileLineSnippet
LOWawxkit/awxkit/yaml_file.py20
LOWawxkit/awxkit/awx/utils.py51
LOWawxkit/awxkit/awx/utils.py73
LOWawxkit/awxkit/utils/__init__.py303
LOWawxkit/awxkit/utils/__init__.py53
LOWawxkit/awxkit/utils/__init__.py84
LOWawxkit/awxkit/cli/options.py162
LOWawxkit/awxkit/cli/sphinx.py37
LOWawxkit/awxkit/cli/client.py83
LOWawxkit/awxkit/cli/client.py257
LOWawxkit/awxkit/cli/resource.py144
LOWawxkit/awxkit/cli/__init__.py19
LOWawxkit/awxkit/api/registry.py118
LOWawxkit/awxkit/api/client.py40
LOWawxkit/awxkit/api/mixins/has_create.py52
LOWawxkit/awxkit/api/mixins/has_create.py101
LOWawxkit/awxkit/api/mixins/has_create.py222
LOWawxkit/awxkit/api/mixins/has_create.py250
LOWawxkit/awxkit/api/pages/unified_jobs.py105
LOWawxkit/awxkit/api/pages/unified_jobs.py135
LOWawxkit/awxkit/api/pages/credentials.py64
LOWawxkit/awxkit/api/pages/credentials.py127
LOWawxkit/awxkit/api/pages/credentials.py234
LOWawxkit/awxkit/api/pages/page.py104
LOWawxkit/awxkit/api/pages/page.py176
LOWawxkit/awxkit/api/pages/api.py77
LOWawxkit/awxkit/api/pages/api.py267
LOWawxkit/awxkit/api/pages/api.py379
LOWawxkit/awxkit/api/pages/notification_templates.py44
LOWawxkit/awxkit/api/pages/projects.py50
LOWawxkit/awxkit/api/pages/base.py58
LOWtools/scripts/get_next_release.py36
LOWtools/data_generators/rbac_dummy_data_generator.py203
LOWawx/playbooks/library/indirect_instance_count.py173
LOWawx/playbooks/action_plugins/project_archive.py22
LOWawx/playbooks/action_plugins/insights.py71
LOWawx/api/metadata.py35
LOWawx/api/metadata.py188
LOWawx/api/serializers.py279
LOWawx/api/serializers.py344
LOWawx/api/serializers.py424
LOWawx/api/serializers.py486
LOWawx/api/serializers.py630
LOWawx/api/serializers.py778
LOWawx/api/serializers.py870
LOWawx/api/serializers.py916
LOWawx/api/serializers.py979
LOWawx/api/serializers.py1604
LOWawx/api/serializers.py1847
LOWawx/api/serializers.py2471
LOWawx/api/serializers.py2704
LOWawx/api/serializers.py4107
LOWawx/api/serializers.py4663
LOWawx/api/serializers.py4829
LOWawx/api/serializers.py5018
LOWawx/api/serializers.py5100
LOWawx/api/serializers.py5120
LOWawx/api/serializers.py5174
LOWawx/api/serializers.py5373
LOWawx/api/serializers.py5828
236 more matches not shown…
Excessive Try-Catch Wrapping232 hits · 255 pts
SeverityFileLineSnippet
LOWawxkit/awxkit/awx/utils.py26 except Exception as e:
LOWawxkit/awxkit/cli/options.py111 except Exception:
LOWawxkit/awxkit/cli/options.py187 except Exception:
LOWawxkit/awxkit/cli/options.py190 except Exception:
LOWawxkit/awxkit/cli/client.py158 except Exception as e:
LOWawxkit/awxkit/cli/__init__.py63 except Exception as e:
LOWawxkit/awxkit/scripts/basic_session.py76 except Exception as e:
LOWawxkit/awxkit/scripts/basic_session.py79 except Exception as e:
LOWawxkit/awxkit/api/mixins/has_status.py92 except Exception as e:
LOWawxkit/awxkit/api/pages/workflow_jobs.py36 except Exception as e:
LOWtools/scripts/firehose.py115 except Exception as e:
LOWtools/scripts/compilemessages.py61 except Exception:
LOWawx/api/metadata.py151 except Exception:
MEDIUMawx/api/serializers.py604def run_validation(self, data=fields.empty):
MEDIUMawx/api/serializers.py3638def get_prompts(self, obj):
LOWawx/api/serializers.py2129 except Exception as e:
LOWawx/api/serializers.py2236 except Exception as e:
LOWawx/api/serializers.py4485 except Exception:
LOWawx/api/serializers.py5285 except Exception as exc:
LOWawx/api/serializers.py5467 except Exception as e:
LOWawx/api/serializers.py6198 except Exception:
LOWawx/api/serializers.py6215 except Exception:
LOWawx/api/serializers.py6230 except Exception:
LOWawx/api/renderers.py83 except Exception:
LOWawx/api/permissions.py126 except Exception as e:
LOWawx/api/generics.py266 except Exception as e:
LOWawx/api/schema.py66 except Exception:
MEDIUMawx/api/views/__init__.py1931def list(self, *args, **kwargs):
LOWawx/api/views/__init__.py1715 except Exception as exc:
LOWawx/api/views/__init__.py1793 except Exception as exc:
LOWawx/api/views/__init__.py1857 except Exception as exc:
LOWawx/api/views/__init__.py1934 except Exception as e:
LOWawx/api/views/analytics.py185 except Exception as e:
LOWawx/api/views/analytics.py262 except Exception as e:
MEDIUMawx/api/views/analytics.py152def _error_response_404(self, response):
MEDIUMawx/api/views/analytics.py204def _send_to_analytics(self, request, method):
LOWawx/api/views/webhooks.py98 except Exception:
LOWawx/api/views/root.py236 except Exception as exc:
LOWawx/api/views/root.py290 except Exception as exc:
LOWawx/api/views/root.py383 except Exception:
LOWawx/api/views/root.py395 except Exception:
LOWawx/api/views/root.py401 except Exception:
LOWawx/api/views/root.py408 except Exception:
LOWawx/api/views/root.py431 except Exception:
MEDIUMawx/api/views/root.py426def delete(self, request):
LOWawx/main/fields.py88 except Exception as e:
LOWawx/main/fields.py111 except Exception as e:
LOWawx/main/fields.py337 except Exception as e:
MEDIUMawx/main/fields.py334def format_url(value):
LOWawx/main/consumers.py48 except Exception:
LOWawx/main/consumers.py57 except Exception:
LOWawx/main/consumers.py89 except Exception:
MEDIUMawx/main/consumers.py42def verify_secret(cls, s, nonce_tolerance=300):
MEDIUMawx/main/consumers.py86def connect(self):
LOWawx/main/views.py35 except Exception:
LOWawx/main/wsrelay.py102 except Exception as e:
LOWawx/main/wsrelay.py213 except Exception:
LOWawx/main/wsrelay.py270 except Exception as e:
MEDIUMawx/main/wsrelay.py171def run_producer(self, name, websocket, group):
LOWawx/main/tasks/signals.py58 except Exception as exc:
172 more matches not shown…
Self-Referential Comments113 hits · 234 pts
SeverityFileLineSnippet
MEDIUMawxkit/awxkit/awx/inventory.py9 # Create an inventory script
MEDIUMawxkit/awxkit/cli/sphinx.py38 # This function is called by Sphinx when making the docs.
MEDIUMtools/scripts/l18n/post_translation.sh6# Create a directory for api (locale)
MEDIUMtools/scripts/l18n/post_translation.sh24# Create a directory for ui (locales)
MEDIUMawx/settings/__init__.py21# Create a the standard DYNACONF instance which will come with DAB defaults
MEDIUMawx/api/serializers.py654 # Create a new model instance or take the existing one if it exists,
MEDIUMawx/api/serializers.py5064 # Create the node objects
MEDIUMawx/api/generics.py704 # Create the sub object if an ID is not provided.
MEDIUMawx/main/tasks/callback.py129 # This method is called once for *every event* emitted by Ansible
MEDIUMawx/main/tasks/facts.py31 # Create the fact_cache directory inside artifacts_dir
MEDIUMawx/main/tasks/system.py407 """This method is intended to be called for every unified job
MEDIUMawx/main/tasks/receptor.py448 # Create a socketpair. Where the left side will be used for writing our payload
MEDIUMawx/main/tasks/jobs.py1110 # Create a directory for ControlPath sockets that is unique to each job
MEDIUMawx/main/tests/unit/models/test_credential.py125 # Create an existing credential type with no description
MEDIUMawx/main/tests/unit/api/test_schema.py33 # Create a mock model with verbose_name_plural
MEDIUMawx/main/tests/unit/api/test_schema.py37 # Create a mock serializer with Meta.model
MEDIUMawx/main/tests/unit/api/test_schema.py52 # Create a mock model with verbose_name_plural
MEDIUMawx/main/tests/live/pytest.ini1# This file is needed to undo the pytest settings from the project root
MEDIUMawx/main/tests/live/tests/conftest.py163 cmd = ['podman', 'build', '-f', '-'] # Create an image without a tag
MEDIUMawx/main/tests/live/tests/test_inventory_vars.py167 # Create the inventory source instance.
MEDIUMawx/main/tests/functional/test_migrations.py200 # Create a CredentialType with the old, problematic 'namespace' value
MEDIUMawx/main/tests/functional/test_jobs.py328 # Create a job with credentials using fixture
MEDIUMawx/main/tests/functional/test_jobs.py356 # Create a job using fixture
MEDIUMawx/main/tests/functional/test_jobs.py482 # Create a workload identity credential type
MEDIUMawx/main/tests/functional/test_jobs.py506 # Create a job using fixture
MEDIUMawx/main/tests/functional/test_jobs.py591 # Create a workload identity credential type
MEDIUMawx/main/tests/functional/test_jobs.py615 # Create a job using fixture
MEDIUMawx/main/tests/functional/test_jobs.py687 # Create a job using fixture
MEDIUMawx/main/tests/functional/test_jobs.py735 # Create a job using fixture
MEDIUMawx/main/tests/functional/test_policy.py607 # Create a job for testing
MEDIUM…/main/tests/functional/rbac/test_rbac_job_templates.py179 # Creating a JT should place the creator in the admin role
MEDIUMawx/main/tests/functional/tasks/test_host_indirect.py340 # Create the expected job events
MEDIUM…ts/functional/task_management/test_container_groups.py54 # Create a second job that should not be scheduled at first, blocked by the other
MEDIUM…ts/functional/task_management/test_container_groups.py75 # Create a second job that should not be scheduled
MEDIUMawx/main/tests/functional/models/test_job.py75 # Create an inventory with 4 nodes
MEDIUM…in/tests/functional/dab_rbac/test_consolidate_teams.py103 # Create a user and team with direct assignment
MEDIUM…in/tests/functional/dab_rbac/test_consolidate_teams.py128 # Create a user assigned to team A
MEDIUM…in/tests/functional/dab_rbac/test_notification_rbac.py193 # Create a notification template as admin
MEDIUMawx/main/tests/functional/api/test_job.py222 # Create a job template
MEDIUMawx/main/tests/functional/api/test_job.py228 # Create a job instance
MEDIUM…/tests/functional/api/test_credential_input_sources.py333 # Create an input source
MEDIUM…/tests/functional/api/test_credential_input_sources.py359 # Create an input source
MEDIUMawx/main/tests/functional/api/test_credential_type.py487 # Create a credential type with empty dict
MEDIUMawx/main/tests/functional/api/test_credential_type.py507 # Create a credential type with invalid inputs type
MEDIUMawx/main/tests/functional/analytics/test_core.py66 # Create a temporary file and yield its path
MEDIUMawx/main/management/commands/create_preload_data.py27 # Create a default organization as the first superuser found.
MEDIUM…nt/commands/register_default_execution_environments.py131 # Create the control plane execution environment that is used for project updates and system jobs
MEDIUMawx/main/scheduler/kubernetes.py113 # Create an image pull secret in namespace
MEDIUMawx/main/models/events.py409 # This function is called by the callback receiver *once* for *every
MEDIUMawx/main/models/events.py726 # This function is called by the callback receiver *once* for *every
MEDIUMawx/main/models/jobs.py806 # This function handles only the defaults for a template w/o user specification
MEDIUMawx/conf/conf.py9# Define a conf.py file within your app and register each setting similarly to
MEDIUMawx_collection/test/awx/test_inventory.py12 # Create an insights credential
MEDIUMawx_collection/test/awx/test_instance_group.py28 # Create a new instance in the DB
MEDIUMawx_collection/plugins/module_utils/controller_api.py312 # This method is intended to be overridden
MEDIUMawx_collection/plugins/modules/instance_group.py113 # Create a module for ourselves
MEDIUMawx_collection/plugins/modules/instance_group.py147 # Create the data that gets sent for create and update
MEDIUMawx_collection/plugins/modules/inventory_source.py214 # Create a module for ourselves
MEDIUMawx_collection/plugins/modules/inventory_source.py275 # Create the data that gets sent for create and update
MEDIUMawx_collection/plugins/modules/job_template.py450 # Create a module for ourselves
53 more matches not shown…
Decorative Section Separators55 hits · 192 pts
SeverityFileLineSnippet
MEDIUMawxkit/test/cli/test_authentication.py16# ============================================================================
MEDIUMawxkit/test/cli/test_authentication.py18# ============================================================================
MEDIUMawx/settings/defaults.py573# ----------------
MEDIUMawx/settings/defaults.py575# ----------------
MEDIUMawx/settings/defaults.py581# ------------
MEDIUMawx/settings/defaults.py583# ------------
MEDIUMawx/settings/defaults.py591# -----------------
MEDIUMawx/settings/defaults.py593# -----------------
MEDIUMawx/settings/defaults.py597# ---------------------------
MEDIUMawx/settings/defaults.py599# ---------------------------
MEDIUMawx/settings/defaults.py605# --------------------------------------
MEDIUMawx/settings/defaults.py607# --------------------------------------
MEDIUMawx/settings/defaults.py613# ---------------------
MEDIUMawx/settings/defaults.py615# ---------------------
MEDIUMawx/settings/defaults.py621# ---------------------
MEDIUMawx/settings/defaults.py623# ---------------------
MEDIUMawx/settings/defaults.py629# ---------------------
MEDIUMawx/settings/defaults.py631# ---------------------
MEDIUMawx/settings/defaults.py637# ---------------------
MEDIUMawx/settings/defaults.py639# ---------------------
MEDIUMawx/settings/defaults.py646# ----------------
MEDIUMawx/settings/defaults.py648# ----------------
MEDIUMawx/settings/defaults.py654# ----------------
MEDIUMawx/settings/defaults.py656# ----------------
MEDIUMawx/settings/defaults.py662# ------------------------
MEDIUMawx/settings/defaults.py664# ------------------------
MEDIUMawx/settings/defaults.py667# ---------------------
MEDIUMawx/settings/defaults.py669# ---------------------
MEDIUMawx/settings/defaults.py675# ---------------------
MEDIUMawx/settings/defaults.py677# ---------------------
MEDIUMawx/settings/defaults.py683# ----------------
MEDIUMawx/settings/defaults.py685# ----------------
MEDIUMawx/settings/defaults.py690# ---------------------
MEDIUMawx/settings/defaults.py692# ---------------------
MEDIUM…tional/dab_rbac/test_filtered_queryset_optimization.py13# ---------------------------------------------------------------------------
MEDIUM…tional/dab_rbac/test_filtered_queryset_optimization.py15# ---------------------------------------------------------------------------
MEDIUMawx/main/management/commands/candlepin_cert.py123 # ------------------------------------------------------------------
MEDIUMawx/main/management/commands/candlepin_cert.py125 # ------------------------------------------------------------------
MEDIUMawx/main/management/commands/candlepin_cert.py224 # ------------------------------------------------------------------
MEDIUMawx/main/management/commands/candlepin_cert.py226 # ------------------------------------------------------------------
MEDIUMawx/main/utils/candlepin/client.py99 # ------------------------------------------------------------------
MEDIUMawx/main/utils/candlepin/client.py101 # ------------------------------------------------------------------
MEDIUMawx/main/utils/candlepin/lifecycle.py22# ---------------------------------------------------------------------------
MEDIUMawx/main/utils/candlepin/lifecycle.py24# ---------------------------------------------------------------------------
MEDIUMawx/main/utils/candlepin/lifecycle.py92# ---------------------------------------------------------------------------
MEDIUMawx/main/utils/candlepin/lifecycle.py94# ---------------------------------------------------------------------------
MEDIUMawx/main/models/rbac.py254 # =================================================
MEDIUMawx/main/models/rbac.py267 # =================================================
MEDIUMawx/main/models/rbac.py301 # =============
MEDIUMawx_collection/test/awx/test_completeness.py13# -----------------------------------------------------------------------------------------------------------
MEDIUMawx_collection/test/awx/test_completeness.py100# -----------------------------------------------------------------------------------------------------------
MEDIUMawx_collection/plugins/module_utils/controller_api.py683 # ----------------------------------------------------------------
MEDIUMawx_collection/plugins/module_utils/controller_api.py686 # ----------------------------------------------------------------
MEDIUMawx_collection/plugins/module_utils/controller_api.py590 # ----------------------------------------------------------------
MEDIUMawx_collection/plugins/module_utils/controller_api.py593 # ----------------------------------------------------------------
Over-Commented Block85 hits · 76 pts
SeverityFileLineSnippet
LOWawxkit/awxkit/utils/toposort.py1#######################################################################
LOWawxkit/awxkit/utils/toposort.py21# Added unittests.
LOWawxkit/awxkit/cli/docs/source/conf.py1# Configuration file for the Sphinx documentation builder.
LOWtools/loki/local-config.yaml81query_range:
LOWtools/scripts/firehose.py1#! /usr/bin/env awx-python
LOWawx/devonly.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/ui/__init__.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/settings/defaults.py61
LOWawx/settings/defaults.py161# REMOTE_HOST_HEADERS header values
LOWawx/settings/defaults.py181# The awx-manage register_default_execution_environments command reads this setting and registers the EE(s)
LOWawx/settings/defaults.py641SATELLITE6_ENABLED_VALUE = 'True'
LOWawx/settings/defaults.py661
LOWawx/settings/defaults.py841if logging_mode == 'file':
LOWawx/settings/defaults.py981CLEANUP_HOST_METRICS_SOFT_THRESHOLD = 12 # months
LOWawx/playbooks/project_update.yml1---
LOWawx/api/models.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/api/serializers.py661 try:
LOWawx/api/__init__.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/api/generics.py221 Log warning for 400 requests. Add header with elapsed time.
LOWawx/api/generics.py301
LOWawx/api/generics.py321 #
LOWawx/api/generics.py541 args = (self.parent_model, parent_access, parent, None)
LOWawx/api/views/__init__.py4221 if len(events) == 0:
LOWawx/main/access.py2481 Prefetch('labels', queryset=Label.objects.all().order_by('name')),
LOWawx/main/__init__.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/main/middleware.py121 # if the name does *not* resolve to any actual resource,
LOWawx/main/tasks/callback.py121 self.extra_update_fields['emitted_events'] = self.event_ct
LOWawx/main/tasks/receptor.py461 transmitter_future = executor.submit(self.transmit, sockin)
LOWawx/main/tests/__init__.py1# Copyright (c) 2015 Ansible, Inc.
LOW…s/functional/task_management/test_cancel_dependency.py1# Generated by Claude Opus 4.6 (claude-opus-4-6)
LOWawx/main/management/__init__.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/main/management/commands/__init__.py1# Copyright (c) 2015 Ansible, Inc.
LOWawx/main/management/commands/run_wsrelay.py101 connection.close() # Because of async nature, main loop will use new connection, so close this
LOWawx/main/utils/encryption.py61 return encrypt_field(TransientField(pk=pk, value=value), 'value', secret_key=secret_key)
LOWawx/main/utils/encryption.py81 # $ setup.sh -k
LOWawx/main/utils/handlers.py41 # for any number of reasons, rsyslogd has gone to lunch;
LOWawx/main/models/events.py141 # - playbook_on_not_import_for_host (not logged, not used for v2)
LOWawx/main/models/events.py401 setattr(self, field, value)
LOWawx/main/models/events.py721
LOWawx/main/models/rbac.py261 # storing entries for each descendent relationship, we also store an
LOWawx/main/models/rbac.py281 #
LOWawx/main/models/rbac.py301 # =============
LOWawx/main/models/schedules.py201 # it requires them to perform DTSTART local -> UTC datetime coercion on
LOWawx/main/db/profiled_pg/base.py121
LOWawx/conf/settings.py41# Cannot store None in cache; use a special value instead to indicate None.
LOWawx/conf/settings.py261 self.__dict__['_awx_conf_memoizedcache_lock'] = threading.Lock()
LOWrequirements/requirements.txt1adal==1.2.7
LOWrequirements/requirements.txt21# ansible-runner @ git+https://github.com/ansible/ansible-runner.git@devel # git requirements installed separately
LOWrequirements/requirements.txt41 # via daphne
LOWrequirements/requirements.txt61azure-keyvault==4.2.0
LOWrequirements/requirements.txt81 # via
LOWrequirements/requirements.txt101constantly==23.10.4
LOWrequirements/requirements.txt121distro==1.9.0
LOWrequirements/requirements.txt141django-crum==0.7.9
LOWrequirements/requirements.txt161 # drf-spectacular
LOWrequirements/requirements.txt181 # via gitpython
LOWrequirements/requirements.txt201 # hyperlink
LOWrequirements/requirements.txt221jaraco-collections==5.2.1
LOWrequirements/requirements.txt241 # via
LOWrequirements/requirements.txt261 # via -r /awx_devel/requirements/requirements.in
25 more matches not shown…
Cross-File Repetition10 hits · 50 pts
SeverityFileLineSnippet
HIGH…ts/data/projects/host_query/plugins/modules/example.py0direct_host_name: description: the name of the host, this will be collected with the feature. type: str returned: always
HIGH…/host_query_external_v3_0_0/plugins/modules/example.py0direct_host_name: description: the name of the host, this will be collected with the feature. type: str returned: always
HIGH…/host_query_external_v1_0_0/plugins/modules/example.py0direct_host_name: description: the name of the host, this will be collected with the feature. type: str returned: always
HIGH…/host_query_external_v1_5_0/plugins/modules/example.py0direct_host_name: description: the name of the host, this will be collected with the feature. type: str returned: always
HIGH…/host_query_external_v3_0_0/plugins/modules/example.py0--- module: example short_description: module for specific live tests version_added: "2.0.0" description: this module is
HIGH…/host_query_external_v1_0_0/plugins/modules/example.py0--- module: example short_description: module for specific live tests version_added: "2.0.0" description: this module is
HIGH…/host_query_external_v1_5_0/plugins/modules/example.py0--- module: example short_description: module for specific live tests version_added: "2.0.0" description: this module is
HIGH…/host_query_external_v3_0_0/plugins/modules/example.py0- name: test with defaults demo.external.example: - name: test with custom host name demo.external.example: host_name: f
HIGH…/host_query_external_v1_0_0/plugins/modules/example.py0- name: test with defaults demo.external.example: - name: test with custom host name demo.external.example: host_name: f
HIGH…/host_query_external_v1_5_0/plugins/modules/example.py0- name: test with defaults demo.external.example: - name: test with custom host name demo.external.example: host_name: f
Synthetic Comment Markers13 hits · 42 pts
SeverityFileLineSnippet
HIGHawx/main/tests/live/tests/test_concurrent_fact_cache.py12Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/live/tests/test_concurrent_fact_cache.py70 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/live/tests/test_concurrent_fact_cache.py135 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/live/tests/test_concurrent_fact_cache.py216 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/live/tests/test_concurrent_fact_cache.py266 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/data/projects/facts/gather_slow.yml2# Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/functional/tasks/test_fact_cache.py8Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/functional/tasks/test_fact_cache.py38 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/functional/tasks/test_fact_cache.py79 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/functional/tasks/test_fact_cache.py113 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/functional/tasks/test_fact_cache.py149 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGHawx/main/tests/functional/tasks/test_fact_cache.py184 Generated by Claude Opus 4.6 (claude-opus-4-6).
HIGH…s/functional/task_management/test_cancel_dependency.py1# Generated by Claude Opus 4.6 (claude-opus-4-6)
Redundant / Tautological Comments21 hits · 28 pts
SeverityFileLineSnippet
LOWawxkit/awxkit/cli/client.py139 # Check if Basic auth is forced via environment variable
LOWawxkit/awxkit/cli/client.py277 # Check if this is resource-level help (no action specified)
LOWawxkit/awxkit/api/pages/users.py35 # Check if API base path is set to controller, then use gateway endpoint
LOWtools/data_generators/rbac_dummy_data_generator.py702 # Check if job already has events, for idempotence
LOWawx/api/serializers.py1059 # Check if a password is too long
LOWawx/api/permissions.py108 # Check if view supports the request method before checking permission
LOWawx/main/access.py1710 # Check if JT execute access (and related prompts) is sufficient
LOWawx/main/access.py2162 # Check if access to prompts to prevent relaunch
LOWawx/main/tasks/jobs.py341 # Verify if a mount path and SELinux context has been passed
LOW…in/tests/functional/dab_rbac/test_consolidate_teams.py42 # Assign users to teams
LOWawx/main/management/commands/candlepin_cert.py259 # Check if renewal is needed (without force, just check cert expiry locally)
LOWawx/main/management/commands/inventory_import.py1044 # Check if the license is valid.
LOWawx/main/scheduler/kubernetes.py68 # Check if secret already exists
LOWawx/main/utils/candlepin/__init__.py43 # Check if we have valid data
LOWawx/main/analytics/collectors.py83 # Check if full sync should be done
LOW.github/workflows/spec-sync-on-merge.yml88 # Check if spec file exists in spec repo
LOW.github/workflows/sonarcloud_pr.yml144 # Check if coverage.xml exists and has content
LOWawx_collection/plugins/modules/workflow_launch.py184 # Check if Either ask_variables_on_launch, or survey_enabled is enabled for use of extra vars.
LOWawx_collection/plugins/modules/job_launch.py305 # Check if Either ask_variables_on_launch, or survey_enabled is enabled for use of extra vars.
LOWawx_collection/plugins/modules/license.py104 # Check if Tower is already licensed
LOWawx_collection/plugins/modules/project.py241 # Set Changed to correct value depending on if hash changed Also output refspec comparision
AI Slop Vocabulary16 hits · 26 pts
SeverityFileLineSnippet
MEDIUMtools/sosreport/controller.py12 "awx-manage dispatcherctl status", # controller dispatch comprehensive status
LOWawx/playbooks/library/indirect_instance_count.py39# this plugin, just set ANSIBLE_LOG_PATH as an environment variable
MEDIUMawx/api/serializers.py552 # Note: This logic works in conjunction with
LOWawx/api/views/analytics.py233 # subscriptions credentials are not valid for basic auth, so just return 401
MEDIUMawx/main/tasks/system.py414 # a refresh now is formally robust
LOWawx/main/dispatch/worker/callback.py302 # just use them to report `summary` websocket events as an
MEDIUMawx/main/tests/functional/models/test_job.py21 # Representation should be robust to deleted related items
MEDIUM…main/tests/functional/models/test_job_launch_config.py65 assert set(JobTemplate.get_ask_mapping().keys()) - set(r.keys()) == set() # make fixture comprehensive
LOWawx/main/tests/functional/api/test_generic.py29 # should just pass through
LOWawx/main/models/rbac.py278 # in what order, we simply use the termination condition of stopping
LOWawx/main/models/rbac.py788 # anyways so just return
MEDIUMawx/main/analytics/broadcast_websocket.py119 # TODO: More robust replacement
LOWawx_collection/plugins/module_utils/controller_api.py463 # If we get a value error, then we didn't have an integer so we can just pass and fall down to the f
LOWawx_collection/plugins/modules/settings.py68 # If our value is already None we can just return directly
LOWawx_collection/plugins/modules/settings.py151 # If we were using a name we will just add a value of a string, otherwise we will return an array in values
LOWawx_collection/plugins/modules/credential.py305 # NOTE: We can't just add these on a modification because they are never returned from a GET so it would always caus
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippet
HIGHtools/scripts/pk_to_named_url.py105Main function for generating and printing named URL of a resource object given its pk. Args: username: Stri
HIGHawx/api/views/__init__.py1650Validate job template ID and return the JobTemplate instance. Args: job_template_id: The job templa
HIGHawx/api/views/__init__.py1672 Handle OIDC workload identity token generation for external credential test endpoints. This method sho
HIGHawx/main/utils/candlepin/client.py104POST /consumers?owner={org} — register a new AAP consumer with basic auth. Uses the customer's Red Hat subscrip
HIGHawx/main/utils/candlepin/lifecycle.py98Perform check-in and, if needed, proactive cert renewal. Called once per gather run. Returns ``(cert_pem, key_pem)`
Cross-Language Confusion4 hits · 22 pts
SeverityFileLineSnippet
HIGHawxkit/test/test_utils.py46 ["{'null': null}", {"null": None}],
HIGHawx/api/serializers.py1333 # prevent changing organization of ee. Unsetting (change to null) is allowed
HIGH…/serializers/test_notification_template_serializers.py53 {'started': {'message': '{{ undefined }}'}},
HIGH…/serializers/test_notification_template_serializers.py54 {'started': {'message': '{{ job.undefined }}'}},
Verbosity Indicators5 hits · 10 pts
SeverityFileLineSnippet
LOWawx/main/tests/live/tests/test_inventory_vars.py158 # exist. If this behaviour changes, uncomment the following code block
LOWawx/main/utils/candlepin/lifecycle.py121 # Step 1: Inspect cert metadata for diagnostics and renewal decision.
LOWawx/main/utils/candlepin/lifecycle.py130 # Step 2: Check-in (best-effort, never raises).
LOWawx/main/utils/candlepin/lifecycle.py139 # Step 3: Compare local cert serial with server's serial.
LOWawx/main/utils/candlepin/lifecycle.py179 # Step 4: Proactive renewal if within the renewal window (or already expired).
Slop Phrases3 hits · 5 pts
SeverityFileLineSnippet
LOWtools/scripts/firehose.py20# Also, a billion events is a *lot* of data; make sure you've
MEDIUMawx/main/db/profiled_pg/base.py135 # it's worth noting that this property is wrapped w/ @memoize because
LOWawx_collection/plugins/modules/inventory.py215 # We need to perform a check to make sure you are not trying to convert a regular inventory into a smart one.
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippet
LOW…in/tests/functional/api/test_notification_templates.py26 'username': 'user@example.com',
LOW…in/tests/functional/api/test_notification_templates.py49 'username': 'user@example.com',
LOW…in/tests/functional/api/test_notification_templates.py79 'username': 'user@example.com',
LOWdocs/docsite/rst/rest_api/_swagger/swagger-ui.js1!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")