diff options
Diffstat (limited to '')
323 files changed, 7 insertions, 839 deletions
diff --git a/awx/__init__.py b/awx/__init__.py index 6e7a329b5c..2e2a943b6c 100644 --- a/awx/__init__.py +++ b/awx/__init__.py @@ -67,7 +67,6 @@ else: from django.db import connection if HAS_DJANGO is True: - # See upgrade blocker note in requirements/README.md try: names_digest('foo', 'bar', 'baz', length=8) diff --git a/awx/api/fields.py b/awx/api/fields.py index c84b6327f9..1fab90065e 100644 --- a/awx/api/fields.py +++ b/awx/api/fields.py @@ -80,7 +80,6 @@ class VerbatimField(serializers.Field): class OAuth2ProviderField(fields.DictField): - default_error_messages = {'invalid_key_names': _('Invalid key names: {invalid_key_names}')} valid_key_names = {'ACCESS_TOKEN_EXPIRE_SECONDS', 'AUTHORIZATION_CODE_EXPIRE_SECONDS', 'REFRESH_TOKEN_EXPIRE_SECONDS'} child = fields.IntegerField(min_value=1) diff --git a/awx/api/filters.py b/awx/api/filters.py index eaec6628ef..a40006d670 100644 --- a/awx/api/filters.py +++ b/awx/api/filters.py @@ -160,7 +160,6 @@ class FieldLookupBackend(BaseFilterBackend): NO_DUPLICATES_ALLOW_LIST = (CharField, IntegerField, BooleanField, TextField) def get_fields_from_lookup(self, model, lookup): - if '__' in lookup and lookup.rsplit('__', 1)[-1] in self.SUPPORTED_LOOKUPS: path, suffix = lookup.rsplit('__', 1) else: diff --git a/awx/api/generics.py b/awx/api/generics.py index f5178f7fb2..7d21d74ee6 100644 --- a/awx/api/generics.py +++ b/awx/api/generics.py @@ -135,7 +135,6 @@ def get_default_schema(): class APIView(views.APIView): - schema = get_default_schema() versioning_class = URLPathVersioning @@ -800,7 +799,6 @@ class RetrieveUpdateDestroyAPIView(RetrieveUpdateAPIView, DestroyAPIView): class ResourceAccessList(ParentMixin, ListAPIView): - serializer_class = ResourceAccessListElementSerializer ordering = ('username',) @@ -823,7 +821,6 @@ def trigger_delayed_deep_copy(*args, **kwargs): class CopyAPIView(GenericAPIView): - serializer_class = CopySerializer permission_classes = (AllowAny,) copy_return_serializer_class = None diff --git a/awx/api/metadata.py b/awx/api/metadata.py index b4c75d09cb..dc8d553e01 100644 --- a/awx/api/metadata.py +++ b/awx/api/metadata.py @@ -128,7 +128,7 @@ class Metadata(metadata.SimpleMetadata): # Special handling of notification configuration where the required properties # are conditional on the type selected. if field.field_name == 'notification_configuration': - for (notification_type_name, notification_tr_name, notification_type_class) in NotificationTemplate.NOTIFICATION_TYPES: + for notification_type_name, notification_tr_name, notification_type_class in NotificationTemplate.NOTIFICATION_TYPES: field_info[notification_type_name] = notification_type_class.init_parameters # Special handling of notification messages where the required properties @@ -138,7 +138,7 @@ class Metadata(metadata.SimpleMetadata): except (AttributeError, KeyError): view_model = None if view_model == NotificationTemplate and field.field_name == 'messages': - for (notification_type_name, notification_tr_name, notification_type_class) in NotificationTemplate.NOTIFICATION_TYPES: + for notification_type_name, notification_tr_name, notification_type_class in NotificationTemplate.NOTIFICATION_TYPES: field_info[notification_type_name] = notification_type_class.default_messages # Update type of fields returned... diff --git a/awx/api/pagination.py b/awx/api/pagination.py index 68db8cceab..ca00c1d8ca 100644 --- a/awx/api/pagination.py +++ b/awx/api/pagination.py @@ -24,7 +24,6 @@ class DisabledPaginator(DjangoPaginator): class Pagination(pagination.PageNumberPagination): - page_size_query_param = 'page_size' max_page_size = settings.MAX_PAGE_SIZE count_disabled = False diff --git a/awx/api/renderers.py b/awx/api/renderers.py index d19d6ee318..613d2c9fda 100644 --- a/awx/api/renderers.py +++ b/awx/api/renderers.py @@ -22,7 +22,6 @@ class SurrogateEncoder(encoders.JSONEncoder): class DefaultJSONRenderer(renderers.JSONRenderer): - encoder_class = SurrogateEncoder @@ -95,7 +94,6 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer): class PlainTextRenderer(renderers.BaseRenderer): - media_type = 'text/plain' format = 'txt' @@ -106,18 +104,15 @@ class PlainTextRenderer(renderers.BaseRenderer): class DownloadTextRenderer(PlainTextRenderer): - format = "txt_download" class AnsiTextRenderer(PlainTextRenderer): - media_type = 'text/plain' format = 'ansi' class AnsiDownloadRenderer(PlainTextRenderer): - format = "ansi_download" diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 99676c668d..be87a50a82 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -200,7 +200,6 @@ def reverse_gfk(content_object, request): class CopySerializer(serializers.Serializer): - name = serializers.CharField() def validate(self, attrs): @@ -432,7 +431,6 @@ class BaseSerializer(serializers.ModelSerializer, metaclass=BaseSerializerMetacl continue summary_fields[fk] = OrderedDict() for field in related_fields: - fval = getattr(fkval, field, None) if fval is None and field == 'type': @@ -930,7 +928,6 @@ class UnifiedJobListSerializer(UnifiedJobSerializer): class UnifiedJobStdoutSerializer(UnifiedJobSerializer): - result_stdout = serializers.SerializerMethodField() class Meta: @@ -944,7 +941,6 @@ class UnifiedJobStdoutSerializer(UnifiedJobSerializer): class UserSerializer(BaseSerializer): - password = serializers.CharField(required=False, default='', write_only=True, help_text=_('Write-only field used to change the password.')) ldap_dn = serializers.CharField(source='profile.ldap_dn', read_only=True) external_account = serializers.SerializerMethodField(help_text=_('Set if the account is managed by an external service')) @@ -1104,7 +1100,6 @@ class UserActivityStreamSerializer(UserSerializer): class BaseOAuth2TokenSerializer(BaseSerializer): - refresh_token = serializers.SerializerMethodField() token = serializers.SerializerMethodField() ALLOWED_SCOPES = ['read', 'write'] @@ -1222,7 +1217,6 @@ class UserPersonalTokenSerializer(BaseOAuth2TokenSerializer): class OAuth2ApplicationSerializer(BaseSerializer): - show_capabilities = ['edit', 'delete'] class Meta: @@ -1457,7 +1451,6 @@ class ExecutionEnvironmentSerializer(BaseSerializer): class ProjectSerializer(UnifiedJobTemplateSerializer, ProjectOptionsSerializer): - status = serializers.ChoiceField(choices=Project.PROJECT_STATUS_CHOICES, read_only=True) last_update_failed = serializers.BooleanField(read_only=True) last_updated = serializers.DateTimeField(read_only=True) @@ -1548,7 +1541,6 @@ class ProjectSerializer(UnifiedJobTemplateSerializer, ProjectOptionsSerializer): class ProjectPlaybooksSerializer(ProjectSerializer): - playbooks = serializers.SerializerMethodField(help_text=_('Array of playbooks available within this project.')) class Meta: @@ -1566,7 +1558,6 @@ class ProjectPlaybooksSerializer(ProjectSerializer): class ProjectInventoriesSerializer(ProjectSerializer): - inventory_files = serializers.ReadOnlyField(help_text=_('Array of inventory files and directories available within this project, ' 'not comprehensive.')) class Meta: @@ -1581,7 +1572,6 @@ class ProjectInventoriesSerializer(ProjectSerializer): class ProjectUpdateViewSerializer(ProjectSerializer): - can_update = serializers.BooleanField(read_only=True) class Meta: @@ -1611,7 +1601,6 @@ class ProjectUpdateSerializer(UnifiedJobSerializer, ProjectOptionsSerializer): class ProjectUpdateDetailSerializer(ProjectUpdateSerializer): - playbook_counts = serializers.SerializerMethodField(help_text=_('A count of all plays and tasks for the job run.')) class Meta: @@ -1634,7 +1623,6 @@ class ProjectUpdateListSerializer(ProjectUpdateSerializer, UnifiedJobListSeriali class ProjectUpdateCancelSerializer(ProjectUpdateSerializer): - can_cancel = serializers.BooleanField(read_only=True) class Meta: @@ -1972,7 +1960,6 @@ class GroupSerializer(BaseSerializerWithVariables): class GroupTreeSerializer(GroupSerializer): - children = serializers.SerializerMethodField() class Meta: @@ -2070,7 +2057,6 @@ class InventorySourceOptionsSerializer(BaseSerializer): class InventorySourceSerializer(UnifiedJobTemplateSerializer, InventorySourceOptionsSerializer): - status = serializers.ChoiceField(choices=InventorySource.INVENTORY_SOURCE_STATUS_CHOICES, read_only=True) last_update_failed = serializers.BooleanField(read_only=True) last_updated = serializers.DateTimeField(read_only=True) @@ -2215,7 +2201,6 @@ class InventorySourceSerializer(UnifiedJobTemplateSerializer, InventorySourceOpt class InventorySourceUpdateSerializer(InventorySourceSerializer): - can_update = serializers.BooleanField(read_only=True) class Meta: @@ -2232,7 +2217,6 @@ class InventorySourceUpdateSerializer(InventorySourceSerializer): class InventoryUpdateSerializer(UnifiedJobSerializer, InventorySourceOptionsSerializer): - custom_virtualenv = serializers.ReadOnlyField() class Meta: @@ -2273,7 +2257,6 @@ class InventoryUpdateSerializer(UnifiedJobSerializer, InventorySourceOptionsSeri class InventoryUpdateDetailSerializer(InventoryUpdateSerializer): - source_project = serializers.SerializerMethodField(help_text=_('The project used for this job.'), method_name='get_source_project_id') class Meta: @@ -2324,7 +2307,6 @@ class InventoryUpdateListSerializer(InventoryUpdateSerializer, UnifiedJobListSer class InventoryUpdateCancelSerializer(InventoryUpdateSerializer): - can_cancel = serializers.BooleanField(read_only=True) class Meta: @@ -2682,7 +2664,6 @@ class CredentialSerializer(BaseSerializer): class CredentialSerializerCreate(CredentialSerializer): - user = serializers.PrimaryKeyRelatedField( queryset=User.objects.all(), required=False, @@ -3037,7 +3018,6 @@ class JobTemplateWithSpecSerializer(JobTemplateSerializer): class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer): - passwords_needed_to_start = serializers.ReadOnlyField() artifacts = serializers.SerializerMethodField() @@ -3120,7 +3100,6 @@ class JobSerializer(UnifiedJobSerializer, JobOptionsSerializer): class JobDetailSerializer(JobSerializer): - playbook_counts = serializers.SerializerMethodField(help_text=_('A count of all plays and tasks for the job run.')) custom_virtualenv = serializers.ReadOnlyField() @@ -3138,7 +3117,6 @@ class JobDetailSerializer(JobSerializer): class JobCancelSerializer(BaseSerializer): - can_cancel = serializers.BooleanField(read_only=True) class Meta: @@ -3147,7 +3125,6 @@ class JobCancelSerializer(BaseSerializer): class JobRelaunchSerializer(BaseSerializer): - passwords_needed_to_start = serializers.SerializerMethodField() retry_counts = serializers.SerializerMethodField() hosts = serializers.ChoiceField( @@ -3207,7 +3184,6 @@ class JobRelaunchSerializer(BaseSerializer): class JobCreateScheduleSerializer(LabelsListMixin, BaseSerializer): - can_schedule = serializers.SerializerMethodField() prompts = serializers.SerializerMethodField() @@ -3333,7 +3309,6 @@ class AdHocCommandDetailSerializer(AdHocCommandSerializer): class AdHocCommandCancelSerializer(AdHocCommandSerializer): - can_cancel = serializers.BooleanField(read_only=True) class Meta: @@ -3372,7 +3347,6 @@ class SystemJobTemplateSerializer(UnifiedJobTemplateSerializer): class SystemJobSerializer(UnifiedJobSerializer): - result_stdout = serializers.SerializerMethodField() class Meta: @@ -3399,7 +3373,6 @@ class SystemJobSerializer(UnifiedJobSerializer): class SystemJobCancelSerializer(SystemJobSerializer): - can_cancel = serializers.BooleanField(read_only=True) class Meta: @@ -3564,7 +3537,6 @@ class WorkflowJobListSerializer(WorkflowJobSerializer, UnifiedJobListSerializer) class WorkflowJobCancelSerializer(WorkflowJobSerializer): - can_cancel = serializers.BooleanField(read_only=True) class Meta: @@ -3578,7 +3550,6 @@ class WorkflowApprovalViewSerializer(UnifiedJobSerializer): class WorkflowApprovalSerializer(UnifiedJobSerializer): - can_approve_or_deny = serializers.SerializerMethodField() approval_expiration = serializers.SerializerMethodField() timed_out = serializers.ReadOnlyField() @@ -3973,7 +3944,6 @@ class JobHostSummarySerializer(BaseSerializer): class JobEventSerializer(BaseSerializer): - event_display = serializers.CharField(source='get_event_display2', read_only=True) event_level = serializers.IntegerField(read_only=True) @@ -4069,7 +4039,6 @@ class ProjectUpdateEventSerializer(JobEventSerializer): class AdHocCommandEventSerializer(BaseSerializer): - event_display = serializers.CharField(source='get_event_display', read_only=True) class Meta: @@ -4351,7 +4320,6 @@ class JobLaunchSerializer(BaseSerializer): class WorkflowJobLaunchSerializer(BaseSerializer): - can_start_without_user_input = serializers.BooleanField(read_only=True) defaults = serializers.SerializerMethodField() variables_needed_to_start = serializers.ReadOnlyField() @@ -4408,7 +4376,6 @@ class WorkflowJobLaunchSerializer(BaseSerializer): return False def get_defaults(self, obj): - defaults_dict = {} for field_name in WorkflowJobTemplate.get_ask_mapping().keys(): if field_name == 'inventory': @@ -4425,7 +4392,6 @@ class WorkflowJobLaunchSerializer(BaseSerializer): return dict(name=obj.name, id=obj.id, description=obj.description) def validate(self, attrs): - template = self.instance accepted, rejected, errors = template._accept_or_ignore_job_kwargs(**attrs) @@ -4666,7 +4632,6 @@ class NotificationTemplateSerializer(BaseSerializer): class NotificationSerializer(BaseSerializer): - body = serializers.SerializerMethodField(help_text=_('Notification body')) class Meta: @@ -5038,7 +5003,6 @@ class InstanceHealthCheckSerializer(BaseSerializer): class InstanceGroupSerializer(BaseSerializer): - show_capabilities = ['edit', 'delete'] capacity = serializers.SerializerMethodField() consumed_capacity = serializers.SerializerMethodField() @@ -5225,7 +5189,6 @@ class InstanceGroupSerializer(BaseSerializer): class ActivityStreamSerializer(BaseSerializer): - changes = serializers.SerializerMethodField() object_association = serializers.SerializerMethodField(help_text=_("When present, shows the field name of the role or relationship that changed.")) object_type = serializers.SerializerMethodField(help_text=_("When present, shows the model on which the role or relationship was defined.")) diff --git a/awx/api/validators.py b/awx/api/validators.py index 7f7f6cd25f..d119e85292 100644 --- a/awx/api/validators.py +++ b/awx/api/validators.py @@ -33,7 +33,6 @@ class HostnameRegexValidator(RegexValidator): return f"regex={self.regex}, message={self.message}, code={self.code}, inverse_match={self.inverse_match}, flags={self.flags}" def __validate(self, value): - if ' ' in value: return False, ValidationError("whitespaces in hostnames are illegal") diff --git a/awx/api/views/__init__.py b/awx/api/views/__init__.py index 533f617993..e81a6ebbde 100644 --- a/awx/api/views/__init__.py +++ b/awx/api/views/__init__.py @@ -160,7 +160,6 @@ def api_exception_handler(exc, context): class DashboardView(APIView): - deprecated = True name = _("Dashboard") @@ -259,7 +258,6 @@ class DashboardView(APIView): class DashboardJobsGraphView(APIView): - name = _("Dashboard Jobs Graphs") swagger_topic = 'Jobs' @@ -330,7 +328,6 @@ class DashboardJobsGraphView(APIView): class InstanceList(ListCreateAPIView): - name = _("Instances") model = models.Instance serializer_class = serializers.InstanceSerializer @@ -339,7 +336,6 @@ class InstanceList(ListCreateAPIView): class InstanceDetail(RetrieveUpdateAPIView): - name = _("Instance Detail") model = models.Instance serializer_class = serializers.InstanceSerializer @@ -362,7 +358,6 @@ class InstanceDetail(RetrieveUpdateAPIView): class InstanceUnifiedJobsList(SubListAPIView): - name = _("Instance Jobs") model = models.UnifiedJob serializer_class = serializers.UnifiedJobListSerializer @@ -376,7 +371,6 @@ class InstanceUnifiedJobsList(SubListAPIView): class InstancePeersList(SubListAPIView): - name = _("Instance Peers") parent_model = models.Instance model = models.Instance @@ -387,7 +381,6 @@ class InstancePeersList(SubListAPIView): class InstanceInstanceGroupsList(InstanceGroupMembershipMixin, SubListCreateAttachDetachAPIView): - name = _("Instance's Instance Groups") model = models.InstanceGroup serializer_class = serializers.InstanceGroupSerializer @@ -411,7 +404,6 @@ class InstanceInstanceGroupsList(InstanceGroupMembershipMixin, SubListCreateAtta class InstanceHealthCheck(GenericAPIView): - name = _('Instance Health Check') model = models.Instance serializer_class = serializers.InstanceHealthCheckSerializer @@ -447,14 +439,12 @@ class InstanceHealthCheck(GenericAPIView): class InstanceGroupList(ListCreateAPIView): - name = _("Instance Groups") model = models.InstanceGroup serializer_class = serializers.InstanceGroupSerializer class InstanceGroupDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - always_allow_superuser = False name = _("Instance Group Detail") model = models.InstanceGroup @@ -469,7 +459,6 @@ class InstanceGroupDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAP class InstanceGroupUnifiedJobsList(SubListAPIView): - name = _("Instance Group Running Jobs") model = models.UnifiedJob serializer_class = serializers.UnifiedJobListSerializer @@ -478,7 +467,6 @@ class InstanceGroupUnifiedJobsList(SubListAPIView): class InstanceGroupInstanceList(InstanceGroupMembershipMixin, SubListAttachDetachAPIView): - name = _("Instance Group's Instances") model = models.Instance serializer_class = serializers.InstanceSerializer @@ -503,7 +491,6 @@ class InstanceGroupInstanceList(InstanceGroupMembershipMixin, SubListAttachDetac class ScheduleList(ListCreateAPIView): - name = _("Schedules") model = models.Schedule serializer_class = serializers.ScheduleSerializer @@ -511,13 +498,11 @@ class ScheduleList(ListCreateAPIView): class ScheduleDetail(RetrieveUpdateDestroyAPIView): - model = models.Schedule serializer_class = serializers.ScheduleSerializer class SchedulePreview(GenericAPIView): - model = models.Schedule name = _('Schedule Recurrence Rule Preview') serializer_class = serializers.SchedulePreviewSerializer @@ -544,7 +529,6 @@ class SchedulePreview(GenericAPIView): class ScheduleZoneInfo(APIView): - swagger_topic = 'System Configuration' def get(self, request): @@ -552,7 +536,6 @@ class ScheduleZoneInfo(APIView): class LaunchConfigCredentialsBase(SubListAttachDetachAPIView): - model = models.Credential serializer_class = serializers.CredentialSerializer relationship = 'credentials' @@ -584,17 +567,14 @@ class LaunchConfigCredentialsBase(SubListAttachDetachAPIView): class ScheduleCredentialsList(LaunchConfigCredentialsBase): - parent_model = models.Schedule class ScheduleLabelsList(LabelSubListCreateAttachDetachView): - parent_model = models.Schedule class ScheduleInstanceGroupList(SubListAttachDetachAPIView): - model = models.InstanceGroup serializer_class = serializers.InstanceGroupSerializer parent_model = models.Schedule @@ -602,7 +582,6 @@ class ScheduleInstanceGroupList(SubListAttachDetachAPIView): class ScheduleUnifiedJobsList(SubListAPIView): - model = models.UnifiedJob serializer_class = serializers.UnifiedJobListSerializer parent_model = models.Schedule @@ -646,19 +625,16 @@ class AuthView(APIView): class TeamList(ListCreateAPIView): - model = models.Team serializer_class = serializers.TeamSerializer class TeamDetail(RetrieveUpdateDestroyAPIView): - model = models.Team serializer_class = serializers.TeamSerializer class TeamUsersList(BaseUsersList): - model = models.User serializer_class = serializers.UserSerializer parent_model = models.Team @@ -667,7 +643,6 @@ class TeamUsersList(BaseUsersList): class TeamRolesList(SubListAttachDetachAPIView): - model = models.Role serializer_class = serializers.RoleSerializerWithParentAccess metadata_class = RoleMetadata @@ -707,7 +682,6 @@ class TeamRolesList(SubListAttachDetachAPIView): class TeamObjectRolesList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.Team @@ -720,7 +694,6 @@ class TeamObjectRolesList(SubListAPIView): class TeamProjectsList(SubListAPIView): - model = models.Project serializer_class = serializers.ProjectSerializer parent_model = models.Team @@ -735,7 +708,6 @@ class TeamProjectsList(SubListAPIView): class TeamActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.Team @@ -755,13 +727,11 @@ class TeamActivityStreamList(SubListAPIView): class TeamAccessList(ResourceAccessList): - model = models.User # needs to be User for AccessLists's parent_model = models.Team class ExecutionEnvironmentList(ListCreateAPIView): - always_allow_superuser = False model = models.ExecutionEnvironment serializer_class = serializers.ExecutionEnvironmentSerializer @@ -769,7 +739,6 @@ class ExecutionEnvironmentList(ListCreateAPIView): class ExecutionEnvironmentDetail(RetrieveUpdateDestroyAPIView): - always_allow_superuser = False model = models.ExecutionEnvironment serializer_class = serializers.ExecutionEnvironmentSerializer @@ -792,7 +761,6 @@ class ExecutionEnvironmentDetail(RetrieveUpdateDestroyAPIView): class ExecutionEnvironmentJobTemplateList(SubListAPIView): - model = models.UnifiedJobTemplate serializer_class = serializers.UnifiedJobTemplateSerializer parent_model = models.ExecutionEnvironment @@ -800,13 +768,11 @@ class ExecutionEnvironmentJobTemplateList(SubListAPIView): class ExecutionEnvironmentCopy(CopyAPIView): - model = models.ExecutionEnvironment copy_return_serializer_class = serializers.ExecutionEnvironmentSerializer class ExecutionEnvironmentActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.ExecutionEnvironment @@ -822,31 +788,26 @@ class ExecutionEnvironmentActivityStreamList(SubListAPIView): class ProjectList(ListCreateAPIView): - model = models.Project serializer_class = serializers.ProjectSerializer class ProjectDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = models.Project serializer_class = serializers.ProjectSerializer class ProjectPlaybooks(RetrieveAPIView): - model = models.Project serializer_class = serializers.ProjectPlaybooksSerializer class ProjectInventories(RetrieveAPIView): - model = models.Project serializer_class = serializers.ProjectInventoriesSerializer class ProjectTeamsList(ListAPIView): - model = models.Team serializer_class = serializers.TeamSerializer @@ -861,7 +822,6 @@ class ProjectTeamsList(ListAPIView): class ProjectSchedulesList(SubListCreateAPIView): - name = _("Project Schedules") model = models.Schedule @@ -872,7 +832,6 @@ class ProjectSchedulesList(SubListCreateAPIView): class ProjectScmInventorySources(SubListAPIView): - name = _("Project SCM Inventory Sources") model = models.InventorySource serializer_class = serializers.InventorySourceSerializer @@ -882,7 +841,6 @@ class ProjectScmInventorySources(SubListAPIView): class ProjectActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.Project @@ -901,29 +859,24 @@ class ProjectActivityStreamList(SubListAPIView): class ProjectNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer parent_model = models.Project class ProjectNotificationTemplatesStartedList(ProjectNotificationTemplatesAnyList): - relationship = 'notification_templates_started' class ProjectNotificationTemplatesErrorList(ProjectNotificationTemplatesAnyList): - relationship = 'notification_templates_error' class ProjectNotificationTemplatesSuccessList(ProjectNotificationTemplatesAnyList): - relationship = 'notification_templates_success' class ProjectUpdatesList(SubListAPIView): - model = models.ProjectUpdate serializer_class = serializers.ProjectUpdateListSerializer parent_model = models.Project @@ -931,7 +884,6 @@ class ProjectUpdatesList(SubListAPIView): class ProjectUpdateView(RetrieveAPIView): - model = models.Project serializer_class = serializers.ProjectUpdateViewSerializer permission_classes = (ProjectUpdatePermission,) @@ -953,19 +905,16 @@ class ProjectUpdateView(RetrieveAPIView): class ProjectUpdateList(ListAPIView): - model = models.ProjectUpdate serializer_class = serializers.ProjectUpdateListSerializer class ProjectUpdateDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.ProjectUpdate serializer_class = serializers.ProjectUpdateDetailSerializer class ProjectUpdateEventsList(SubListAPIView): - model = models.ProjectUpdateEvent serializer_class = serializers.ProjectUpdateEventSerializer parent_model = models.ProjectUpdate @@ -985,7 +934,6 @@ class ProjectUpdateEventsList(SubListAPIView): class SystemJobEventsList(SubListAPIView): - model = models.SystemJobEvent serializer_class = serializers.SystemJobEventSerializer parent_model = models.SystemJob @@ -1005,13 +953,11 @@ class SystemJobEventsList(SubListAPIView): class ProjectUpdateCancel(GenericCancelView): - model = models.ProjectUpdate serializer_class = serializers.ProjectUpdateCancelSerializer class ProjectUpdateNotificationsList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.ProjectUpdate @@ -1020,7 +966,6 @@ class ProjectUpdateNotificationsList(SubListAPIView): class ProjectUpdateScmInventoryUpdates(SubListAPIView): - name = _("Project Update SCM Inventory Updates") model = models.InventoryUpdate serializer_class = serializers.InventoryUpdateListSerializer @@ -1030,13 +975,11 @@ class ProjectUpdateScmInventoryUpdates(SubListAPIView): class ProjectAccessList(ResourceAccessList): - model = models.User # needs to be User for AccessLists's parent_model = models.Project class ProjectObjectRolesList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.Project @@ -1049,13 +992,11 @@ class ProjectObjectRolesList(SubListAPIView): class ProjectCopy(CopyAPIView): - model = models.Project copy_return_serializer_class = serializers.ProjectSerializer class UserList(ListCreateAPIView): - model = models.User serializer_class = serializers.UserSerializer permission_classes = (UserPermission,) @@ -1063,7 +1004,6 @@ class UserList(ListCreateAPIView): class UserMeList(ListAPIView): - model = models.User serializer_class = serializers.UserSerializer name = _('Me') @@ -1074,7 +1014,6 @@ class UserMeList(ListAPIView): class OAuth2ApplicationList(ListCreateAPIView): - name = _("OAuth 2 Applications") model = models.OAuth2Application @@ -1083,7 +1022,6 @@ class OAuth2ApplicationList(ListCreateAPIView): class OAuth2ApplicationDetail(RetrieveUpdateDestroyAPIView): - name = _("OAuth 2 Application Detail") model = models.OAuth2Application @@ -1096,7 +1034,6 @@ class OAuth2ApplicationDetail(RetrieveUpdateDestroyAPIView): class ApplicationOAuth2TokenList(SubListCreateAPIView): - name = _("OAuth 2 Application Tokens") model = models.OAuth2AccessToken @@ -1108,7 +1045,6 @@ class ApplicationOAuth2TokenList(SubListCreateAPIView): class OAuth2ApplicationActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.OAuth2Application @@ -1118,7 +1054,6 @@ class OAuth2ApplicationActivityStreamList(SubListAPIView): class OAuth2TokenList(ListCreateAPIView): - name = _("OAuth2 Tokens") model = models.OAuth2AccessToken @@ -1127,7 +1062,6 @@ class OAuth2TokenList(ListCreateAPIView): class OAuth2UserTokenList(SubListCreateAPIView): - name = _("OAuth2 User Tokens") model = models.OAuth2AccessToken @@ -1139,7 +1073,6 @@ class OAuth2UserTokenList(SubListCreateAPIView): class UserAuthorizedTokenList(SubListCreateAPIView): - name = _("OAuth2 User Authorized Access Tokens") model = models.OAuth2AccessToken @@ -1154,7 +1087,6 @@ class UserAuthorizedTokenList(SubListCreateAPIView): class OrganizationApplicationList(SubListCreateAPIView): - name = _("Organization OAuth2 Applications") model = models.OAuth2Application @@ -1166,7 +1098,6 @@ class OrganizationApplicationList(SubListCreateAPIView): class UserPersonalTokenList(SubListCreateAPIView): - name = _("OAuth2 Personal Access Tokens") model = models.OAuth2AccessToken @@ -1181,7 +1112,6 @@ class UserPersonalTokenList(SubListCreateAPIView): class OAuth2TokenDetail(RetrieveUpdateDestroyAPIView): - name = _("OAuth Token Detail") model = models.OAuth2AccessToken @@ -1190,7 +1120,6 @@ class OAuth2TokenDetail(RetrieveUpdateDestroyAPIView): class OAuth2TokenActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.OAuth2AccessToken @@ -1200,7 +1129,6 @@ class OAuth2TokenActivityStreamList(SubListAPIView): class UserTeamsList(SubListAPIView): - model = models.Team serializer_class = serializers.TeamSerializer parent_model = models.User @@ -1213,7 +1141,6 @@ class UserTeamsList(SubListAPIView): class UserRolesList(SubListAttachDetachAPIView): - model = models.Role serializer_class = serializers.RoleSerializerWithParentAccess metadata_class = RoleMetadata @@ -1256,7 +1183,6 @@ class UserRolesList(SubListAttachDetachAPIView): class UserProjectsList(SubListAPIView): - model = models.Project serializer_class = serializers.ProjectSerializer parent_model = models.User @@ -1270,7 +1196,6 @@ class UserProjectsList(SubListAPIView): class UserOrganizationsList(OrganizationCountsMixin, SubListAPIView): - model = models.Organization serializer_class = serializers.OrganizationSerializer parent_model = models.User @@ -1285,7 +1210,6 @@ class UserOrganizationsList(OrganizationCountsMixin, SubListAPIView): class UserAdminOfOrganizationsList(OrganizationCountsMixin, SubListAPIView): - model = models.Organization serializer_class = serializers.OrganizationSerializer parent_model = models.User @@ -1300,7 +1224,6 @@ class UserAdminOfOrganizationsList(OrganizationCountsMixin, SubListAPIView): class UserActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.User @@ -1315,7 +1238,6 @@ class UserActivityStreamList(SubListAPIView): class UserDetail(RetrieveUpdateDestroyAPIView): - model = models.User serializer_class = serializers.UserSerializer @@ -1353,19 +1275,16 @@ class UserDetail(RetrieveUpdateDestroyAPIView): class UserAccessList(ResourceAccessList): - model = models.User # needs to be User for AccessLists's parent_model = models.User class CredentialTypeList(ListCreateAPIView): - model = models.CredentialType serializer_class = serializers.CredentialTypeSerializer class CredentialTypeDetail(RetrieveUpdateDestroyAPIView): - model = models.CredentialType serializer_class = serializers.CredentialTypeSerializer @@ -1379,7 +1298,6 @@ class CredentialTypeDetail(RetrieveUpdateDestroyAPIView): class CredentialTypeCredentialList(SubListCreateAPIView): - model = models.Credential parent_model = models.CredentialType relationship = 'credentials' @@ -1387,7 +1305,6 @@ class CredentialTypeCredentialList(SubListCreateAPIView): class CredentialTypeActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.CredentialType @@ -1396,13 +1313,11 @@ class CredentialTypeActivityStreamList(SubListAPIView): class CredentialList(ListCreateAPIView): - model = models.Credential serializer_class = serializers.CredentialSerializerCreate class CredentialOwnerUsersList(SubListAPIView): - model = models.User serializer_class = serializers.UserSerializer parent_model = models.Credential @@ -1411,7 +1326,6 @@ class CredentialOwnerUsersList(SubListAPIView): class CredentialOwnerTeamsList(SubListAPIView): - model = models.Team serializer_class = serializers.TeamSerializer parent_model = models.Credential @@ -1428,7 +1342,6 @@ class CredentialOwnerTeamsList(SubListAPIView): class UserCredentialsList(SubListCreateAPIView): - model = models.Credential serializer_class = serializers.UserCredentialSerializerCreate parent_model = models.User @@ -1444,7 +1357,6 @@ class UserCredentialsList(SubListCreateAPIView): class TeamCredentialsList(SubListCreateAPIView): - model = models.Credential serializer_class = serializers.TeamCredentialSerializerCreate parent_model = models.Team @@ -1460,7 +1372,6 @@ class TeamCredentialsList(SubListCreateAPIView): class OrganizationCredentialList(SubListCreateAPIView): - model = models.Credential serializer_class = serializers.OrganizationCredentialSerializerCreate parent_model = models.Organization @@ -1480,7 +1391,6 @@ class OrganizationCredentialList(SubListCreateAPIView): class CredentialDetail(RetrieveUpdateDestroyAPIView): - model = models.Credential serializer_class = serializers.CredentialSerializer @@ -1492,7 +1402,6 @@ class CredentialDetail(RetrieveUpdateDestroyAPIView): class CredentialActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.Credential @@ -1501,13 +1410,11 @@ class CredentialActivityStreamList(SubListAPIView): class CredentialAccessList(ResourceAccessList): - model = models.User # needs to be User for AccessLists's parent_model = models.Credential class CredentialObjectRolesList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.Credential @@ -1520,7 +1427,6 @@ class CredentialObjectRolesList(SubListAPIView): class CredentialCopy(CopyAPIView): - model = models.Credential copy_return_serializer_class = serializers.CredentialSerializer @@ -1563,7 +1469,6 @@ class CredentialExternalTest(SubDetailAPIView): class CredentialInputSourceDetail(RetrieveUpdateDestroyAPIView): - name = _("Credential Input Source Detail") model = models.CredentialInputSource @@ -1571,7 +1476,6 @@ class CredentialInputSourceDetail(RetrieveUpdateDestroyAPIView): class CredentialInputSourceList(ListCreateAPIView): - name = _("Credential Input Sources") model = models.CredentialInputSource @@ -1579,7 +1483,6 @@ class CredentialInputSourceList(ListCreateAPIView): class CredentialInputSourceSubList(SubListCreateAPIView): - name = _("Credential Input Sources") model = models.CredentialInputSource @@ -1629,7 +1532,6 @@ class HostRelatedSearchMixin(object): class HostList(HostRelatedSearchMixin, ListCreateAPIView): - always_allow_superuser = False model = models.Host serializer_class = serializers.HostSerializer @@ -1650,7 +1552,6 @@ class HostList(HostRelatedSearchMixin, ListCreateAPIView): class HostDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - always_allow_superuser = False model = models.Host serializer_class = serializers.HostSerializer @@ -1662,13 +1563,11 @@ class HostDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): class HostAnsibleFactsDetail(RetrieveAPIView): - model = models.Host serializer_class = serializers.AnsibleFactsSerializer class InventoryHostsList(HostRelatedSearchMixin, SubListCreateAttachDetachAPIView): - model = models.Host serializer_class = serializers.HostSerializer parent_model = models.Inventory @@ -1722,7 +1621,6 @@ class HostAllGroupsList(SubListAPIView): class HostInventorySourcesList(SubListAPIView): - model = models.InventorySource serializer_class = serializers.InventorySourceSerializer parent_model = models.Host @@ -1737,7 +1635,6 @@ class HostSmartInventoriesList(SubListAPIView): class HostActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.Host @@ -1764,7 +1661,6 @@ class GatewayTimeout(APIException): class GroupList(ListCreateAPIView): - model = models.Group serializer_class = serializers.GroupSerializer @@ -1800,7 +1696,6 @@ class EnforceParentRelationshipMixin(object): class GroupChildrenList(EnforceParentRelationshipMixin, SubListCreateAttachDetachAPIView): - model = models.Group serializer_class = serializers.GroupSerializer parent_model = models.Group @@ -1829,7 +1724,6 @@ class GroupChildrenList(EnforceParentRelationshipMixin, SubListCreateAttachDetac class GroupPotentialChildrenList(SubListAPIView): - model = models.Group serializer_class = serializers.GroupSerializer parent_model = models.Group @@ -1887,7 +1781,6 @@ class GroupAllHostsList(HostRelatedSearchMixin, SubListAPIView): class GroupInventorySourcesList(SubListAPIView): - model = models.InventorySource serializer_class = serializers.InventorySourceSerializer parent_model = models.Group @@ -1895,7 +1788,6 @@ class GroupInventorySourcesList(SubListAPIView): class GroupActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.Group @@ -1910,7 +1802,6 @@ class GroupActivityStreamList(SubListAPIView): class GroupDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = models.Group serializer_class = serializers.GroupSerializer @@ -1923,7 +1814,6 @@ class GroupDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): class InventoryGroupsList(SubListCreateAttachDetachAPIView): - model = models.Group serializer_class = serializers.GroupSerializer parent_model = models.Inventory @@ -1932,7 +1822,6 @@ class InventoryGroupsList(SubListCreateAttachDetachAPIView): class InventoryRootGroupsList(SubListCreateAttachDetachAPIView): - model = models.Group serializer_class = serializers.GroupSerializer parent_model = models.Inventory @@ -1947,32 +1836,27 @@ class InventoryRootGroupsList(SubListCreateAttachDetachAPIView): class BaseVariableData(RetrieveUpdateAPIView): - parser_classes = api_settings.DEFAULT_PARSER_CLASSES + [YAMLParser] renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES + [YAMLRenderer] permission_classes = (VariableDataPermission,) class InventoryVariableData(BaseVariableData): - model = models.Inventory serializer_class = serializers.InventoryVariableDataSerializer class HostVariableData(BaseVariableData): - model = models.Host serializer_class = serializers.HostVariableDataSerializer class GroupVariableData(BaseVariableData): - model = models.Group serializer_class = serializers.GroupVariableDataSerializer class InventoryScriptView(RetrieveAPIView): - model = models.Inventory serializer_class = serializers.InventoryScriptSerializer permission_classes = (TaskPermission,) @@ -2004,7 +1888,6 @@ class InventoryScriptView(RetrieveAPIView): class InventoryTreeView(RetrieveAPIView): - model = models.Inventory serializer_class = serializers.GroupTreeSerializer filter_backends = () @@ -2034,7 +1917,6 @@ class InventoryTreeView(RetrieveAPIView): class InventoryInventorySourcesList(SubListCreateAPIView): - name = _('Inventory Source List') model = models.InventorySource @@ -2094,20 +1976,17 @@ class InventoryInventorySourcesUpdate(RetrieveAPIView): class InventorySourceList(ListCreateAPIView): - model = models.InventorySource serializer_class = serializers.InventorySourceSerializer always_allow_superuser = False class InventorySourceDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = models.InventorySource serializer_class = serializers.InventorySourceSerializer class InventorySourceSchedulesList(SubListCreateAPIView): - name = _("Inventory Source Schedules") model = models.Schedule @@ -2118,7 +1997,6 @@ class InventorySourceSchedulesList(SubListCreateAPIView): class InventorySourceActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.InventorySource @@ -2127,7 +2005,6 @@ class InventorySourceActivityStreamList(SubListAPIView): class InventorySourceNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer parent_model = models.InventorySource @@ -2143,22 +2020,18 @@ class InventorySourceNotificationTemplatesAnyList(SubListCreateAttachDetachAPIVi class InventorySourceNotificationTemplatesStartedList(InventorySourceNotificationTemplatesAnyList): - relationship = 'notification_templates_started' class InventorySourceNotificationTemplatesErrorList(InventorySourceNotificationTemplatesAnyList): - relationship = 'notification_templates_error' class InventorySourceNotificationTemplatesSuccessList(InventorySourceNotificationTemplatesAnyList): - relationship = 'notification_templates_success' class InventorySourceHostsList(HostRelatedSearchMixin, SubListDestroyAPIView): - model = models.Host serializer_class = serializers.HostSerializer parent_model = models.InventorySource @@ -2187,7 +2060,6 @@ class InventorySourceHostsList(HostRelatedSearchMixin, SubListDestroyAPIView): class InventorySourceGroupsList(SubListDestroyAPIView): - model = models.Group serializer_class = serializers.GroupSerializer parent_model = models.InventorySource @@ -2213,7 +2085,6 @@ class InventorySourceGroupsList(SubListDestroyAPIView): class InventorySourceUpdatesList(SubListAPIView): - model = models.InventoryUpdate serializer_class = serializers.InventoryUpdateListSerializer parent_model = models.InventorySource @@ -2221,7 +2092,6 @@ class InventorySourceUpdatesList(SubListAPIView): class InventorySourceCredentialsList(SubListAttachDetachAPIView): - parent_model = models.InventorySource model = models.Credential serializer_class = serializers.CredentialSerializer @@ -2240,7 +2110,6 @@ class InventorySourceCredentialsList(SubListAttachDetachAPIView): class InventorySourceUpdateView(RetrieveAPIView): - model = models.InventorySource obj_permission_type = 'start' serializer_class = serializers.InventorySourceUpdateSerializer @@ -2264,19 +2133,16 @@ class InventorySourceUpdateView(RetrieveAPIView): class InventoryUpdateList(ListAPIView): - model = models.InventoryUpdate serializer_class = serializers.InventoryUpdateListSerializer class InventoryUpdateDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.InventoryUpdate serializer_class = serializers.InventoryUpdateDetailSerializer class InventoryUpdateCredentialsList(SubListAPIView): - parent_model = models.InventoryUpdate model = models.Credential serializer_class = serializers.CredentialSerializer @@ -2284,13 +2150,11 @@ class InventoryUpdateCredentialsList(SubListAPIView): class InventoryUpdateCancel(GenericCancelView): - model = models.InventoryUpdate serializer_class = serializers.InventoryUpdateCancelSerializer class InventoryUpdateNotificationsList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.InventoryUpdate @@ -2299,7 +2163,6 @@ class InventoryUpdateNotificationsList(SubListAPIView): class JobTemplateList(ListCreateAPIView): - model = models.JobTemplate serializer_class = serializers.JobTemplateSerializer always_allow_superuser = False @@ -2313,14 +2176,12 @@ class JobTemplateList(ListCreateAPIView): class JobTemplateDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = models.JobTemplate serializer_class = serializers.JobTemplateSerializer always_allow_superuser = False class JobTemplateLaunch(RetrieveAPIView): - model = models.JobTemplate obj_permission_type = 'start' serializer_class = serializers.JobLaunchSerializer @@ -2438,7 +2299,6 @@ class JobTemplateLaunch(RetrieveAPIView): class JobTemplateSchedulesList(SubListCreateAPIView): - name = _("Job Template Schedules") model = models.Schedule @@ -2449,7 +2309,6 @@ class JobTemplateSchedulesList(SubListCreateAPIView): class JobTemplateSurveySpec(GenericAPIView): - model = models.JobTemplate obj_permission_type = 'admin' serializer_class = serializers.EmptySerializer @@ -2627,12 +2486,10 @@ class JobTemplateSurveySpec(GenericAPIView): class WorkflowJobTemplateSurveySpec(JobTemplateSurveySpec): - model = models.WorkflowJobTemplate class JobTemplateActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.JobTemplate @@ -2641,29 +2498,24 @@ class JobTemplateActivityStreamList(SubListAPIView): class JobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer parent_model = models.JobTemplate class JobTemplateNotificationTemplatesStartedList(JobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_started' class JobTemplateNotificationTemplatesErrorList(JobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_error' class JobTemplateNotificationTemplatesSuccessList(JobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_success' class JobTemplateCredentialsList(SubListCreateAttachDetachAPIView): - model = models.Credential serializer_class = serializers.CredentialSerializer parent_model = models.JobTemplate @@ -2690,12 +2542,10 @@ class JobTemplateCredentialsList(SubListCreateAttachDetachAPIView): class JobTemplateLabelList(LabelSubListCreateAttachDetachView): - parent_model = models.JobTemplate class JobTemplateCallback(GenericAPIView): - model = models.JobTemplate permission_classes = (JobTemplateCallbackPermission,) serializer_class = serializers.EmptySerializer @@ -2846,7 +2696,6 @@ class JobTemplateCallback(GenericAPIView): class JobTemplateJobsList(SubListAPIView): - model = models.Job serializer_class = serializers.JobListSerializer parent_model = models.JobTemplate @@ -2855,7 +2704,6 @@ class JobTemplateJobsList(SubListAPIView): class JobTemplateSliceWorkflowJobsList(SubListCreateAPIView): - model = models.WorkflowJob serializer_class = serializers.WorkflowJobListSerializer parent_model = models.JobTemplate @@ -2864,7 +2712,6 @@ class JobTemplateSliceWorkflowJobsList(SubListCreateAPIView): class JobTemplateInstanceGroupsList(SubListAttachDetachAPIView): - model = models.InstanceGroup serializer_class = serializers.InstanceGroupSerializer parent_model = models.JobTemplate @@ -2872,13 +2719,11 @@ class JobTemplateInstanceGroupsList(SubListAttachDetachAPIView): class JobTemplateAccessList(ResourceAccessList): - model = models.User # needs to be User for AccessLists's parent_model = models.JobTemplate class JobTemplateObjectRolesList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.JobTemplate @@ -2891,26 +2736,22 @@ class JobTemplateObjectRolesList(SubListAPIView): class JobTemplateCopy(CopyAPIView): - model = models.JobTemplate copy_return_serializer_class = serializers.JobTemplateSerializer class WorkflowJobNodeList(ListAPIView): - model = models.WorkflowJobNode serializer_class = serializers.WorkflowJobNodeListSerializer search_fields = ('unified_job_template__name', 'unified_job_template__description') class WorkflowJobNodeDetail(RetrieveAPIView): - model = models.WorkflowJobNode serializer_class = serializers.WorkflowJobNodeDetailSerializer class WorkflowJobNodeCredentialsList(SubListAPIView): - model = models.Credential serializer_class = serializers.CredentialSerializer parent_model = models.WorkflowJobNode @@ -2918,7 +2759,6 @@ class WorkflowJobNodeCredentialsList(SubListAPIView): class WorkflowJobNodeLabelsList(SubListAPIView): - model = models.Label serializer_class = serializers.LabelSerializer parent_model = models.WorkflowJobNode @@ -2926,7 +2766,6 @@ class WorkflowJobNodeLabelsList(SubListAPIView): class WorkflowJobNodeInstanceGroupsList(SubListAttachDetachAPIView): - model = models.InstanceGroup serializer_class = serializers.InstanceGroupSerializer parent_model = models.WorkflowJobNode @@ -2934,30 +2773,25 @@ class WorkflowJobNodeInstanceGroupsList(SubListAttachDetachAPIView): class WorkflowJobTemplateNodeList(ListCreateAPIView): - model = models.WorkflowJobTemplateNode serializer_class = serializers.WorkflowJobTemplateNodeSerializer search_fields = ('unified_job_template__name', 'unified_job_template__description') class WorkflowJobTemplateNodeDetail(RetrieveUpdateDestroyAPIView): - model = models.WorkflowJobTemplateNode serializer_class = serializers.WorkflowJobTemplateNodeDetailSerializer class WorkflowJobTemplateNodeCredentialsList(LaunchConfigCredentialsBase): - parent_model = models.WorkflowJobTemplateNode class WorkflowJobTemplateNodeLabelsList(LabelSubListCreateAttachDetachView): - parent_model = models.WorkflowJobTemplateNode class WorkflowJobTemplateNodeInstanceGroupsList(SubListAttachDetachAPIView): - model = models.InstanceGroup serializer_class = serializers.InstanceGroupSerializer parent_model = models.WorkflowJobTemplateNode @@ -2965,7 +2799,6 @@ class WorkflowJobTemplateNodeInstanceGroupsList(SubListAttachDetachAPIView): class WorkflowJobTemplateNodeChildrenBaseList(EnforceParentRelationshipMixin, SubListCreateAttachDetachAPIView): - model = models.WorkflowJobTemplateNode serializer_class = serializers.WorkflowJobTemplateNodeSerializer always_allow_superuser = True @@ -2985,7 +2818,6 @@ class WorkflowJobTemplateNodeChildrenBaseList(EnforceParentRelationshipMixin, Su return getattr(parent, self.relationship).all() def is_valid_relation(self, parent, sub, created=False): - if created: return None @@ -3015,7 +2847,6 @@ class WorkflowJobTemplateNodeChildrenBaseList(EnforceParentRelationshipMixin, Su class WorkflowJobTemplateNodeCreateApproval(RetrieveAPIView): - model = models.WorkflowJobTemplateNode serializer_class = serializers.WorkflowJobTemplateNodeCreateApprovalSerializer permission_classes = [] @@ -3054,7 +2885,6 @@ class WorkflowJobTemplateNodeAlwaysNodesList(WorkflowJobTemplateNodeChildrenBase class WorkflowJobNodeChildrenBaseList(SubListAPIView): - model = models.WorkflowJobNode serializer_class = serializers.WorkflowJobNodeListSerializer parent_model = models.WorkflowJobNode @@ -3083,21 +2913,18 @@ class WorkflowJobNodeAlwaysNodesList(WorkflowJobNodeChildrenBaseList): class WorkflowJobTemplateList(ListCreateAPIView): - model = models.WorkflowJobTemplate serializer_class = serializers.WorkflowJobTemplateSerializer always_allow_superuser = False class WorkflowJobTemplateDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = models.WorkflowJobTemplate serializer_class = serializers.WorkflowJobTemplateSerializer always_allow_superuser = False class WorkflowJobTemplateCopy(CopyAPIView): - model = models.WorkflowJobTemplate copy_return_serializer_class = serializers.WorkflowJobTemplateSerializer @@ -3156,7 +2983,6 @@ class WorkflowJobTemplateLabelList(JobTemplateLabelList): class WorkflowJobTemplateLaunch(RetrieveAPIView): - model = models.WorkflowJobTemplate obj_permission_type = 'start' serializer_class = serializers.WorkflowJobLaunchSerializer @@ -3213,7 +3039,6 @@ class WorkflowJobTemplateLaunch(RetrieveAPIView): class WorkflowJobRelaunch(GenericAPIView): - model = models.WorkflowJob obj_permission_type = 'start' serializer_class = serializers.EmptySerializer @@ -3245,7 +3070,6 @@ class WorkflowJobRelaunch(GenericAPIView): class WorkflowJobTemplateWorkflowNodesList(SubListCreateAPIView): - model = models.WorkflowJobTemplateNode serializer_class = serializers.WorkflowJobTemplateNodeSerializer parent_model = models.WorkflowJobTemplate @@ -3258,7 +3082,6 @@ class WorkflowJobTemplateWorkflowNodesList(SubListCreateAPIView): class WorkflowJobTemplateJobsList(SubListAPIView): - model = models.WorkflowJob serializer_class = serializers.WorkflowJobListSerializer parent_model = models.WorkflowJobTemplate @@ -3267,7 +3090,6 @@ class WorkflowJobTemplateJobsList(SubListAPIView): class WorkflowJobTemplateSchedulesList(SubListCreateAPIView): - name = _("Workflow Job Template Schedules") model = models.Schedule @@ -3278,40 +3100,33 @@ class WorkflowJobTemplateSchedulesList(SubListCreateAPIView): class WorkflowJobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer parent_model = models.WorkflowJobTemplate class WorkflowJobTemplateNotificationTemplatesStartedList(WorkflowJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_started' class WorkflowJobTemplateNotificationTemplatesErrorList(WorkflowJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_error' class WorkflowJobTemplateNotificationTemplatesSuccessList(WorkflowJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_success' class WorkflowJobTemplateNotificationTemplatesApprovalList(WorkflowJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_approvals' class WorkflowJobTemplateAccessList(ResourceAccessList): - model = models.User # needs to be User for AccessLists's parent_model = models.WorkflowJobTemplate class WorkflowJobTemplateObjectRolesList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.WorkflowJobTemplate @@ -3324,7 +3139,6 @@ class WorkflowJobTemplateObjectRolesList(SubListAPIView): class WorkflowJobTemplateActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.WorkflowJobTemplate @@ -3339,19 +3153,16 @@ class WorkflowJobTemplateActivityStreamList(SubListAPIView): class WorkflowJobList(ListAPIView): - model = models.WorkflowJob serializer_class = serializers.WorkflowJobListSerializer class WorkflowJobDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.WorkflowJob serializer_class = serializers.WorkflowJobSerializer class WorkflowJobWorkflowNodesList(SubListAPIView): - model = models.WorkflowJobNode serializer_class = serializers.WorkflowJobNodeListSerializer always_allow_superuser = True @@ -3365,7 +3176,6 @@ class WorkflowJobWorkflowNodesList(SubListAPIView): class WorkflowJobCancel(GenericCancelView): - model = models.WorkflowJob serializer_class = serializers.WorkflowJobCancelSerializer @@ -3376,7 +3186,6 @@ class WorkflowJobCancel(GenericCancelView): class WorkflowJobNotificationsList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.WorkflowJob @@ -3391,7 +3200,6 @@ class WorkflowJobNotificationsList(SubListAPIView): class WorkflowJobActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.WorkflowJob @@ -3400,7 +3208,6 @@ class WorkflowJobActivityStreamList(SubListAPIView): class SystemJobTemplateList(ListAPIView): - model = models.SystemJobTemplate serializer_class = serializers.SystemJobTemplateSerializer @@ -3411,13 +3218,11 @@ class SystemJobTemplateList(ListAPIView): class SystemJobTemplateDetail(RetrieveAPIView): - model = models.SystemJobTemplate serializer_class = serializers.SystemJobTemplateSerializer class SystemJobTemplateLaunch(GenericAPIView): - model = models.SystemJobTemplate obj_permission_type = 'start' serializer_class = serializers.EmptySerializer @@ -3438,7 +3243,6 @@ class SystemJobTemplateLaunch(GenericAPIView): class SystemJobTemplateSchedulesList(SubListCreateAPIView): - name = _("System Job Template Schedules") model = models.Schedule @@ -3449,7 +3253,6 @@ class SystemJobTemplateSchedulesList(SubListCreateAPIView): class SystemJobTemplateJobsList(SubListAPIView): - model = models.SystemJob serializer_class = serializers.SystemJobListSerializer parent_model = models.SystemJobTemplate @@ -3458,35 +3261,29 @@ class SystemJobTemplateJobsList(SubListAPIView): class SystemJobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer parent_model = models.SystemJobTemplate class SystemJobTemplateNotificationTemplatesStartedList(SystemJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_started' class SystemJobTemplateNotificationTemplatesErrorList(SystemJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_error' class SystemJobTemplateNotificationTemplatesSuccessList(SystemJobTemplateNotificationTemplatesAnyList): - relationship = 'notification_templates_success' class JobList(ListAPIView): - model = models.Job serializer_class = serializers.JobListSerializer class JobDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.Job serializer_class = serializers.JobDetailSerializer @@ -3499,7 +3296,6 @@ class JobDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): class JobCredentialsList(SubListAPIView): - model = models.Credential serializer_class = serializers.CredentialSerializer parent_model = models.Job @@ -3507,7 +3303,6 @@ class JobCredentialsList(SubListAPIView): class JobLabelList(SubListAPIView): - model = models.Label serializer_class = serializers.LabelSerializer parent_model = models.Job @@ -3520,7 +3315,6 @@ class WorkflowJobLabelList(JobLabelList): class JobActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.Job @@ -3529,13 +3323,11 @@ class JobActivityStreamList(SubListAPIView): class JobCancel(GenericCancelView): - model = models.Job serializer_class = serializers.JobCancelSerializer class JobRelaunch(RetrieveAPIView): - model = models.Job obj_permission_type = 'start' serializer_class = serializers.JobRelaunchSerializer @@ -3620,7 +3412,6 @@ class JobRelaunch(RetrieveAPIView): class JobCreateSchedule(RetrieveAPIView): - model = models.Job obj_permission_type = 'start' serializer_class = serializers.JobCreateScheduleSerializer @@ -3681,7 +3472,6 @@ class JobCreateSchedule(RetrieveAPIView): class JobNotificationsList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.Job @@ -3690,7 +3480,6 @@ class JobNotificationsList(SubListAPIView): class BaseJobHostSummariesList(SubListAPIView): - model = models.JobHostSummary serializer_class = serializers.JobHostSummarySerializer parent_model = None # Subclasses must define this attribute. @@ -3705,28 +3494,23 @@ class BaseJobHostSummariesList(SubListAPIView): class HostJobHostSummariesList(BaseJobHostSummariesList): - parent_model = models.Host class GroupJobHostSummariesList(BaseJobHostSummariesList): - parent_model = models.Group class JobJobHostSummariesList(BaseJobHostSummariesList): - parent_model = models.Job class JobHostSummaryDetail(RetrieveAPIView): - model = models.JobHostSummary serializer_class = serializers.JobHostSummarySerializer class JobEventDetail(RetrieveAPIView): - serializer_class = serializers.JobEventSerializer @property @@ -3748,7 +3532,6 @@ class JobEventDetail(RetrieveAPIView): class JobEventChildrenList(NoTruncateMixin, SubListAPIView): - serializer_class = serializers.JobEventSerializer relationship = 'children' name = _('Job Event Children List') @@ -3777,7 +3560,6 @@ class JobEventChildrenList(NoTruncateMixin, SubListAPIView): class BaseJobEventsList(NoTruncateMixin, SubListAPIView): - model = models.JobEvent serializer_class = serializers.JobEventSerializer parent_model = None # Subclasses must define this attribute. @@ -3791,7 +3573,6 @@ class BaseJobEventsList(NoTruncateMixin, SubListAPIView): class HostJobEventsList(BaseJobEventsList): - parent_model = models.Host def get_queryset(self): @@ -3802,12 +3583,10 @@ class HostJobEventsList(BaseJobEventsList): class GroupJobEventsList(BaseJobEventsList): - parent_model = models.Group class JobJobEventsList(BaseJobEventsList): - parent_model = models.Job pagination_class = UnifiedJobEventPagination @@ -3818,7 +3597,6 @@ class JobJobEventsList(BaseJobEventsList): class JobJobEventsChildrenSummary(APIView): - renderer_classes = [JSONRenderer] meta_events = ('debug', 'verbose', 'warning', 'error', 'system_warning', 'deprecated') @@ -3924,7 +3702,6 @@ class JobJobEventsChildrenSummary(APIView): class AdHocCommandList(ListCreateAPIView): - model = models.AdHocCommand serializer_class = serializers.AdHocCommandListSerializer always_allow_superuser = False @@ -3979,38 +3756,32 @@ class AdHocCommandList(ListCreateAPIView): class InventoryAdHocCommandsList(AdHocCommandList, SubListCreateAPIView): - parent_model = models.Inventory relationship = 'ad_hoc_commands' parent_key = 'inventory' class GroupAdHocCommandsList(AdHocCommandList, SubListCreateAPIView): - parent_model = models.Group relationship = 'ad_hoc_commands' class HostAdHocCommandsList(AdHocCommandList, SubListCreateAPIView): - parent_model = models.Host relationship = 'ad_hoc_commands' class AdHocCommandDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.AdHocCommand serializer_class = serializers.AdHocCommandDetailSerializer class AdHocCommandCancel(GenericCancelView): - model = models.AdHocCommand serializer_class = serializers.AdHocCommandCancelSerializer class AdHocCommandRelaunch(GenericAPIView): - model = models.AdHocCommand obj_permission_type = 'start' serializer_class = serializers.AdHocCommandRelaunchSerializer @@ -4064,7 +3835,6 @@ class AdHocCommandRelaunch(GenericAPIView): class AdHocCommandEventDetail(RetrieveAPIView): - model = models.AdHocCommandEvent serializer_class = serializers.AdHocCommandEventSerializer @@ -4075,7 +3845,6 @@ class AdHocCommandEventDetail(RetrieveAPIView): class BaseAdHocCommandEventsList(NoTruncateMixin, SubListAPIView): - model = models.AdHocCommandEvent serializer_class = serializers.AdHocCommandEventSerializer parent_model = None # Subclasses must define this attribute. @@ -4091,7 +3860,6 @@ class BaseAdHocCommandEventsList(NoTruncateMixin, SubListAPIView): class HostAdHocCommandEventsList(BaseAdHocCommandEventsList): - parent_model = models.Host def get_queryset(self): @@ -4103,12 +3871,10 @@ class HostAdHocCommandEventsList(BaseAdHocCommandEventsList): class AdHocCommandAdHocCommandEventsList(BaseAdHocCommandEventsList): - parent_model = models.AdHocCommand class AdHocCommandActivityStreamList(SubListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer parent_model = models.AdHocCommand @@ -4117,7 +3883,6 @@ class AdHocCommandActivityStreamList(SubListAPIView): class AdHocCommandNotificationsList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.AdHocCommand @@ -4126,7 +3891,6 @@ class AdHocCommandNotificationsList(SubListAPIView): class SystemJobList(ListAPIView): - model = models.SystemJob serializer_class = serializers.SystemJobListSerializer @@ -4137,19 +3901,16 @@ class SystemJobList(ListAPIView): class SystemJobDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.SystemJob serializer_class = serializers.SystemJobSerializer class SystemJobCancel(GenericCancelView): - model = models.SystemJob serializer_class = serializers.SystemJobCancelSerializer class SystemJobNotificationsList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.SystemJob @@ -4158,14 +3919,12 @@ class SystemJobNotificationsList(SubListAPIView): class UnifiedJobTemplateList(ListAPIView): - model = models.UnifiedJobTemplate serializer_class = serializers.UnifiedJobTemplateSerializer search_fields = ('description', 'name', 'jobtemplate__playbook') class UnifiedJobList(ListAPIView): - model = models.UnifiedJob serializer_class = serializers.UnifiedJobListSerializer search_fields = ('description', 'name', 'job__playbook') @@ -4211,7 +3970,6 @@ class StdoutFilter(object): class UnifiedJobStdout(RetrieveAPIView): - authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES serializer_class = serializers.UnifiedJobStdoutSerializer renderer_classes = [ @@ -4285,33 +4043,27 @@ class UnifiedJobStdout(RetrieveAPIView): class ProjectUpdateStdout(UnifiedJobStdout): - model = models.ProjectUpdate class InventoryUpdateStdout(UnifiedJobStdout): - model = models.InventoryUpdate class JobStdout(UnifiedJobStdout): - model = models.Job class AdHocCommandStdout(UnifiedJobStdout): - model = models.AdHocCommand class NotificationTemplateList(ListCreateAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer class NotificationTemplateDetail(RetrieveUpdateDestroyAPIView): - model = models.NotificationTemplate serializer_class = serializers.NotificationTemplateSerializer @@ -4357,7 +4109,6 @@ class NotificationTemplateTest(GenericAPIView): class NotificationTemplateNotificationList(SubListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer parent_model = models.NotificationTemplate @@ -4367,39 +4118,33 @@ class NotificationTemplateNotificationList(SubListAPIView): class NotificationTemplateCopy(CopyAPIView): - model = models.NotificationTemplate copy_return_serializer_class = serializers.NotificationTemplateSerializer class NotificationList(ListAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer search_fields = ('subject', 'notification_type', 'body') class NotificationDetail(RetrieveAPIView): - model = models.Notification serializer_class = serializers.NotificationSerializer class ActivityStreamList(SimpleListAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer search_fields = ('changes',) class ActivityStreamDetail(RetrieveAPIView): - model = models.ActivityStream serializer_class = serializers.ActivityStreamSerializer class RoleList(ListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer permission_classes = (IsAuthenticated,) @@ -4407,13 +4152,11 @@ class RoleList(ListAPIView): class RoleDetail(RetrieveAPIView): - model = models.Role serializer_class = serializers.RoleSerializer class RoleUsersList(SubListAttachDetachAPIView): - model = models.User serializer_class = serializers.UserSerializer parent_model = models.Role @@ -4448,7 +4191,6 @@ class RoleUsersList(SubListAttachDetachAPIView): class RoleTeamsList(SubListAttachDetachAPIView): - model = models.Team serializer_class = serializers.TeamSerializer parent_model = models.Role @@ -4497,7 +4239,6 @@ class RoleTeamsList(SubListAttachDetachAPIView): class RoleParentsList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.Role @@ -4511,7 +4252,6 @@ class RoleParentsList(SubListAPIView): class RoleChildrenList(SubListAPIView): - model = models.Role serializer_class = serializers.RoleSerializer parent_model = models.Role @@ -4536,13 +4276,11 @@ for attr, value in list(locals().items()): class WorkflowApprovalTemplateDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = models.WorkflowApprovalTemplate serializer_class = serializers.WorkflowApprovalTemplateSerializer class WorkflowApprovalTemplateJobsList(SubListAPIView): - model = models.WorkflowApproval serializer_class = serializers.WorkflowApprovalListSerializer parent_model = models.WorkflowApprovalTemplate @@ -4551,7 +4289,6 @@ class WorkflowApprovalTemplateJobsList(SubListAPIView): class WorkflowApprovalList(ListCreateAPIView): - model = models.WorkflowApproval serializer_class = serializers.WorkflowApprovalListSerializer @@ -4560,7 +4297,6 @@ class WorkflowApprovalList(ListCreateAPIView): class WorkflowApprovalDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): - model = models.WorkflowApproval serializer_class = serializers.WorkflowApprovalSerializer diff --git a/awx/api/views/instance_install_bundle.py b/awx/api/views/instance_install_bundle.py index 9b2ac0563c..3f65abfc6d 100644 --- a/awx/api/views/instance_install_bundle.py +++ b/awx/api/views/instance_install_bundle.py @@ -25,6 +25,7 @@ from rest_framework import status # Red Hat has an OID namespace (RHANANA). Receptor has its own designation under that. RECEPTOR_OID = "1.3.6.1.4.1.2312.19.1" + # generate install bundle for the instance # install bundle directory structure # ├── install_receptor.yml (playbook) @@ -40,7 +41,6 @@ RECEPTOR_OID = "1.3.6.1.4.1.2312.19.1" # │ └── work-public-key.pem # └── requirements.yml class InstanceInstallBundle(GenericAPIView): - name = _('Install Bundle') model = models.Instance serializer_class = serializers.InstanceSerializer diff --git a/awx/api/views/inventory.py b/awx/api/views/inventory.py index 31b9cf23ae..72b04d7d8b 100644 --- a/awx/api/views/inventory.py +++ b/awx/api/views/inventory.py @@ -46,7 +46,6 @@ logger = logging.getLogger('awx.api.views.organization') class InventoryUpdateEventsList(SubListAPIView): - model = InventoryUpdateEvent serializer_class = InventoryUpdateEventSerializer parent_model = InventoryUpdate @@ -66,13 +65,11 @@ class InventoryUpdateEventsList(SubListAPIView): class InventoryList(ListCreateAPIView): - model = Inventory serializer_class = InventorySerializer class InventoryDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = Inventory serializer_class = InventorySerializer @@ -98,7 +95,6 @@ class InventoryDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIVie class InventoryActivityStreamList(SubListAPIView): - model = ActivityStream serializer_class = ActivityStreamSerializer parent_model = Inventory @@ -113,7 +109,6 @@ class InventoryActivityStreamList(SubListAPIView): class InventoryInstanceGroupsList(SubListAttachDetachAPIView): - model = InstanceGroup serializer_class = InstanceGroupSerializer parent_model = Inventory @@ -121,13 +116,11 @@ class InventoryInstanceGroupsList(SubListAttachDetachAPIView): class InventoryAccessList(ResourceAccessList): - model = User # needs to be User for AccessLists's parent_model = Inventory class InventoryObjectRolesList(SubListAPIView): - model = Role serializer_class = RoleSerializer parent_model = Inventory @@ -140,7 +133,6 @@ class InventoryObjectRolesList(SubListAPIView): class InventoryJobTemplateList(SubListAPIView): - model = JobTemplate serializer_class = JobTemplateSerializer parent_model = Inventory @@ -154,11 +146,9 @@ class InventoryJobTemplateList(SubListAPIView): class InventoryLabelList(LabelSubListCreateAttachDetachView): - parent_model = Inventory class InventoryCopy(CopyAPIView): - model = Inventory copy_return_serializer_class = InventorySerializer diff --git a/awx/api/views/labels.py b/awx/api/views/labels.py index 95a7f42941..a1099143da 100644 --- a/awx/api/views/labels.py +++ b/awx/api/views/labels.py @@ -59,13 +59,11 @@ class LabelSubListCreateAttachDetachView(SubListCreateAttachDetachAPIView): class LabelDetail(RetrieveUpdateAPIView): - model = Label serializer_class = LabelSerializer class LabelList(ListCreateAPIView): - name = _("Labels") model = Label serializer_class = LabelSerializer diff --git a/awx/api/views/mesh_visualizer.py b/awx/api/views/mesh_visualizer.py index e790069700..d09dab0732 100644 --- a/awx/api/views/mesh_visualizer.py +++ b/awx/api/views/mesh_visualizer.py @@ -10,13 +10,11 @@ from awx.main.models import InstanceLink, Instance class MeshVisualizer(APIView): - name = _("Mesh Visualizer") permission_classes = (IsSystemAdminOrAuditor,) swagger_topic = "System Configuration" def get(self, request, format=None): - data = { 'nodes': InstanceNodeSerializer(Instance.objects.all(), many=True).data, 'links': InstanceLinkSerializer(InstanceLink.objects.select_related('target', 'source'), many=True).data, diff --git a/awx/api/views/metrics.py b/awx/api/views/metrics.py index 4c05819f13..a5a628f510 100644 --- a/awx/api/views/metrics.py +++ b/awx/api/views/metrics.py @@ -27,7 +27,6 @@ logger = logging.getLogger('awx.analytics') class MetricsView(APIView): - name = _('Metrics') swagger_topic = 'Metrics' diff --git a/awx/api/views/organization.py b/awx/api/views/organization.py index 099edcadb0..ece00c157b 100644 --- a/awx/api/views/organization.py +++ b/awx/api/views/organization.py @@ -58,7 +58,6 @@ logger = logging.getLogger('awx.api.views.organization') class OrganizationList(OrganizationCountsMixin, ListCreateAPIView): - model = Organization serializer_class = OrganizationSerializer @@ -70,7 +69,6 @@ class OrganizationList(OrganizationCountsMixin, ListCreateAPIView): class OrganizationDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPIView): - model = Organization serializer_class = OrganizationSerializer @@ -106,7 +104,6 @@ class OrganizationDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPI class OrganizationInventoriesList(SubListAPIView): - model = Inventory serializer_class = InventorySerializer parent_model = Organization @@ -114,7 +111,6 @@ class OrganizationInventoriesList(SubListAPIView): class OrganizationUsersList(BaseUsersList): - model = User serializer_class = UserSerializer parent_model = Organization @@ -123,7 +119,6 @@ class OrganizationUsersList(BaseUsersList): class OrganizationAdminsList(BaseUsersList): - model = User serializer_class = UserSerializer parent_model = Organization @@ -132,7 +127,6 @@ class OrganizationAdminsList(BaseUsersList): class OrganizationProjectsList(SubListCreateAPIView): - model = Project serializer_class = ProjectSerializer parent_model = Organization @@ -140,7 +134,6 @@ class OrganizationProjectsList(SubListCreateAPIView): class OrganizationExecutionEnvironmentsList(SubListCreateAttachDetachAPIView): - model = ExecutionEnvironment serializer_class = ExecutionEnvironmentSerializer parent_model = Organization @@ -150,7 +143,6 @@ class OrganizationExecutionEnvironmentsList(SubListCreateAttachDetachAPIView): class OrganizationJobTemplatesList(SubListCreateAPIView): - model = JobTemplate serializer_class = JobTemplateSerializer parent_model = Organization @@ -158,7 +150,6 @@ class OrganizationJobTemplatesList(SubListCreateAPIView): class OrganizationWorkflowJobTemplatesList(SubListCreateAPIView): - model = WorkflowJobTemplate serializer_class = WorkflowJobTemplateSerializer parent_model = Organization @@ -166,7 +157,6 @@ class OrganizationWorkflowJobTemplatesList(SubListCreateAPIView): class OrganizationTeamsList(SubListCreateAttachDetachAPIView): - model = Team serializer_class = TeamSerializer parent_model = Organization @@ -175,7 +165,6 @@ class OrganizationTeamsList(SubListCreateAttachDetachAPIView): class OrganizationActivityStreamList(SubListAPIView): - model = ActivityStream serializer_class = ActivityStreamSerializer parent_model = Organization @@ -184,7 +173,6 @@ class OrganizationActivityStreamList(SubListAPIView): class OrganizationNotificationTemplatesList(SubListCreateAttachDetachAPIView): - model = NotificationTemplate serializer_class = NotificationTemplateSerializer parent_model = Organization @@ -193,34 +181,28 @@ class OrganizationNotificationTemplatesList(SubListCreateAttachDetachAPIView): class OrganizationNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): - model = NotificationTemplate serializer_class = NotificationTemplateSerializer parent_model = Organization class OrganizationNotificationTemplatesStartedList(OrganizationNotificationTemplatesAnyList): - relationship = 'notification_templates_started' class OrganizationNotificationTemplatesErrorList(OrganizationNotificationTemplatesAnyList): - relationship = 'notification_templates_error' class OrganizationNotificationTemplatesSuccessList(OrganizationNotificationTemplatesAnyList): - relationship = 'notification_templates_success' class OrganizationNotificationTemplatesApprovalList(OrganizationNotificationTemplatesAnyList): - relationship = 'notification_templates_approvals' class OrganizationInstanceGroupsList(SubListAttachDetachAPIView): - model = InstanceGroup serializer_class = InstanceGroupSerializer parent_model = Organization @@ -228,7 +210,6 @@ class OrganizationInstanceGroupsList(SubListAttachDetachAPIView): class OrganizationGalaxyCredentialsList(SubListAttachDetachAPIView): - model = Credential serializer_class = CredentialSerializer parent_model = Organization @@ -240,13 +221,11 @@ class OrganizationGalaxyCredentialsList(SubListAttachDetachAPIView): class OrganizationAccessList(ResourceAccessList): - model = User # needs to be User for AccessLists's parent_model = Organization class OrganizationObjectRolesList(SubListAPIView): - model = Role serializer_class = RoleSerializer parent_model = Organization diff --git a/awx/api/views/root.py b/awx/api/views/root.py index d879e4537e..01a742bf74 100644 --- a/awx/api/views/root.py +++ b/awx/api/views/root.py @@ -36,7 +36,6 @@ logger = logging.getLogger('awx.api.views.root') class ApiRootView(APIView): - permission_classes = (AllowAny,) name = _('REST API') versioning_class = None @@ -59,7 +58,6 @@ class ApiRootView(APIView): class ApiOAuthAuthorizationRootView(APIView): - permission_classes = (AllowAny,) name = _("API OAuth 2 Authorization Root") versioning_class = None @@ -74,7 +72,6 @@ class ApiOAuthAuthorizationRootView(APIView): class ApiVersionRootView(APIView): - permission_classes = (AllowAny,) swagger_topic = 'Versioning' @@ -172,7 +169,6 @@ class ApiV2PingView(APIView): class ApiV2SubscriptionView(APIView): - permission_classes = (IsAuthenticated,) name = _('Subscriptions') swagger_topic = 'System Configuration' @@ -212,7 +208,6 @@ class ApiV2SubscriptionView(APIView): class ApiV2AttachView(APIView): - permission_classes = (IsAuthenticated,) name = _('Attach Subscription') swagger_topic = 'System Configuration' @@ -230,7 +225,6 @@ class ApiV2AttachView(APIView): user = getattr(settings, 'SUBSCRIPTIONS_USERNAME', None) pw = getattr(settings, 'SUBSCRIPTIONS_PASSWORD', None) if pool_id and user and pw: - data = request.data.copy() try: with set_environ(**settings.AWX_TASK_ENV): @@ -258,7 +252,6 @@ class ApiV2AttachView(APIView): class ApiV2ConfigView(APIView): - permission_classes = (IsAuthenticated,) name = _('Configuration') swagger_topic = 'System Configuration' diff --git a/awx/conf/apps.py b/awx/conf/apps.py index 811baba262..49993d6203 100644 --- a/awx/conf/apps.py +++ b/awx/conf/apps.py @@ -8,7 +8,6 @@ from django.utils.translation import gettext_lazy as _ class ConfConfig(AppConfig): - name = 'awx.conf' verbose_name = _('Configuration') @@ -16,7 +15,6 @@ class ConfConfig(AppConfig): self.module.autodiscover() if not set(sys.argv) & {'migrate', 'check_migrations'}: - from .settings import SettingsWrapper SettingsWrapper.initialize() diff --git a/awx/conf/fields.py b/awx/conf/fields.py index 7802b2a085..0073e473fd 100644 --- a/awx/conf/fields.py +++ b/awx/conf/fields.py @@ -47,7 +47,6 @@ class IntegerField(IntegerField): class StringListField(ListField): - child = CharField() def to_representation(self, value): @@ -57,7 +56,6 @@ class StringListField(ListField): class StringListBooleanField(ListField): - default_error_messages = {'type_error': _('Expected None, True, False, a string or list of strings but got {input_type} instead.')} child = CharField() @@ -96,7 +94,6 @@ class StringListBooleanField(ListField): class StringListPathField(StringListField): - default_error_messages = {'type_error': _('Expected list of strings but got {input_type} instead.'), 'path_error': _('{path} is not a valid path choice.')} def to_internal_value(self, paths): @@ -126,7 +123,6 @@ class StringListIsolatedPathField(StringListField): } def to_internal_value(self, paths): - if isinstance(paths, (list, tuple)): for p in paths: if not isinstance(p, str): diff --git a/awx/conf/migrations/0001_initial.py b/awx/conf/migrations/0001_initial.py index ffde1c4bd6..a473ef07f7 100644 --- a/awx/conf/migrations/0001_initial.py +++ b/awx/conf/migrations/0001_initial.py @@ -8,7 +8,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] operations = [ diff --git a/awx/conf/migrations/0002_v310_copy_tower_settings.py b/awx/conf/migrations/0002_v310_copy_tower_settings.py index be036b38a6..433ba77ae3 100644 --- a/awx/conf/migrations/0002_v310_copy_tower_settings.py +++ b/awx/conf/migrations/0002_v310_copy_tower_settings.py @@ -48,7 +48,6 @@ def revert_tower_settings(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [('conf', '0001_initial'), ('main', '0004_squashed_v310_release')] run_before = [('main', '0005_squashed_v310_v313_updates')] diff --git a/awx/conf/migrations/0003_v310_JSONField_changes.py b/awx/conf/migrations/0003_v310_JSONField_changes.py index 6c0b5cba98..f4ea1b0b34 100644 --- a/awx/conf/migrations/0003_v310_JSONField_changes.py +++ b/awx/conf/migrations/0003_v310_JSONField_changes.py @@ -7,7 +7,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [('conf', '0002_v310_copy_tower_settings')] operations = [migrations.AlterField(model_name='setting', name='value', field=awx.main.fields.JSONBlob(null=True))] diff --git a/awx/conf/migrations/0004_v320_reencrypt.py b/awx/conf/migrations/0004_v320_reencrypt.py index de74493283..a73ea409fe 100644 --- a/awx/conf/migrations/0004_v320_reencrypt.py +++ b/awx/conf/migrations/0004_v320_reencrypt.py @@ -5,7 +5,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [('conf', '0003_v310_JSONField_changes')] operations = [ diff --git a/awx/conf/migrations/0005_v330_rename_two_session_settings.py b/awx/conf/migrations/0005_v330_rename_two_session_settings.py index f1034ee50a..b239a4cbe7 100644 --- a/awx/conf/migrations/0005_v330_rename_two_session_settings.py +++ b/awx/conf/migrations/0005_v330_rename_two_session_settings.py @@ -15,7 +15,6 @@ def reverse_copy_session_settings(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [('conf', '0004_v320_reencrypt')] operations = [migrations.RunPython(copy_session_settings, reverse_copy_session_settings)] diff --git a/awx/conf/migrations/0006_v331_ldap_group_type.py b/awx/conf/migrations/0006_v331_ldap_group_type.py index b53255f29e..9b7bf4e6ec 100644 --- a/awx/conf/migrations/0006_v331_ldap_group_type.py +++ b/awx/conf/migrations/0006_v331_ldap_group_type.py @@ -8,7 +8,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [('conf', '0005_v330_rename_two_session_settings')] operations = [migrations.RunPython(fill_ldap_group_type_params)] diff --git a/awx/conf/migrations/0007_v380_rename_more_settings.py b/awx/conf/migrations/0007_v380_rename_more_settings.py index 2a007d0f45..60548a8b73 100644 --- a/awx/conf/migrations/0007_v380_rename_more_settings.py +++ b/awx/conf/migrations/0007_v380_rename_more_settings.py @@ -9,7 +9,6 @@ def copy_allowed_ips(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [('conf', '0006_v331_ldap_group_type')] operations = [migrations.RunPython(copy_allowed_ips)] diff --git a/awx/conf/migrations/0008_subscriptions.py b/awx/conf/migrations/0008_subscriptions.py index 991e366264..82c0cfc30f 100644 --- a/awx/conf/migrations/0008_subscriptions.py +++ b/awx/conf/migrations/0008_subscriptions.py @@ -14,7 +14,6 @@ def _noop(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [('conf', '0007_v380_rename_more_settings')] operations = [migrations.RunPython(clear_old_license, _noop), migrations.RunPython(prefill_rh_credentials, _noop)] diff --git a/awx/conf/migrations/0009_rename_proot_settings.py b/awx/conf/migrations/0009_rename_proot_settings.py index 2b0e2175aa..d7d83c94c9 100644 --- a/awx/conf/migrations/0009_rename_proot_settings.py +++ b/awx/conf/migrations/0009_rename_proot_settings.py @@ -10,7 +10,6 @@ def rename_proot_settings(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [('conf', '0008_subscriptions')] operations = [migrations.RunPython(rename_proot_settings)] diff --git a/awx/conf/migrations/_rename_setting.py b/awx/conf/migrations/_rename_setting.py index b739b877d9..cd922c459f 100644 --- a/awx/conf/migrations/_rename_setting.py +++ b/awx/conf/migrations/_rename_setting.py @@ -10,7 +10,6 @@ __all__ = ['rename_setting'] def rename_setting(apps, schema_editor, old_key, new_key): - old_setting = None Setting = apps.get_model('conf', 'Setting') if Setting.objects.filter(key=new_key).exists() or hasattr(settings, new_key): diff --git a/awx/conf/models.py b/awx/conf/models.py index 79bc572d57..900db1e185 100644 --- a/awx/conf/models.py +++ b/awx/conf/models.py @@ -17,7 +17,6 @@ __all__ = ['Setting'] class Setting(CreatedModifiedModel): - key = models.CharField(max_length=255) value = JSONBlob(null=True) user = prevent_search(models.ForeignKey('auth.User', related_name='settings', default=None, null=True, editable=False, on_delete=models.CASCADE)) diff --git a/awx/conf/settings.py b/awx/conf/settings.py index 70e40fadcc..3f364dc058 100644 --- a/awx/conf/settings.py +++ b/awx/conf/settings.py @@ -104,7 +104,6 @@ def filter_sensitive(registry, key, value): class TransientSetting(object): - __slots__ = ('pk', 'value') def __init__(self, pk, value): diff --git a/awx/conf/tests/unit/test_fields.py b/awx/conf/tests/unit/test_fields.py index 7eb4b450fd..7d7b3dff9c 100644 --- a/awx/conf/tests/unit/test_fields.py +++ b/awx/conf/tests/unit/test_fields.py @@ -5,7 +5,6 @@ from awx.conf.fields import StringListBooleanField, StringListPathField, ListTup class TestStringListBooleanField: - FIELD_VALUES = [ ("hello", "hello"), (("a", "b"), ["a", "b"]), @@ -53,7 +52,6 @@ class TestStringListBooleanField: class TestListTuplesField: - FIELD_VALUES = [([('a', 'b'), ('abc', '123')], [("a", "b"), ("abc", "123")])] FIELD_VALUES_INVALID = [("abc", type("abc")), ([('a', 'b', 'c'), ('abc', '123', '456')], type(('a',))), (['a', 'b'], type('a')), (123, type(123))] @@ -73,7 +71,6 @@ class TestListTuplesField: class TestStringListPathField: - FIELD_VALUES = [ ((".", "..", "/"), [".", "..", "/"]), (("/home",), ["/home"]), diff --git a/awx/conf/views.py b/awx/conf/views.py index b2b312d834..f7190737fa 100644 --- a/awx/conf/views.py +++ b/awx/conf/views.py @@ -36,7 +36,6 @@ SettingCategory = collections.namedtuple('SettingCategory', ('url', 'slug', 'nam class SettingCategoryList(ListAPIView): - model = Setting # Not exactly, but needed for the view. serializer_class = SettingCategorySerializer filter_backends = [] @@ -58,7 +57,6 @@ class SettingCategoryList(ListAPIView): class SettingSingletonDetail(RetrieveUpdateDestroyAPIView): - model = Setting # Not exactly, but needed for the view. serializer_class = SettingSingletonSerializer filter_backends = [] @@ -146,7 +144,6 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView): class SettingLoggingTest(GenericAPIView): - name = _('Logging Connectivity Test') model = Setting serializer_class = SettingSingletonSerializer diff --git a/awx/main/access.py b/awx/main/access.py index 71e49d4623..5d0ab8464b 100644 --- a/awx/main/access.py +++ b/awx/main/access.py @@ -561,7 +561,6 @@ class NotificationAttachMixin(BaseAccess): class InstanceAccess(BaseAccess): - model = Instance prefetch_related = ('rampart_groups',) @@ -579,7 +578,6 @@ class InstanceAccess(BaseAccess): return super(InstanceAccess, self).can_unattach(obj, sub_obj, relationship, relationship, data=data) def can_add(self, data): - return self.user.is_superuser def can_change(self, obj, data): @@ -590,7 +588,6 @@ class InstanceAccess(BaseAccess): class InstanceGroupAccess(BaseAccess): - model = InstanceGroup prefetch_related = ('instances',) @@ -2352,7 +2349,6 @@ class JobEventAccess(BaseAccess): class UnpartitionedJobEventAccess(JobEventAccess): - model = UnpartitionedJobEvent diff --git a/awx/main/apps.py b/awx/main/apps.py index abd3332fd0..7db39ca088 100644 --- a/awx/main/apps.py +++ b/awx/main/apps.py @@ -3,6 +3,5 @@ from django.utils.translation import gettext_lazy as _ class MainConfig(AppConfig): - name = 'awx.main' verbose_name = _('Main') diff --git a/awx/main/dispatch/control.py b/awx/main/dispatch/control.py index 2807bdbe19..d62444149b 100644 --- a/awx/main/dispatch/control.py +++ b/awx/main/dispatch/control.py @@ -14,7 +14,6 @@ logger = logging.getLogger('awx.main.dispatch') class Control(object): - services = ('dispatcher', 'callback_receiver') result = None diff --git a/awx/main/dispatch/pool.py b/awx/main/dispatch/pool.py index 3310f06997..dd2fdffa2a 100644 --- a/awx/main/dispatch/pool.py +++ b/awx/main/dispatch/pool.py @@ -192,7 +192,6 @@ class PoolWorker(object): class StatefulPoolWorker(PoolWorker): - track_managed_tasks = True diff --git a/awx/main/dispatch/publish.py b/awx/main/dispatch/publish.py index 3cfc07af15..df5beb1bb4 100644 --- a/awx/main/dispatch/publish.py +++ b/awx/main/dispatch/publish.py @@ -66,7 +66,6 @@ class task: bind_kwargs = self.bind_kwargs class PublisherMixin(object): - queue = None @classmethod diff --git a/awx/main/dispatch/worker/base.py b/awx/main/dispatch/worker/base.py index 25664d9737..a7b0d83e95 100644 --- a/awx/main/dispatch/worker/base.py +++ b/awx/main/dispatch/worker/base.py @@ -40,7 +40,6 @@ class WorkerSignalHandler: class AWXConsumerBase(object): - last_stats = time.time() def __init__(self, name, worker, queues=[], pool=None): diff --git a/awx/main/fields.py b/awx/main/fields.py index 3372627f91..c5f5affb40 100644 --- a/awx/main/fields.py +++ b/awx/main/fields.py @@ -232,7 +232,6 @@ class ImplicitRoleField(models.ForeignKey): field_names = [field_names] for field_name in field_names: - if field_name.startswith('singleton:'): continue @@ -244,7 +243,6 @@ class ImplicitRoleField(models.ForeignKey): field = getattr(cls, field_name, None) if field and type(field) is ReverseManyToOneDescriptor or type(field) is ManyToManyDescriptor: - if '.' in field_attr: raise Exception('Referencing deep roles through ManyToMany fields is unsupported.') @@ -629,7 +627,6 @@ class CredentialInputField(JSONSchemaField): # `ssh_key_unlock` requirements are very specific and can't be # represented without complicated JSON schema if model_instance.credential_type.managed is True and 'ssh_key_unlock' in defined_fields: - # in order to properly test the necessity of `ssh_key_unlock`, we # need to know the real value of `ssh_key_data`; for a payload like: # { diff --git a/awx/main/management/commands/check_db.py b/awx/main/management/commands/check_db.py index e72b86873c..e490e7a0e1 100644 --- a/awx/main/management/commands/check_db.py +++ b/awx/main/management/commands/check_db.py @@ -9,7 +9,6 @@ class Command(BaseCommand): """Checks connection to the database, and prints out connection info if not connected""" def handle(self, *args, **options): - with connection.cursor() as cursor: cursor.execute("SELECT version()") version = str(cursor.fetchone()[0]) diff --git a/awx/main/management/commands/cleanup_jobs.py b/awx/main/management/commands/cleanup_jobs.py index cc344f6aed..2cea123bdb 100644 --- a/awx/main/management/commands/cleanup_jobs.py +++ b/awx/main/management/commands/cleanup_jobs.py @@ -82,7 +82,6 @@ class DeleteMeta: part_drop = {} for pk, status, created in self.jobs_qs: - part_key = partition_table_name(self.job_class, created) if status in ['pending', 'waiting', 'running']: part_drop[part_key] = False diff --git a/awx/main/management/commands/create_oauth2_token.py b/awx/main/management/commands/create_oauth2_token.py index 62d89db1df..7df9b49f9c 100644 --- a/awx/main/management/commands/create_oauth2_token.py +++ b/awx/main/management/commands/create_oauth2_token.py @@ -17,7 +17,6 @@ class Command(BaseCommand): def handle(self, *args, **options): if not options['user']: - raise CommandError('Username not supplied. Usage: awx-manage create_oauth2_token --user=username.') try: user = User.objects.get(username=options['user']) diff --git a/awx/main/management/commands/export_custom_scripts.py b/awx/main/management/commands/export_custom_scripts.py index 281fc886b3..c0cc46c5a7 100644 --- a/awx/main/management/commands/export_custom_scripts.py +++ b/awx/main/management/commands/export_custom_scripts.py @@ -10,7 +10,6 @@ from django.utils.text import slugify class Command(BaseCommand): - help = 'Export custom inventory scripts into a tarfile.' def add_arguments(self, parser): @@ -21,7 +20,6 @@ class Command(BaseCommand): with tempfile.TemporaryDirectory() as tmpdirname: with tarfile.open(tar_filename, "w") as tar: - for cis in CustomInventoryScript.objects.all(): # naming convention similar to project paths slug_name = slugify(str(cis.name)).replace(u'-', u'_') diff --git a/awx/main/management/commands/host_metric.py b/awx/main/management/commands/host_metric.py index 0dbcefedb2..c58cea2c1b 100644 --- a/awx/main/management/commands/host_metric.py +++ b/awx/main/management/commands/host_metric.py @@ -6,7 +6,6 @@ import json class Command(BaseCommand): - help = 'This is for offline licensing usage' def add_arguments(self, parser): diff --git a/awx/main/management/commands/inventory_import.py b/awx/main/management/commands/inventory_import.py index 4361be300a..13909433f6 100644 --- a/awx/main/management/commands/inventory_import.py +++ b/awx/main/management/commands/inventory_import.py @@ -934,7 +934,6 @@ class Command(BaseCommand): # (even though inventory_import.Command.handle -- which calls # perform_update -- has its own lock, inventory_ID_import) with advisory_lock('inventory_{}_perform_update'.format(self.inventory.id)): - try: self.check_license() except PermissionDenied as e: diff --git a/awx/main/management/commands/list_instances.py b/awx/main/management/commands/list_instances.py index 578280d5c2..7d93f5baa9 100644 --- a/awx/main/management/commands/list_instances.py +++ b/awx/main/management/commands/list_instances.py @@ -6,7 +6,6 @@ from django.core.management.base import BaseCommand class Ungrouped(object): - name = 'ungrouped' policy_instance_percentage = None policy_instance_minimum = None diff --git a/awx/main/management/commands/remove_from_queue.py b/awx/main/management/commands/remove_from_queue.py index 35c83fe298..f95a64b537 100644 --- a/awx/main/management/commands/remove_from_queue.py +++ b/awx/main/management/commands/remove_from_queue.py @@ -7,7 +7,6 @@ from django.core.management.base import BaseCommand, CommandError class Command(BaseCommand): - help = ( "Remove an instance (specified by --hostname) from the specified queue (instance group).\n" "In order remove the queue, use the `unregister_queue` command." diff --git a/awx/main/management/commands/replay_job_events.py b/awx/main/management/commands/replay_job_events.py index d8817681ea..090ba755fc 100644 --- a/awx/main/management/commands/replay_job_events.py +++ b/awx/main/management/commands/replay_job_events.py @@ -28,7 +28,6 @@ class JobStatusLifeCycle: class ReplayJobEvents(JobStatusLifeCycle): - recording_start = None replay_start = None @@ -190,7 +189,6 @@ class ReplayJobEvents(JobStatusLifeCycle): class Command(BaseCommand): - help = 'Replay job events over websockets ordered by created on date.' def _parse_slice_range(self, slice_arg): diff --git a/awx/main/management/commands/setup_managed_credential_types.py b/awx/main/management/commands/setup_managed_credential_types.py index 04e170528d..c0e566c300 100644 --- a/awx/main/management/commands/setup_managed_credential_types.py +++ b/awx/main/management/commands/setup_managed_credential_types.py @@ -7,7 +7,6 @@ from awx.main.models import CredentialType class Command(BaseCommand): - help = 'Load default managed credential types.' def handle(self, *args, **options): diff --git a/awx/main/management/commands/unregister_queue.py b/awx/main/management/commands/unregister_queue.py index 5cf4ee3ff9..729c309788 100644 --- a/awx/main/management/commands/unregister_queue.py +++ b/awx/main/management/commands/unregister_queue.py @@ -10,7 +10,6 @@ from django.core.management.base import BaseCommand, CommandError class Command(BaseCommand): - help = ( "Remove specified queue (instance group) from database.\n" "Instances inside of queue will continue to exist, \n" diff --git a/awx/main/middleware.py b/awx/main/middleware.py index 64e8110fc6..a48f556538 100644 --- a/awx/main/middleware.py +++ b/awx/main/middleware.py @@ -38,7 +38,6 @@ class SettingsCacheMiddleware(MiddlewareMixin): class TimingMiddleware(threading.local, MiddlewareMixin): - dest = '/var/log/tower/profile' def __init__(self, *args, **kwargs): diff --git a/awx/main/migrations/0001_initial.py b/awx/main/migrations/0001_initial.py index aa78bdca16..cb9de8ec87 100644 --- a/awx/main/migrations/0001_initial.py +++ b/awx/main/migrations/0001_initial.py @@ -14,7 +14,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('taggit', '0002_auto_20150616_2121'), ('contenttypes', '0002_remove_content_type_name'), diff --git a/awx/main/migrations/0004_squashed_v310_release.py b/awx/main/migrations/0004_squashed_v310_release.py index b1d45d10d6..2905cf7d2c 100644 --- a/awx/main/migrations/0004_squashed_v310_release.py +++ b/awx/main/migrations/0004_squashed_v310_release.py @@ -12,7 +12,6 @@ from ._squashed_30 import SQUASHED_30 class Migration(migrations.Migration): - dependencies = [ ('main', '0003_squashed_v300_v303_updates'), ] diff --git a/awx/main/migrations/0005_squashed_v310_v313_updates.py b/awx/main/migrations/0005_squashed_v310_v313_updates.py index 771d80fc6f..c6a6889d28 100644 --- a/awx/main/migrations/0005_squashed_v310_v313_updates.py +++ b/awx/main/migrations/0005_squashed_v310_v313_updates.py @@ -7,7 +7,6 @@ from ._squashed_31 import SQUASHED_31 class Migration(migrations.Migration): - dependencies = [ ('main', '0004_squashed_v310_release'), ] diff --git a/awx/main/migrations/0006_v320_release.py b/awx/main/migrations/0006_v320_release.py index 0f88577baa..d60d331192 100644 --- a/awx/main/migrations/0006_v320_release.py +++ b/awx/main/migrations/0006_v320_release.py @@ -26,7 +26,6 @@ def replaces(): class Migration(migrations.Migration): - dependencies = [ ('main', '0005_squashed_v310_v313_updates'), ] diff --git a/awx/main/migrations/0007_v320_data_migrations.py b/awx/main/migrations/0007_v320_data_migrations.py index d05e01c6f6..d55b02472a 100644 --- a/awx/main/migrations/0007_v320_data_migrations.py +++ b/awx/main/migrations/0007_v320_data_migrations.py @@ -7,7 +7,6 @@ from awx.main.migrations import ActivityStreamDisabledMigration class Migration(ActivityStreamDisabledMigration): - dependencies = [ ('main', '0006_v320_release'), ] diff --git a/awx/main/migrations/0008_v320_drop_v1_credential_fields.py b/awx/main/migrations/0008_v320_drop_v1_credential_fields.py index 8103e0327c..43b3490816 100644 --- a/awx/main/migrations/0008_v320_drop_v1_credential_fields.py +++ b/awx/main/migrations/0008_v320_drop_v1_credential_fields.py @@ -11,7 +11,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('main', '0007_v320_data_migrations'), ] diff --git a/awx/main/migrations/0009_v322_add_setting_field_for_activity_stream.py b/awx/main/migrations/0009_v322_add_setting_field_for_activity_stream.py index f90e5a966b..947eff02f2 100644 --- a/awx/main/migrations/0009_v322_add_setting_field_for_activity_stream.py +++ b/awx/main/migrations/0009_v322_add_setting_field_for_activity_stream.py @@ -7,7 +7,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('main', '0008_v320_drop_v1_credential_fields'), ] diff --git a/awx/main/migrations/0010_v322_add_ovirt4_tower_inventory.py b/awx/main/migrations/0010_v322_add_ovirt4_tower_inventory.py index 5d5fea624e..503f5104a8 100644 --- a/awx/main/migrations/0010_v322_add_ovirt4_tower_inventory.py +++ b/awx/main/migrations/0010_v322_add_ovirt4_tower_inventory.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0009_v322_add_setting_field_for_activity_stream'), ] diff --git a/awx/main/migrations/0011_v322_encrypt_survey_passwords.py b/awx/main/migrations/0011_v322_encrypt_survey_passwords.py index 70bab5a720..ccfcfcfbd1 100644 --- a/awx/main/migrations/0011_v322_encrypt_survey_passwords.py +++ b/awx/main/migrations/0011_v322_encrypt_survey_passwords.py @@ -5,7 +5,6 @@ from awx.main.migrations import ActivityStreamDisabledMigration class Migration(ActivityStreamDisabledMigration): - dependencies = [ ('main', '0010_v322_add_ovirt4_tower_inventory'), ] diff --git a/awx/main/migrations/0012_v322_update_cred_types.py b/awx/main/migrations/0012_v322_update_cred_types.py index 1b3a5ce4a6..b01a65ee2e 100644 --- a/awx/main/migrations/0012_v322_update_cred_types.py +++ b/awx/main/migrations/0012_v322_update_cred_types.py @@ -5,7 +5,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0011_v322_encrypt_survey_passwords'), ] diff --git a/awx/main/migrations/0013_v330_multi_credential.py b/awx/main/migrations/0013_v330_multi_credential.py index 1ab940ff31..0dd5625239 100644 --- a/awx/main/migrations/0013_v330_multi_credential.py +++ b/awx/main/migrations/0013_v330_multi_credential.py @@ -9,7 +9,6 @@ from awx.main.migrations._multi_cred import migrate_to_multi_cred, migrate_back_ class Migration(migrations.Migration): - dependencies = [ ('main', '0012_v322_update_cred_types'), ] diff --git a/awx/main/migrations/0014_v330_saved_launchtime_configs.py b/awx/main/migrations/0014_v330_saved_launchtime_configs.py index fdefdcaed8..cd1f8458ae 100644 --- a/awx/main/migrations/0014_v330_saved_launchtime_configs.py +++ b/awx/main/migrations/0014_v330_saved_launchtime_configs.py @@ -11,7 +11,6 @@ from awx.main.migrations._scan_jobs import remove_scan_type_nodes class Migration(migrations.Migration): - dependencies = [ ('main', '0013_v330_multi_credential'), ] diff --git a/awx/main/migrations/0015_v330_blank_start_args.py b/awx/main/migrations/0015_v330_blank_start_args.py index 5feb52a0d8..702c9d26e1 100644 --- a/awx/main/migrations/0015_v330_blank_start_args.py +++ b/awx/main/migrations/0015_v330_blank_start_args.py @@ -7,7 +7,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0014_v330_saved_launchtime_configs'), ] diff --git a/awx/main/migrations/0016_v330_non_blank_workflow.py b/awx/main/migrations/0016_v330_non_blank_workflow.py index 4e581e0af3..8bc3384c8b 100644 --- a/awx/main/migrations/0016_v330_non_blank_workflow.py +++ b/awx/main/migrations/0016_v330_non_blank_workflow.py @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0015_v330_blank_start_args'), ] diff --git a/awx/main/migrations/0017_v330_move_deprecated_stdout.py b/awx/main/migrations/0017_v330_move_deprecated_stdout.py index e7c3250aa2..c2626f4147 100644 --- a/awx/main/migrations/0017_v330_move_deprecated_stdout.py +++ b/awx/main/migrations/0017_v330_move_deprecated_stdout.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0016_v330_non_blank_workflow'), ] diff --git a/awx/main/migrations/0018_v330_add_additional_stdout_events.py b/awx/main/migrations/0018_v330_add_additional_stdout_events.py index ad399e72bb..fcc03b95cb 100644 --- a/awx/main/migrations/0018_v330_add_additional_stdout_events.py +++ b/awx/main/migrations/0018_v330_add_additional_stdout_events.py @@ -9,7 +9,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('main', '0017_v330_move_deprecated_stdout'), ] diff --git a/awx/main/migrations/0019_v330_custom_virtualenv.py b/awx/main/migrations/0019_v330_custom_virtualenv.py index ba6aeb0167..48a1ffbbb0 100644 --- a/awx/main/migrations/0019_v330_custom_virtualenv.py +++ b/awx/main/migrations/0019_v330_custom_virtualenv.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0018_v330_add_additional_stdout_events'), ] diff --git a/awx/main/migrations/0020_v330_instancegroup_policies.py b/awx/main/migrations/0020_v330_instancegroup_policies.py index a6275d4820..1922b18aa1 100644 --- a/awx/main/migrations/0020_v330_instancegroup_policies.py +++ b/awx/main/migrations/0020_v330_instancegroup_policies.py @@ -8,7 +8,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('main', '0019_v330_custom_virtualenv'), ] diff --git a/awx/main/migrations/0021_v330_declare_new_rbac_roles.py b/awx/main/migrations/0021_v330_declare_new_rbac_roles.py index e847a62c14..5f8e7788fe 100644 --- a/awx/main/migrations/0021_v330_declare_new_rbac_roles.py +++ b/awx/main/migrations/0021_v330_declare_new_rbac_roles.py @@ -8,7 +8,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0020_v330_instancegroup_policies'), ] diff --git a/awx/main/migrations/0022_v330_create_new_rbac_roles.py b/awx/main/migrations/0022_v330_create_new_rbac_roles.py index 578be8645c..f218fafaaf 100644 --- a/awx/main/migrations/0022_v330_create_new_rbac_roles.py +++ b/awx/main/migrations/0022_v330_create_new_rbac_roles.py @@ -8,7 +8,6 @@ from awx.main.migrations import _migration_utils as migration_utils class Migration(ActivityStreamDisabledMigration): - dependencies = [ ('main', '0021_v330_declare_new_rbac_roles'), ] diff --git a/awx/main/migrations/0023_v330_inventory_multicred.py b/awx/main/migrations/0023_v330_inventory_multicred.py index 06f35bacd9..2a39e67111 100644 --- a/awx/main/migrations/0023_v330_inventory_multicred.py +++ b/awx/main/migrations/0023_v330_inventory_multicred.py @@ -9,7 +9,6 @@ from awx.main.migrations._multi_cred import migrate_inventory_source_cred, migra class Migration(migrations.Migration): - dependencies = [ ('main', '0022_v330_create_new_rbac_roles'), ] diff --git a/awx/main/migrations/0024_v330_create_user_session_membership.py b/awx/main/migrations/0024_v330_create_user_session_membership.py index aa1d04a050..66257200ec 100644 --- a/awx/main/migrations/0024_v330_create_user_session_membership.py +++ b/awx/main/migrations/0024_v330_create_user_session_membership.py @@ -8,7 +8,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('sessions', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), diff --git a/awx/main/migrations/0025_v330_add_oauth_activity_stream_registrar.py b/awx/main/migrations/0025_v330_add_oauth_activity_stream_registrar.py index e26571f1b9..88afcd7dff 100644 --- a/awx/main/migrations/0025_v330_add_oauth_activity_stream_registrar.py +++ b/awx/main/migrations/0025_v330_add_oauth_activity_stream_registrar.py @@ -10,7 +10,6 @@ import re class Migration(migrations.Migration): - dependencies = [ ('main', '0024_v330_create_user_session_membership'), ] diff --git a/awx/main/migrations/0026_v330_delete_authtoken.py b/awx/main/migrations/0026_v330_delete_authtoken.py index 758a3efdb0..7175d4ae5a 100644 --- a/awx/main/migrations/0026_v330_delete_authtoken.py +++ b/awx/main/migrations/0026_v330_delete_authtoken.py @@ -8,7 +8,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0025_v330_add_oauth_activity_stream_registrar'), ] diff --git a/awx/main/migrations/0027_v330_emitted_events.py b/awx/main/migrations/0027_v330_emitted_events.py index 5c87239cd3..dc7d5cf525 100644 --- a/awx/main/migrations/0027_v330_emitted_events.py +++ b/awx/main/migrations/0027_v330_emitted_events.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0026_v330_delete_authtoken'), ] diff --git a/awx/main/migrations/0028_v330_add_tower_verify.py b/awx/main/migrations/0028_v330_add_tower_verify.py index e995afc3de..e6c15973c1 100644 --- a/awx/main/migrations/0028_v330_add_tower_verify.py +++ b/awx/main/migrations/0028_v330_add_tower_verify.py @@ -8,7 +8,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0027_v330_emitted_events'), ] diff --git a/awx/main/migrations/0030_v330_modify_application.py b/awx/main/migrations/0030_v330_modify_application.py index 02f47c3957..3a27799e60 100644 --- a/awx/main/migrations/0030_v330_modify_application.py +++ b/awx/main/migrations/0030_v330_modify_application.py @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0028_v330_add_tower_verify'), ] diff --git a/awx/main/migrations/0031_v330_encrypt_oauth2_secret.py b/awx/main/migrations/0031_v330_encrypt_oauth2_secret.py index d1f2288d4e..96d9067058 100644 --- a/awx/main/migrations/0031_v330_encrypt_oauth2_secret.py +++ b/awx/main/migrations/0031_v330_encrypt_oauth2_secret.py @@ -8,7 +8,6 @@ import oauth2_provider.generators class Migration(migrations.Migration): - dependencies = [ ('main', '0030_v330_modify_application'), ] diff --git a/awx/main/migrations/0032_v330_polymorphic_delete.py b/awx/main/migrations/0032_v330_polymorphic_delete.py index 97539ed3fd..ac13ecc6a1 100644 --- a/awx/main/migrations/0032_v330_polymorphic_delete.py +++ b/awx/main/migrations/0032_v330_polymorphic_delete.py @@ -7,7 +7,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0031_v330_encrypt_oauth2_secret'), ] diff --git a/awx/main/migrations/0033_v330_oauth_help_text.py b/awx/main/migrations/0033_v330_oauth_help_text.py index 606fd8ffd9..ec5867b2f5 100644 --- a/awx/main/migrations/0033_v330_oauth_help_text.py +++ b/awx/main/migrations/0033_v330_oauth_help_text.py @@ -12,7 +12,6 @@ import oauth2_provider.generators class Migration(migrations.Migration): - dependencies = [ ('main', '0032_v330_polymorphic_delete'), ] diff --git a/awx/main/migrations/0034_v330_delete_user_role.py b/awx/main/migrations/0034_v330_delete_user_role.py index 6719e307ca..d872b2e47d 100644 --- a/awx/main/migrations/0034_v330_delete_user_role.py +++ b/awx/main/migrations/0034_v330_delete_user_role.py @@ -10,7 +10,6 @@ from awx.main.migrations import _migration_utils as migration_utils class Migration(ActivityStreamDisabledMigration): - dependencies = [ ('main', '0033_v330_oauth_help_text'), ] diff --git a/awx/main/migrations/0035_v330_more_oauth2_help_text.py b/awx/main/migrations/0035_v330_more_oauth2_help_text.py index f8802319e0..78d39505a4 100644 --- a/awx/main/migrations/0035_v330_more_oauth2_help_text.py +++ b/awx/main/migrations/0035_v330_more_oauth2_help_text.py @@ -8,7 +8,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0034_v330_delete_user_role'), ] diff --git a/awx/main/migrations/0036_v330_credtype_remove_become_methods.py b/awx/main/migrations/0036_v330_credtype_remove_become_methods.py index 73541e79c4..3741720a0d 100644 --- a/awx/main/migrations/0036_v330_credtype_remove_become_methods.py +++ b/awx/main/migrations/0036_v330_credtype_remove_become_methods.py @@ -8,7 +8,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0035_v330_more_oauth2_help_text'), ] diff --git a/awx/main/migrations/0037_v330_remove_legacy_fact_cleanup.py b/awx/main/migrations/0037_v330_remove_legacy_fact_cleanup.py index da2423bdcf..9f570a164c 100644 --- a/awx/main/migrations/0037_v330_remove_legacy_fact_cleanup.py +++ b/awx/main/migrations/0037_v330_remove_legacy_fact_cleanup.py @@ -8,7 +8,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0036_v330_credtype_remove_become_methods'), ] diff --git a/awx/main/migrations/0038_v330_add_deleted_activitystream_actor.py b/awx/main/migrations/0038_v330_add_deleted_activitystream_actor.py index 6e921a9b40..6592c8d903 100644 --- a/awx/main/migrations/0038_v330_add_deleted_activitystream_actor.py +++ b/awx/main/migrations/0038_v330_add_deleted_activitystream_actor.py @@ -8,7 +8,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('main', '0037_v330_remove_legacy_fact_cleanup'), ] diff --git a/awx/main/migrations/0039_v330_custom_venv_help_text.py b/awx/main/migrations/0039_v330_custom_venv_help_text.py index 7c4ee1042c..a86b3597c0 100644 --- a/awx/main/migrations/0039_v330_custom_venv_help_text.py +++ b/awx/main/migrations/0039_v330_custom_venv_help_text.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0038_v330_add_deleted_activitystream_actor'), ] diff --git a/awx/main/migrations/0040_v330_unifiedjob_controller_node.py b/awx/main/migrations/0040_v330_unifiedjob_controller_node.py index fae3e641c4..1afffcee17 100644 --- a/awx/main/migrations/0040_v330_unifiedjob_controller_node.py +++ b/awx/main/migrations/0040_v330_unifiedjob_controller_node.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0039_v330_custom_venv_help_text'), ] diff --git a/awx/main/migrations/0041_v330_update_oauth_refreshtoken.py b/awx/main/migrations/0041_v330_update_oauth_refreshtoken.py index 8ad0a32a4c..7ff23582a7 100644 --- a/awx/main/migrations/0041_v330_update_oauth_refreshtoken.py +++ b/awx/main/migrations/0041_v330_update_oauth_refreshtoken.py @@ -8,7 +8,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ migrations.swappable_dependency(settings.OAUTH2_PROVIDER_REFRESH_TOKEN_MODEL), ('main', '0040_v330_unifiedjob_controller_node'), diff --git a/awx/main/migrations/0042_v330_org_member_role_deparent.py b/awx/main/migrations/0042_v330_org_member_role_deparent.py index c5be5146b4..f08bdca5e2 100644 --- a/awx/main/migrations/0042_v330_org_member_role_deparent.py +++ b/awx/main/migrations/0042_v330_org_member_role_deparent.py @@ -9,7 +9,6 @@ from awx.main.migrations._rbac import rebuild_role_hierarchy class Migration(migrations.Migration): - dependencies = [ ('main', '0041_v330_update_oauth_refreshtoken'), ] diff --git a/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py b/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py index b997f0d570..f2a8a05c17 100644 --- a/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py +++ b/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0042_v330_org_member_role_deparent'), ] diff --git a/awx/main/migrations/0044_v330_add_inventory_update_inventory.py b/awx/main/migrations/0044_v330_add_inventory_update_inventory.py index 30799955bf..44a84a9ef1 100644 --- a/awx/main/migrations/0044_v330_add_inventory_update_inventory.py +++ b/awx/main/migrations/0044_v330_add_inventory_update_inventory.py @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0043_v330_oauth2accesstoken_modified'), ] diff --git a/awx/main/migrations/0045_v330_instance_managed_by_policy.py b/awx/main/migrations/0045_v330_instance_managed_by_policy.py index a3f87fb3ae..fef89aedcc 100644 --- a/awx/main/migrations/0045_v330_instance_managed_by_policy.py +++ b/awx/main/migrations/0045_v330_instance_managed_by_policy.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0044_v330_add_inventory_update_inventory'), ] diff --git a/awx/main/migrations/0046_v330_remove_client_credentials_grant.py b/awx/main/migrations/0046_v330_remove_client_credentials_grant.py index a02a248c3c..7bd59f3c5d 100644 --- a/awx/main/migrations/0046_v330_remove_client_credentials_grant.py +++ b/awx/main/migrations/0046_v330_remove_client_credentials_grant.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0045_v330_instance_managed_by_policy'), ] diff --git a/awx/main/migrations/0047_v330_activitystream_instance.py b/awx/main/migrations/0047_v330_activitystream_instance.py index 0bc6b3c0bc..d957c0f186 100644 --- a/awx/main/migrations/0047_v330_activitystream_instance.py +++ b/awx/main/migrations/0047_v330_activitystream_instance.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0046_v330_remove_client_credentials_grant'), ] diff --git a/awx/main/migrations/0048_v330_django_created_modified_by_model_name.py b/awx/main/migrations/0048_v330_django_created_modified_by_model_name.py index d0e135cdb4..08a10d5609 100644 --- a/awx/main/migrations/0048_v330_django_created_modified_by_model_name.py +++ b/awx/main/migrations/0048_v330_django_created_modified_by_model_name.py @@ -8,7 +8,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0047_v330_activitystream_instance'), ] diff --git a/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py b/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py index 1a12419e64..90e31a6c4f 100644 --- a/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py +++ b/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py @@ -8,7 +8,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0048_v330_django_created_modified_by_model_name'), ] diff --git a/awx/main/migrations/0050_v340_drop_celery_tables.py b/awx/main/migrations/0050_v340_drop_celery_tables.py index 4ea93da0c1..5c98d7bc7c 100644 --- a/awx/main/migrations/0050_v340_drop_celery_tables.py +++ b/awx/main/migrations/0050_v340_drop_celery_tables.py @@ -5,7 +5,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0049_v330_validate_instance_capacity_adjustment'), ] diff --git a/awx/main/migrations/0051_v340_job_slicing.py b/awx/main/migrations/0051_v340_job_slicing.py index 28a6ec7aee..0e47a7090c 100644 --- a/awx/main/migrations/0051_v340_job_slicing.py +++ b/awx/main/migrations/0051_v340_job_slicing.py @@ -8,7 +8,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0050_v340_drop_celery_tables'), ] diff --git a/awx/main/migrations/0052_v340_remove_project_scm_delete_on_next_update.py b/awx/main/migrations/0052_v340_remove_project_scm_delete_on_next_update.py index 2179c21a3b..363ba23128 100644 --- a/awx/main/migrations/0052_v340_remove_project_scm_delete_on_next_update.py +++ b/awx/main/migrations/0052_v340_remove_project_scm_delete_on_next_update.py @@ -6,7 +6,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0051_v340_job_slicing'), ] diff --git a/awx/main/migrations/0053_v340_workflow_inventory.py b/awx/main/migrations/0053_v340_workflow_inventory.py index 7e4b7590ec..ea7719b8a0 100644 --- a/awx/main/migrations/0053_v340_workflow_inventory.py +++ b/awx/main/migrations/0053_v340_workflow_inventory.py @@ -9,7 +9,6 @@ import awx.main.fields class Migration(migrations.Migration): - dependencies = [ ('main', '0052_v340_remove_project_scm_delete_on_next_update'), ] diff --git a/awx/main/migrations/0054_v340_workflow_convergence.py b/awx/main/migrations/0054_v340_workflow_convergence.py index 4a37e4cde1..7689fd101e 100644 --- a/awx/main/migrations/0054_v340_workflow_convergence.py +++ b/awx/main/migrations/0054_v340_workflow_convergence.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0053_v340_workflow_inventory'), ] diff --git a/awx/main/migrations/0055_v340_add_grafana_notification.py b/awx/main/migrations/0055_v340_add_grafana_notification.py index de29544231..2e76595ce7 100644 --- a/awx/main/migrations/0055_v340_add_grafana_notification.py +++ b/awx/main/migrations/0055_v340_add_grafana_notification.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0054_v340_workflow_convergence'), ] diff --git a/awx/main/migrations/0056_v350_custom_venv_history.py b/awx/main/migrations/0056_v350_custom_venv_history.py index 484c31a9eb..ac977b00a7 100644 --- a/awx/main/migrations/0056_v350_custom_venv_history.py +++ b/awx/main/migrations/0056_v350_custom_venv_history.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0055_v340_add_grafana_notification'), ] diff --git a/awx/main/migrations/0057_v350_remove_become_method_type.py b/awx/main/migrations/0057_v350_remove_become_method_type.py index cd5f76cdec..356d62e8bc 100644 --- a/awx/main/migrations/0057_v350_remove_become_method_type.py +++ b/awx/main/migrations/0057_v350_remove_become_method_type.py @@ -9,7 +9,6 @@ from awx.main.migrations import _credentialtypes as credentialtypes class Migration(migrations.Migration): - dependencies = [ ('main', '0056_v350_custom_venv_history'), ] diff --git a/awx/main/migrations/0058_v350_remove_limit_limit.py b/awx/main/migrations/0058_v350_remove_limit_limit.py index 24ab66f9f6..f6a4e8234e 100644 --- a/awx/main/migrations/0058_v350_remove_limit_limit.py +++ b/awx/main/migrations/0058_v350_remove_limit_limit.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0057_v350_remove_become_method_type'), ] diff --git a/awx/main/migrations/0059_v350_remove_adhoc_limit.py b/awx/main/migrations/0059_v350_remove_adhoc_limit.py index 5248d76d58..483c6871ca 100644 --- a/awx/main/migrations/0059_v350_remove_adhoc_limit.py +++ b/awx/main/migrations/0059_v350_remove_adhoc_limit.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0058_v350_remove_limit_limit'), ] diff --git a/awx/main/migrations/0060_v350_update_schedule_uniqueness_constraint.py b/awx/main/migrations/0060_v350_update_schedule_uniqueness_constraint.py index 991fc6f56c..8a14fb218c 100644 --- a/awx/main/migrations/0060_v350_update_schedule_uniqueness_constraint.py +++ b/awx/main/migrations/0060_v350_update_schedule_uniqueness_constraint.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0059_v350_remove_adhoc_limit'), ] diff --git a/awx/main/migrations/0061_v350_track_native_credentialtype_source.py b/awx/main/migrations/0061_v350_track_native_credentialtype_source.py index fb76e79ade..ba2c8730b2 100644 --- a/awx/main/migrations/0061_v350_track_native_credentialtype_source.py +++ b/awx/main/migrations/0061_v350_track_native_credentialtype_source.py @@ -14,7 +14,6 @@ def migrate_to_static_inputs(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0060_v350_update_schedule_uniqueness_constraint'), ] diff --git a/awx/main/migrations/0062_v350_new_playbook_stats.py b/awx/main/migrations/0062_v350_new_playbook_stats.py index 29ab8e7017..bcb1965f78 100644 --- a/awx/main/migrations/0062_v350_new_playbook_stats.py +++ b/awx/main/migrations/0062_v350_new_playbook_stats.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0061_v350_track_native_credentialtype_source'), ] diff --git a/awx/main/migrations/0063_v350_org_host_limits.py b/awx/main/migrations/0063_v350_org_host_limits.py index bc410e757a..c0bc239599 100644 --- a/awx/main/migrations/0063_v350_org_host_limits.py +++ b/awx/main/migrations/0063_v350_org_host_limits.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0062_v350_new_playbook_stats'), ] diff --git a/awx/main/migrations/0064_v350_analytics_state.py b/awx/main/migrations/0064_v350_analytics_state.py index e01768694a..daf1687bb1 100644 --- a/awx/main/migrations/0064_v350_analytics_state.py +++ b/awx/main/migrations/0064_v350_analytics_state.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0063_v350_org_host_limits'), ] diff --git a/awx/main/migrations/0065_v350_index_job_status.py b/awx/main/migrations/0065_v350_index_job_status.py index d14e1b63cc..0637a9b316 100644 --- a/awx/main/migrations/0065_v350_index_job_status.py +++ b/awx/main/migrations/0065_v350_index_job_status.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0064_v350_analytics_state'), ] diff --git a/awx/main/migrations/0066_v350_inventorysource_custom_virtualenv.py b/awx/main/migrations/0066_v350_inventorysource_custom_virtualenv.py index e1196b10da..5738397e40 100644 --- a/awx/main/migrations/0066_v350_inventorysource_custom_virtualenv.py +++ b/awx/main/migrations/0066_v350_inventorysource_custom_virtualenv.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0065_v350_index_job_status'), ] diff --git a/awx/main/migrations/0067_v350_credential_plugins.py b/awx/main/migrations/0067_v350_credential_plugins.py index 7eacb18f78..482b4ce220 100644 --- a/awx/main/migrations/0067_v350_credential_plugins.py +++ b/awx/main/migrations/0067_v350_credential_plugins.py @@ -18,7 +18,6 @@ def setup_tower_managed_defaults(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('taggit', '0002_auto_20150616_2121'), diff --git a/awx/main/migrations/0068_v350_index_event_created.py b/awx/main/migrations/0068_v350_index_event_created.py index 59e629cc3a..a4177956dd 100644 --- a/awx/main/migrations/0068_v350_index_event_created.py +++ b/awx/main/migrations/0068_v350_index_event_created.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0067_v350_credential_plugins'), ] diff --git a/awx/main/migrations/0069_v350_generate_unique_install_uuid.py b/awx/main/migrations/0069_v350_generate_unique_install_uuid.py index be64b69fb7..3fa4d971b6 100644 --- a/awx/main/migrations/0069_v350_generate_unique_install_uuid.py +++ b/awx/main/migrations/0069_v350_generate_unique_install_uuid.py @@ -18,7 +18,6 @@ def _gen_install_uuid(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0068_v350_index_event_created'), ] diff --git a/awx/main/migrations/0070_v350_gce_instance_id.py b/awx/main/migrations/0070_v350_gce_instance_id.py index ac0a94b5c0..4a7933e5d4 100644 --- a/awx/main/migrations/0070_v350_gce_instance_id.py +++ b/awx/main/migrations/0070_v350_gce_instance_id.py @@ -25,7 +25,6 @@ def gce_id_backward(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0069_v350_generate_unique_install_uuid'), ] diff --git a/awx/main/migrations/0071_v350_remove_system_tracking.py b/awx/main/migrations/0071_v350_remove_system_tracking.py index fd193f48a4..a505d5a933 100644 --- a/awx/main/migrations/0071_v350_remove_system_tracking.py +++ b/awx/main/migrations/0071_v350_remove_system_tracking.py @@ -6,7 +6,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0070_v350_gce_instance_id'), ] diff --git a/awx/main/migrations/0072_v350_deprecate_fields.py b/awx/main/migrations/0072_v350_deprecate_fields.py index 0d87f0bffd..a03650b349 100644 --- a/awx/main/migrations/0072_v350_deprecate_fields.py +++ b/awx/main/migrations/0072_v350_deprecate_fields.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0071_v350_remove_system_tracking'), ] diff --git a/awx/main/migrations/0073_v360_create_instance_group_m2m.py b/awx/main/migrations/0073_v360_create_instance_group_m2m.py index 93283634a8..6d7dfdea19 100644 --- a/awx/main/migrations/0073_v360_create_instance_group_m2m.py +++ b/awx/main/migrations/0073_v360_create_instance_group_m2m.py @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0072_v350_deprecate_fields'), ] diff --git a/awx/main/migrations/0074_v360_migrate_instance_group_relations.py b/awx/main/migrations/0074_v360_migrate_instance_group_relations.py index 234d3ef3f2..dbdabd6b36 100644 --- a/awx/main/migrations/0074_v360_migrate_instance_group_relations.py +++ b/awx/main/migrations/0074_v360_migrate_instance_group_relations.py @@ -28,7 +28,6 @@ def create_through_relations(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0073_v360_create_instance_group_m2m'), ] diff --git a/awx/main/migrations/0075_v360_remove_old_instance_group_relations.py b/awx/main/migrations/0075_v360_remove_old_instance_group_relations.py index f684df3d8a..3fced1c6e2 100644 --- a/awx/main/migrations/0075_v360_remove_old_instance_group_relations.py +++ b/awx/main/migrations/0075_v360_remove_old_instance_group_relations.py @@ -6,7 +6,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0074_v360_migrate_instance_group_relations'), ] diff --git a/awx/main/migrations/0076_v360_add_new_instance_group_relations.py b/awx/main/migrations/0076_v360_add_new_instance_group_relations.py index 1c7545b1c8..e6d3b4cc78 100644 --- a/awx/main/migrations/0076_v360_add_new_instance_group_relations.py +++ b/awx/main/migrations/0076_v360_add_new_instance_group_relations.py @@ -7,7 +7,6 @@ from awx.main.fields import OrderedManyToManyField class Migration(migrations.Migration): - dependencies = [ ('main', '0075_v360_remove_old_instance_group_relations'), ] diff --git a/awx/main/migrations/0077_v360_add_default_orderings.py b/awx/main/migrations/0077_v360_add_default_orderings.py index b7be0f19fc..119504ef81 100644 --- a/awx/main/migrations/0077_v360_add_default_orderings.py +++ b/awx/main/migrations/0077_v360_add_default_orderings.py @@ -6,7 +6,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0076_v360_add_new_instance_group_relations'), ] diff --git a/awx/main/migrations/0078_v360_clear_sessions_tokens_jt.py b/awx/main/migrations/0078_v360_clear_sessions_tokens_jt.py index 57d9cca1de..630a4b38ef 100644 --- a/awx/main/migrations/0078_v360_clear_sessions_tokens_jt.py +++ b/awx/main/migrations/0078_v360_clear_sessions_tokens_jt.py @@ -7,7 +7,6 @@ from awx.main.migrations._create_system_jobs import create_clearsessions_jt, cre class Migration(migrations.Migration): - dependencies = [ ('main', '0077_v360_add_default_orderings'), ] diff --git a/awx/main/migrations/0079_v360_rm_implicit_oauth2_apps.py b/awx/main/migrations/0079_v360_rm_implicit_oauth2_apps.py index c273054da5..35679f085f 100644 --- a/awx/main/migrations/0079_v360_rm_implicit_oauth2_apps.py +++ b/awx/main/migrations/0079_v360_rm_implicit_oauth2_apps.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0078_v360_clear_sessions_tokens_jt'), ] diff --git a/awx/main/migrations/0080_v360_replace_job_origin.py b/awx/main/migrations/0080_v360_replace_job_origin.py index 2df958f2f6..8e9c4fc41f 100644 --- a/awx/main/migrations/0080_v360_replace_job_origin.py +++ b/awx/main/migrations/0080_v360_replace_job_origin.py @@ -8,7 +8,6 @@ from awx.main.utils.common import set_current_apps class Migration(migrations.Migration): - dependencies = [ ('main', '0079_v360_rm_implicit_oauth2_apps'), ] diff --git a/awx/main/migrations/0081_v360_notify_on_start.py b/awx/main/migrations/0081_v360_notify_on_start.py index 8ac29e53bc..8bdaadd4ff 100644 --- a/awx/main/migrations/0081_v360_notify_on_start.py +++ b/awx/main/migrations/0081_v360_notify_on_start.py @@ -22,7 +22,6 @@ def forwards_split_organization_any(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0080_v360_replace_job_origin'), ] diff --git a/awx/main/migrations/0082_v360_webhook_http_method.py b/awx/main/migrations/0082_v360_webhook_http_method.py index 3dc93ff970..4ad559a1d9 100644 --- a/awx/main/migrations/0082_v360_webhook_http_method.py +++ b/awx/main/migrations/0082_v360_webhook_http_method.py @@ -15,7 +15,6 @@ def add_webhook_notification_template_fields(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0081_v360_notify_on_start'), ] diff --git a/awx/main/migrations/0083_v360_job_branch_override.py b/awx/main/migrations/0083_v360_job_branch_override.py index 4ba9e7c219..ed8d3f07bf 100644 --- a/awx/main/migrations/0083_v360_job_branch_override.py +++ b/awx/main/migrations/0083_v360_job_branch_override.py @@ -7,7 +7,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0082_v360_webhook_http_method'), ] diff --git a/awx/main/migrations/0084_v360_token_description.py b/awx/main/migrations/0084_v360_token_description.py index b360b3e0f8..f5ccc84ddf 100644 --- a/awx/main/migrations/0084_v360_token_description.py +++ b/awx/main/migrations/0084_v360_token_description.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0083_v360_job_branch_override'), ] diff --git a/awx/main/migrations/0085_v360_add_notificationtemplate_messages.py b/awx/main/migrations/0085_v360_add_notificationtemplate_messages.py index 7e34b87ffe..4df7535f73 100644 --- a/awx/main/migrations/0085_v360_add_notificationtemplate_messages.py +++ b/awx/main/migrations/0085_v360_add_notificationtemplate_messages.py @@ -9,7 +9,6 @@ import awx.main.models.notifications class Migration(migrations.Migration): - dependencies = [ ('main', '0084_v360_token_description'), ] diff --git a/awx/main/migrations/0086_v360_workflow_approval.py b/awx/main/migrations/0086_v360_workflow_approval.py index d141e8c955..999cba8ec1 100644 --- a/awx/main/migrations/0086_v360_workflow_approval.py +++ b/awx/main/migrations/0086_v360_workflow_approval.py @@ -6,7 +6,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0085_v360_add_notificationtemplate_messages'), ] diff --git a/awx/main/migrations/0087_v360_update_credential_injector_help_text.py b/awx/main/migrations/0087_v360_update_credential_injector_help_text.py index 78549cd84e..a7e5641b27 100644 --- a/awx/main/migrations/0087_v360_update_credential_injector_help_text.py +++ b/awx/main/migrations/0087_v360_update_credential_injector_help_text.py @@ -5,7 +5,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0086_v360_workflow_approval'), ] diff --git a/awx/main/migrations/0088_v360_dashboard_optimizations.py b/awx/main/migrations/0088_v360_dashboard_optimizations.py index 8935bde894..452dfc0dce 100644 --- a/awx/main/migrations/0088_v360_dashboard_optimizations.py +++ b/awx/main/migrations/0088_v360_dashboard_optimizations.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0087_v360_update_credential_injector_help_text'), ] diff --git a/awx/main/migrations/0089_v360_new_job_event_types.py b/awx/main/migrations/0089_v360_new_job_event_types.py index b4d53e9083..600f0c8a2f 100644 --- a/awx/main/migrations/0089_v360_new_job_event_types.py +++ b/awx/main/migrations/0089_v360_new_job_event_types.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0088_v360_dashboard_optimizations'), ] diff --git a/awx/main/migrations/0090_v360_WFJT_prompts.py b/awx/main/migrations/0090_v360_WFJT_prompts.py index d8b4a06073..75f4ebf93a 100644 --- a/awx/main/migrations/0090_v360_WFJT_prompts.py +++ b/awx/main/migrations/0090_v360_WFJT_prompts.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0089_v360_new_job_event_types'), ] diff --git a/awx/main/migrations/0091_v360_approval_node_notifications.py b/awx/main/migrations/0091_v360_approval_node_notifications.py index 26be885cf0..a9713b9d47 100644 --- a/awx/main/migrations/0091_v360_approval_node_notifications.py +++ b/awx/main/migrations/0091_v360_approval_node_notifications.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0090_v360_WFJT_prompts'), ] diff --git a/awx/main/migrations/0092_v360_webhook_mixin.py b/awx/main/migrations/0092_v360_webhook_mixin.py index 39adb22cdf..90f585e6f8 100644 --- a/awx/main/migrations/0092_v360_webhook_mixin.py +++ b/awx/main/migrations/0092_v360_webhook_mixin.py @@ -5,7 +5,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0091_v360_approval_node_notifications'), ] diff --git a/awx/main/migrations/0093_v360_personal_access_tokens.py b/awx/main/migrations/0093_v360_personal_access_tokens.py index 3ba5b15e70..072771b5f4 100644 --- a/awx/main/migrations/0093_v360_personal_access_tokens.py +++ b/awx/main/migrations/0093_v360_personal_access_tokens.py @@ -12,7 +12,6 @@ def setup_tower_managed_defaults(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0092_v360_webhook_mixin'), ] diff --git a/awx/main/migrations/0094_v360_webhook_mixin2.py b/awx/main/migrations/0094_v360_webhook_mixin2.py index 03e81c30b6..b7de48fc33 100644 --- a/awx/main/migrations/0094_v360_webhook_mixin2.py +++ b/awx/main/migrations/0094_v360_webhook_mixin2.py @@ -5,7 +5,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0093_v360_personal_access_tokens'), ] diff --git a/awx/main/migrations/0095_v360_increase_instance_version_length.py b/awx/main/migrations/0095_v360_increase_instance_version_length.py index b2bd9a7c8d..94fe2557be 100644 --- a/awx/main/migrations/0095_v360_increase_instance_version_length.py +++ b/awx/main/migrations/0095_v360_increase_instance_version_length.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0094_v360_webhook_mixin2'), ] diff --git a/awx/main/migrations/0096_v360_container_groups.py b/awx/main/migrations/0096_v360_container_groups.py index 9fe4bad2d0..1ee9b92bfa 100644 --- a/awx/main/migrations/0096_v360_container_groups.py +++ b/awx/main/migrations/0096_v360_container_groups.py @@ -13,7 +13,6 @@ def create_new_credential_types(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0095_v360_increase_instance_version_length'), ] diff --git a/awx/main/migrations/0097_v360_workflowapproval_approved_or_denied_by.py b/awx/main/migrations/0097_v360_workflowapproval_approved_or_denied_by.py index b48c23fde1..961570a65b 100644 --- a/awx/main/migrations/0097_v360_workflowapproval_approved_or_denied_by.py +++ b/awx/main/migrations/0097_v360_workflowapproval_approved_or_denied_by.py @@ -6,7 +6,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('main', '0096_v360_container_groups'), diff --git a/awx/main/migrations/0098_v360_rename_cyberark_aim_credential_type.py b/awx/main/migrations/0098_v360_rename_cyberark_aim_credential_type.py index 02d46227a3..8e4470d96f 100644 --- a/awx/main/migrations/0098_v360_rename_cyberark_aim_credential_type.py +++ b/awx/main/migrations/0098_v360_rename_cyberark_aim_credential_type.py @@ -15,7 +15,6 @@ def update_cyberark_aim_name(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0097_v360_workflowapproval_approved_or_denied_by'), ] diff --git a/awx/main/migrations/0099_v361_license_cleanup.py b/awx/main/migrations/0099_v361_license_cleanup.py index f3e1b4e6ed..f02d194eb6 100644 --- a/awx/main/migrations/0099_v361_license_cleanup.py +++ b/awx/main/migrations/0099_v361_license_cleanup.py @@ -13,7 +13,6 @@ def _cleanup_license_setting(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0098_v360_rename_cyberark_aim_credential_type'), ] diff --git a/awx/main/migrations/0100_v370_projectupdate_job_tags.py b/awx/main/migrations/0100_v370_projectupdate_job_tags.py index db7ce691ce..5112e72b27 100644 --- a/awx/main/migrations/0100_v370_projectupdate_job_tags.py +++ b/awx/main/migrations/0100_v370_projectupdate_job_tags.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0099_v361_license_cleanup'), ] diff --git a/awx/main/migrations/0101_v370_generate_new_uuids_for_iso_nodes.py b/awx/main/migrations/0101_v370_generate_new_uuids_for_iso_nodes.py index a14399d30e..113a85f856 100644 --- a/awx/main/migrations/0101_v370_generate_new_uuids_for_iso_nodes.py +++ b/awx/main/migrations/0101_v370_generate_new_uuids_for_iso_nodes.py @@ -16,7 +16,6 @@ def _generate_new_uuid_for_iso_nodes(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0100_v370_projectupdate_job_tags'), ] diff --git a/awx/main/migrations/0102_v370_unifiedjob_canceled.py b/awx/main/migrations/0102_v370_unifiedjob_canceled.py index b5909dd9bc..862602e0fc 100644 --- a/awx/main/migrations/0102_v370_unifiedjob_canceled.py +++ b/awx/main/migrations/0102_v370_unifiedjob_canceled.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0101_v370_generate_new_uuids_for_iso_nodes'), ] diff --git a/awx/main/migrations/0103_v370_remove_computed_fields.py b/awx/main/migrations/0103_v370_remove_computed_fields.py index ca81402df9..a9c5096837 100644 --- a/awx/main/migrations/0103_v370_remove_computed_fields.py +++ b/awx/main/migrations/0103_v370_remove_computed_fields.py @@ -6,7 +6,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0102_v370_unifiedjob_canceled'), ] diff --git a/awx/main/migrations/0104_v370_cleanup_old_scan_jts.py b/awx/main/migrations/0104_v370_cleanup_old_scan_jts.py index f698498ac3..a98f64d8d5 100644 --- a/awx/main/migrations/0104_v370_cleanup_old_scan_jts.py +++ b/awx/main/migrations/0104_v370_cleanup_old_scan_jts.py @@ -9,7 +9,6 @@ def cleanup_scan_jts(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0103_v370_remove_computed_fields'), ] diff --git a/awx/main/migrations/0105_v370_remove_jobevent_parent_and_hosts.py b/awx/main/migrations/0105_v370_remove_jobevent_parent_and_hosts.py index a327667ba7..57ee532a48 100644 --- a/awx/main/migrations/0105_v370_remove_jobevent_parent_and_hosts.py +++ b/awx/main/migrations/0105_v370_remove_jobevent_parent_and_hosts.py @@ -4,7 +4,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0104_v370_cleanup_old_scan_jts'), ] diff --git a/awx/main/migrations/0106_v370_remove_inventory_groups_with_active_failures.py b/awx/main/migrations/0106_v370_remove_inventory_groups_with_active_failures.py index bc210e9fd3..a9ae525385 100644 --- a/awx/main/migrations/0106_v370_remove_inventory_groups_with_active_failures.py +++ b/awx/main/migrations/0106_v370_remove_inventory_groups_with_active_failures.py @@ -4,7 +4,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0105_v370_remove_jobevent_parent_and_hosts'), ] diff --git a/awx/main/migrations/0107_v370_workflow_convergence_api_toggle.py b/awx/main/migrations/0107_v370_workflow_convergence_api_toggle.py index 964f6e3e80..56e1ee2ffc 100644 --- a/awx/main/migrations/0107_v370_workflow_convergence_api_toggle.py +++ b/awx/main/migrations/0107_v370_workflow_convergence_api_toggle.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0106_v370_remove_inventory_groups_with_active_failures'), ] diff --git a/awx/main/migrations/0108_v370_unifiedjob_dependencies_processed.py b/awx/main/migrations/0108_v370_unifiedjob_dependencies_processed.py index 7a58d77be1..90d95ffadc 100644 --- a/awx/main/migrations/0108_v370_unifiedjob_dependencies_processed.py +++ b/awx/main/migrations/0108_v370_unifiedjob_dependencies_processed.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0107_v370_workflow_convergence_api_toggle'), ] diff --git a/awx/main/migrations/0109_v370_job_template_organization_field.py b/awx/main/migrations/0109_v370_job_template_organization_field.py index 37f8bf97c0..38c1867480 100644 --- a/awx/main/migrations/0109_v370_job_template_organization_field.py +++ b/awx/main/migrations/0109_v370_job_template_organization_field.py @@ -19,7 +19,6 @@ def rebuild_jt_parents(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0108_v370_unifiedjob_dependencies_processed'), ] diff --git a/awx/main/migrations/0110_v370_instance_ip_address.py b/awx/main/migrations/0110_v370_instance_ip_address.py index 914be02c52..de9786f862 100644 --- a/awx/main/migrations/0110_v370_instance_ip_address.py +++ b/awx/main/migrations/0110_v370_instance_ip_address.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0109_v370_job_template_organization_field'), ] diff --git a/awx/main/migrations/0111_v370_delete_channelgroup.py b/awx/main/migrations/0111_v370_delete_channelgroup.py index d17270fb90..7e87b0e09d 100644 --- a/awx/main/migrations/0111_v370_delete_channelgroup.py +++ b/awx/main/migrations/0111_v370_delete_channelgroup.py @@ -4,7 +4,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0110_v370_instance_ip_address'), ] diff --git a/awx/main/migrations/0112_v370_workflow_node_identifier.py b/awx/main/migrations/0112_v370_workflow_node_identifier.py index c10791898a..95775798e5 100644 --- a/awx/main/migrations/0112_v370_workflow_node_identifier.py +++ b/awx/main/migrations/0112_v370_workflow_node_identifier.py @@ -20,7 +20,6 @@ def create_uuid(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0111_v370_delete_channelgroup'), ] diff --git a/awx/main/migrations/0113_v370_event_bigint.py b/awx/main/migrations/0113_v370_event_bigint.py index 421b062ec1..fc85ac1708 100644 --- a/awx/main/migrations/0113_v370_event_bigint.py +++ b/awx/main/migrations/0113_v370_event_bigint.py @@ -37,7 +37,6 @@ class FakeAlterField(migrations.AlterField): class Migration(migrations.Migration): - dependencies = [ ('main', '0112_v370_workflow_node_identifier'), ] diff --git a/awx/main/migrations/0114_v370_remove_deprecated_manual_inventory_sources.py b/awx/main/migrations/0114_v370_remove_deprecated_manual_inventory_sources.py index 501b2d190d..47f37e9720 100644 --- a/awx/main/migrations/0114_v370_remove_deprecated_manual_inventory_sources.py +++ b/awx/main/migrations/0114_v370_remove_deprecated_manual_inventory_sources.py @@ -15,7 +15,6 @@ def remove_manual_inventory_sources(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0113_v370_event_bigint'), ] diff --git a/awx/main/migrations/0115_v370_schedule_set_null.py b/awx/main/migrations/0115_v370_schedule_set_null.py index 2bb681e3a1..e8297b81c9 100644 --- a/awx/main/migrations/0115_v370_schedule_set_null.py +++ b/awx/main/migrations/0115_v370_schedule_set_null.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0114_v370_remove_deprecated_manual_inventory_sources'), ] diff --git a/awx/main/migrations/0116_v400_remove_hipchat_notifications.py b/awx/main/migrations/0116_v400_remove_hipchat_notifications.py index 91444fcd41..c2676de21e 100644 --- a/awx/main/migrations/0116_v400_remove_hipchat_notifications.py +++ b/awx/main/migrations/0116_v400_remove_hipchat_notifications.py @@ -14,7 +14,6 @@ def remove_hipchat_notifications(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0115_v370_schedule_set_null'), ] diff --git a/awx/main/migrations/0117_v400_remove_cloudforms_inventory.py b/awx/main/migrations/0117_v400_remove_cloudforms_inventory.py index 58fa9d574e..c3a7efce59 100644 --- a/awx/main/migrations/0117_v400_remove_cloudforms_inventory.py +++ b/awx/main/migrations/0117_v400_remove_cloudforms_inventory.py @@ -5,7 +5,6 @@ from awx.main.migrations._inventory_source import delete_cloudforms_inv_source class Migration(migrations.Migration): - dependencies = [ ('main', '0116_v400_remove_hipchat_notifications'), ] diff --git a/awx/main/migrations/0118_add_remote_archive_scm_type.py b/awx/main/migrations/0118_add_remote_archive_scm_type.py index ab2a913733..ffe959f3a3 100644 --- a/awx/main/migrations/0118_add_remote_archive_scm_type.py +++ b/awx/main/migrations/0118_add_remote_archive_scm_type.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0117_v400_remove_cloudforms_inventory'), ] diff --git a/awx/main/migrations/0119_inventory_plugins.py b/awx/main/migrations/0119_inventory_plugins.py index 392bab15b8..d9e490bda1 100644 --- a/awx/main/migrations/0119_inventory_plugins.py +++ b/awx/main/migrations/0119_inventory_plugins.py @@ -29,7 +29,6 @@ def inventory_source_vars_forward(apps, schema_editor): source_vars_backup = dict() for inv_source_obj in _get_inventory_sources(InventorySource): - if inv_source_obj.source in FrozenInjectors: source_vars_backup[inv_source_obj.id] = dict(inv_source_obj.source_vars_dict) @@ -40,7 +39,6 @@ def inventory_source_vars_forward(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0118_add_remote_archive_scm_type'), ] diff --git a/awx/main/migrations/0120_galaxy_credentials.py b/awx/main/migrations/0120_galaxy_credentials.py index fdd6c84d51..da0dca4511 100644 --- a/awx/main/migrations/0120_galaxy_credentials.py +++ b/awx/main/migrations/0120_galaxy_credentials.py @@ -13,7 +13,6 @@ logger = logging.getLogger('awx.main.migrations') class Migration(migrations.Migration): - dependencies = [ ('main', '0119_inventory_plugins'), ] diff --git a/awx/main/migrations/0121_delete_toweranalyticsstate.py b/awx/main/migrations/0121_delete_toweranalyticsstate.py index d1e1ceb37c..31228a501f 100644 --- a/awx/main/migrations/0121_delete_toweranalyticsstate.py +++ b/awx/main/migrations/0121_delete_toweranalyticsstate.py @@ -4,7 +4,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0120_galaxy_credentials'), ] diff --git a/awx/main/migrations/0122_really_remove_cloudforms_inventory.py b/awx/main/migrations/0122_really_remove_cloudforms_inventory.py index ee44573304..7cf8440133 100644 --- a/awx/main/migrations/0122_really_remove_cloudforms_inventory.py +++ b/awx/main/migrations/0122_really_remove_cloudforms_inventory.py @@ -3,7 +3,6 @@ from awx.main.migrations._inventory_source import delete_cloudforms_inv_source class Migration(migrations.Migration): - dependencies = [ ('main', '0121_delete_toweranalyticsstate'), ] diff --git a/awx/main/migrations/0123_drop_hg_support.py b/awx/main/migrations/0123_drop_hg_support.py index 2d4860dac9..270dbdf963 100644 --- a/awx/main/migrations/0123_drop_hg_support.py +++ b/awx/main/migrations/0123_drop_hg_support.py @@ -3,7 +3,6 @@ from awx.main.migrations._hg_removal import delete_hg_scm class Migration(migrations.Migration): - dependencies = [ ('main', '0122_really_remove_cloudforms_inventory'), ] diff --git a/awx/main/migrations/0124_execution_environments.py b/awx/main/migrations/0124_execution_environments.py index 6679b59f0e..67a6e31464 100644 --- a/awx/main/migrations/0124_execution_environments.py +++ b/awx/main/migrations/0124_execution_environments.py @@ -8,7 +8,6 @@ import taggit.managers class Migration(migrations.Migration): - dependencies = [ ('taggit', '0003_taggeditem_add_unique_index'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), diff --git a/awx/main/migrations/0125_more_ee_modeling_changes.py b/awx/main/migrations/0125_more_ee_modeling_changes.py index 629813a55f..e1e0a86e14 100644 --- a/awx/main/migrations/0125_more_ee_modeling_changes.py +++ b/awx/main/migrations/0125_more_ee_modeling_changes.py @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0124_execution_environments'), ] diff --git a/awx/main/migrations/0126_executionenvironment_container_options.py b/awx/main/migrations/0126_executionenvironment_container_options.py index 8c3da310fe..122952da2c 100644 --- a/awx/main/migrations/0126_executionenvironment_container_options.py +++ b/awx/main/migrations/0126_executionenvironment_container_options.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0125_more_ee_modeling_changes'), ] diff --git a/awx/main/migrations/0127_reset_pod_spec_override.py b/awx/main/migrations/0127_reset_pod_spec_override.py index 82364579f4..88d361a4a8 100644 --- a/awx/main/migrations/0127_reset_pod_spec_override.py +++ b/awx/main/migrations/0127_reset_pod_spec_override.py @@ -9,7 +9,6 @@ def reset_pod_specs(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0126_executionenvironment_container_options'), ] diff --git a/awx/main/migrations/0128_organiaztion_read_roles_ee_admin.py b/awx/main/migrations/0128_organiaztion_read_roles_ee_admin.py index 571bc30bb9..482f4509a5 100644 --- a/awx/main/migrations/0128_organiaztion_read_roles_ee_admin.py +++ b/awx/main/migrations/0128_organiaztion_read_roles_ee_admin.py @@ -6,7 +6,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0127_reset_pod_spec_override'), ] diff --git a/awx/main/migrations/0129_unifiedjob_installed_collections.py b/awx/main/migrations/0129_unifiedjob_installed_collections.py index 644bff4132..c70134f823 100644 --- a/awx/main/migrations/0129_unifiedjob_installed_collections.py +++ b/awx/main/migrations/0129_unifiedjob_installed_collections.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0128_organiaztion_read_roles_ee_admin'), ] diff --git a/awx/main/migrations/0130_ee_polymorphic_set_null.py b/awx/main/migrations/0130_ee_polymorphic_set_null.py index a33e22a017..f3f58bcccb 100644 --- a/awx/main/migrations/0130_ee_polymorphic_set_null.py +++ b/awx/main/migrations/0130_ee_polymorphic_set_null.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0129_unifiedjob_installed_collections'), ] diff --git a/awx/main/migrations/0131_undo_org_polymorphic_ee.py b/awx/main/migrations/0131_undo_org_polymorphic_ee.py index 2a3a805bc1..4ff9b30f13 100644 --- a/awx/main/migrations/0131_undo_org_polymorphic_ee.py +++ b/awx/main/migrations/0131_undo_org_polymorphic_ee.py @@ -5,7 +5,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0130_ee_polymorphic_set_null'), ] diff --git a/awx/main/migrations/0132_instancegroup_is_container_group.py b/awx/main/migrations/0132_instancegroup_is_container_group.py index faffdc1af5..331be4bc5d 100644 --- a/awx/main/migrations/0132_instancegroup_is_container_group.py +++ b/awx/main/migrations/0132_instancegroup_is_container_group.py @@ -12,7 +12,6 @@ def migrate_existing_container_groups(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0131_undo_org_polymorphic_ee'), ] diff --git a/awx/main/migrations/0133_centrify_vault_credtype.py b/awx/main/migrations/0133_centrify_vault_credtype.py index e4416e3680..b061c10303 100644 --- a/awx/main/migrations/0133_centrify_vault_credtype.py +++ b/awx/main/migrations/0133_centrify_vault_credtype.py @@ -10,7 +10,6 @@ def setup_tower_managed_defaults(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0132_instancegroup_is_container_group'), ] diff --git a/awx/main/migrations/0134_unifiedjob_ansible_version.py b/awx/main/migrations/0134_unifiedjob_ansible_version.py index 6d92dc526b..2a0b4a2cee 100644 --- a/awx/main/migrations/0134_unifiedjob_ansible_version.py +++ b/awx/main/migrations/0134_unifiedjob_ansible_version.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0133_centrify_vault_credtype'), ] diff --git a/awx/main/migrations/0135_schedule_sort_fallback_to_id.py b/awx/main/migrations/0135_schedule_sort_fallback_to_id.py index 69969fafb4..950124e1c5 100644 --- a/awx/main/migrations/0135_schedule_sort_fallback_to_id.py +++ b/awx/main/migrations/0135_schedule_sort_fallback_to_id.py @@ -5,7 +5,6 @@ import django.db.models.expressions class Migration(migrations.Migration): - dependencies = [ ('main', '0134_unifiedjob_ansible_version'), ] diff --git a/awx/main/migrations/0136_scm_track_submodules.py b/awx/main/migrations/0136_scm_track_submodules.py index b2977906ea..3e48dea02a 100644 --- a/awx/main/migrations/0136_scm_track_submodules.py +++ b/awx/main/migrations/0136_scm_track_submodules.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0135_schedule_sort_fallback_to_id'), ] diff --git a/awx/main/migrations/0137_custom_inventory_scripts_removal_data.py b/awx/main/migrations/0137_custom_inventory_scripts_removal_data.py index 46490d2517..9a5c85cd27 100644 --- a/awx/main/migrations/0137_custom_inventory_scripts_removal_data.py +++ b/awx/main/migrations/0137_custom_inventory_scripts_removal_data.py @@ -7,7 +7,6 @@ from awx.main.migrations._inventory_source import delete_custom_inv_source class Migration(migrations.Migration): - dependencies = [ ('main', '0136_scm_track_submodules'), ] diff --git a/awx/main/migrations/0138_custom_inventory_scripts_removal.py b/awx/main/migrations/0138_custom_inventory_scripts_removal.py index 8dddf46667..b9d20f9b58 100644 --- a/awx/main/migrations/0138_custom_inventory_scripts_removal.py +++ b/awx/main/migrations/0138_custom_inventory_scripts_removal.py @@ -6,7 +6,6 @@ from awx.main.migrations._rbac import delete_all_custom_script_roles class Migration(migrations.Migration): - dependencies = [ ('main', '0137_custom_inventory_scripts_removal_data'), ] diff --git a/awx/main/migrations/0140_rename.py b/awx/main/migrations/0140_rename.py index 16ab7be7ac..c4cc186e56 100644 --- a/awx/main/migrations/0140_rename.py +++ b/awx/main/migrations/0140_rename.py @@ -6,7 +6,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0139_isolated_removal'), ] diff --git a/awx/main/migrations/0141_remove_isolated_instances.py b/awx/main/migrations/0141_remove_isolated_instances.py index 14f43cbd59..042eb6daac 100644 --- a/awx/main/migrations/0141_remove_isolated_instances.py +++ b/awx/main/migrations/0141_remove_isolated_instances.py @@ -9,7 +9,6 @@ def forwards(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0140_rename'), ] diff --git a/awx/main/migrations/0142_update_ee_image_field_description.py b/awx/main/migrations/0142_update_ee_image_field_description.py index 20830abc2b..6f9380236a 100644 --- a/awx/main/migrations/0142_update_ee_image_field_description.py +++ b/awx/main/migrations/0142_update_ee_image_field_description.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0141_remove_isolated_instances'), ] diff --git a/awx/main/migrations/0143_hostmetric.py b/awx/main/migrations/0143_hostmetric.py index 06a89fd777..a5df21ff3c 100644 --- a/awx/main/migrations/0143_hostmetric.py +++ b/awx/main/migrations/0143_hostmetric.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0142_update_ee_image_field_description'), ] diff --git a/awx/main/migrations/0144_event_partitions.py b/awx/main/migrations/0144_event_partitions.py index 59aa1e5253..065eead468 100644 --- a/awx/main/migrations/0144_event_partitions.py +++ b/awx/main/migrations/0144_event_partitions.py @@ -67,7 +67,6 @@ class FakeAddField(migrations.AddField): class Migration(migrations.Migration): - dependencies = [ ('main', '0143_hostmetric'), ] diff --git a/awx/main/migrations/0145_deregister_managed_ee_objs.py b/awx/main/migrations/0145_deregister_managed_ee_objs.py index f9906b072b..bab77d7691 100644 --- a/awx/main/migrations/0145_deregister_managed_ee_objs.py +++ b/awx/main/migrations/0145_deregister_managed_ee_objs.py @@ -11,7 +11,6 @@ def forwards(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0144_event_partitions'), ] diff --git a/awx/main/migrations/0146_add_insights_inventory.py b/awx/main/migrations/0146_add_insights_inventory.py index d4d9df3c32..c37be30941 100644 --- a/awx/main/migrations/0146_add_insights_inventory.py +++ b/awx/main/migrations/0146_add_insights_inventory.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0145_deregister_managed_ee_objs'), ] diff --git a/awx/main/migrations/0147_validate_ee_image_field.py b/awx/main/migrations/0147_validate_ee_image_field.py index 84e0500986..c75ee385ab 100644 --- a/awx/main/migrations/0147_validate_ee_image_field.py +++ b/awx/main/migrations/0147_validate_ee_image_field.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0146_add_insights_inventory'), ] diff --git a/awx/main/migrations/0148_unifiedjob_receptor_unit_id.py b/awx/main/migrations/0148_unifiedjob_receptor_unit_id.py index 9938daa691..50e3e22cbf 100644 --- a/awx/main/migrations/0148_unifiedjob_receptor_unit_id.py +++ b/awx/main/migrations/0148_unifiedjob_receptor_unit_id.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0147_validate_ee_image_field'), ] diff --git a/awx/main/migrations/0149_remove_inventory_insights_credential.py b/awx/main/migrations/0149_remove_inventory_insights_credential.py index 0aeee723fd..28af0a1e68 100644 --- a/awx/main/migrations/0149_remove_inventory_insights_credential.py +++ b/awx/main/migrations/0149_remove_inventory_insights_credential.py @@ -4,7 +4,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0148_unifiedjob_receptor_unit_id'), ] diff --git a/awx/main/migrations/0151_rename_managed_by_tower.py b/awx/main/migrations/0151_rename_managed_by_tower.py index 2b993f0037..8c0224444a 100644 --- a/awx/main/migrations/0151_rename_managed_by_tower.py +++ b/awx/main/migrations/0151_rename_managed_by_tower.py @@ -4,7 +4,6 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ ('main', '0150_rename_inv_sources_inv_updates'), ] diff --git a/awx/main/migrations/0152_instance_node_type.py b/awx/main/migrations/0152_instance_node_type.py index 1adcb16c9f..1aa024f0ac 100644 --- a/awx/main/migrations/0152_instance_node_type.py +++ b/awx/main/migrations/0152_instance_node_type.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0151_rename_managed_by_tower'), ] diff --git a/awx/main/migrations/0153_instance_last_seen.py b/awx/main/migrations/0153_instance_last_seen.py index 408146cda8..8878f6bed3 100644 --- a/awx/main/migrations/0153_instance_last_seen.py +++ b/awx/main/migrations/0153_instance_last_seen.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0152_instance_node_type'), ] diff --git a/awx/main/migrations/0154_set_default_uuid.py b/awx/main/migrations/0154_set_default_uuid.py index 013addb61a..f260c2aa53 100644 --- a/awx/main/migrations/0154_set_default_uuid.py +++ b/awx/main/migrations/0154_set_default_uuid.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0153_instance_last_seen'), ] diff --git a/awx/main/migrations/0155_improved_health_check.py b/awx/main/migrations/0155_improved_health_check.py index a82fa152b5..026ebb930e 100644 --- a/awx/main/migrations/0155_improved_health_check.py +++ b/awx/main/migrations/0155_improved_health_check.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0154_set_default_uuid'), ] diff --git a/awx/main/migrations/0156_capture_mesh_topology.py b/awx/main/migrations/0156_capture_mesh_topology.py index 90f5a5e0a2..afc796f873 100644 --- a/awx/main/migrations/0156_capture_mesh_topology.py +++ b/awx/main/migrations/0156_capture_mesh_topology.py @@ -5,7 +5,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0155_improved_health_check'), ] diff --git a/awx/main/migrations/0157_inventory_labels.py b/awx/main/migrations/0157_inventory_labels.py index f121ba6b2c..b42991785a 100644 --- a/awx/main/migrations/0157_inventory_labels.py +++ b/awx/main/migrations/0157_inventory_labels.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0156_capture_mesh_topology'), ] diff --git a/awx/main/migrations/0158_make_instance_cpu_decimal.py b/awx/main/migrations/0158_make_instance_cpu_decimal.py index b78ff1b754..cd0dd3407a 100644 --- a/awx/main/migrations/0158_make_instance_cpu_decimal.py +++ b/awx/main/migrations/0158_make_instance_cpu_decimal.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0157_inventory_labels'), ] diff --git a/awx/main/migrations/0159_deprecate_inventory_source_UoPU_field.py b/awx/main/migrations/0159_deprecate_inventory_source_UoPU_field.py index b586878fee..d441c32bcd 100644 --- a/awx/main/migrations/0159_deprecate_inventory_source_UoPU_field.py +++ b/awx/main/migrations/0159_deprecate_inventory_source_UoPU_field.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0158_make_instance_cpu_decimal'), ] diff --git a/awx/main/migrations/0160_alter_schedule_rrule.py b/awx/main/migrations/0160_alter_schedule_rrule.py index 5443b6bd26..1c114f8810 100644 --- a/awx/main/migrations/0160_alter_schedule_rrule.py +++ b/awx/main/migrations/0160_alter_schedule_rrule.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0159_deprecate_inventory_source_UoPU_field'), ] diff --git a/awx/main/migrations/0161_unifiedjob_host_status_counts.py b/awx/main/migrations/0161_unifiedjob_host_status_counts.py index 23871cb045..5bf9f4f593 100644 --- a/awx/main/migrations/0161_unifiedjob_host_status_counts.py +++ b/awx/main/migrations/0161_unifiedjob_host_status_counts.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0160_alter_schedule_rrule'), ] diff --git a/awx/main/migrations/0162_alter_unifiedjob_dependent_jobs.py b/awx/main/migrations/0162_alter_unifiedjob_dependent_jobs.py index e8f7c3c4c5..94e91be43f 100644 --- a/awx/main/migrations/0162_alter_unifiedjob_dependent_jobs.py +++ b/awx/main/migrations/0162_alter_unifiedjob_dependent_jobs.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0161_unifiedjob_host_status_counts'), ] diff --git a/awx/main/migrations/0163_convert_job_tags_to_textfield.py b/awx/main/migrations/0163_convert_job_tags_to_textfield.py index 219a80b149..7f505ac04f 100644 --- a/awx/main/migrations/0163_convert_job_tags_to_textfield.py +++ b/awx/main/migrations/0163_convert_job_tags_to_textfield.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0162_alter_unifiedjob_dependent_jobs'), ] diff --git a/awx/main/migrations/0164_remove_inventorysource_update_on_project_update.py b/awx/main/migrations/0164_remove_inventorysource_update_on_project_update.py index 9ccc5156e0..7ce28c0b64 100644 --- a/awx/main/migrations/0164_remove_inventorysource_update_on_project_update.py +++ b/awx/main/migrations/0164_remove_inventorysource_update_on_project_update.py @@ -12,7 +12,6 @@ def forwards(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0163_convert_job_tags_to_textfield'), ] diff --git a/awx/main/migrations/0165_task_manager_refactor.py b/awx/main/migrations/0165_task_manager_refactor.py index 2df6c6c2c2..9e5f2530b3 100644 --- a/awx/main/migrations/0165_task_manager_refactor.py +++ b/awx/main/migrations/0165_task_manager_refactor.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0164_remove_inventorysource_update_on_project_update'), ] diff --git a/awx/main/migrations/0166_alter_jobevent_host.py b/awx/main/migrations/0166_alter_jobevent_host.py index ec53e1c593..44b76f6ba9 100644 --- a/awx/main/migrations/0166_alter_jobevent_host.py +++ b/awx/main/migrations/0166_alter_jobevent_host.py @@ -5,7 +5,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0165_task_manager_refactor'), ] diff --git a/awx/main/migrations/0167_project_signature_validation_credential.py b/awx/main/migrations/0167_project_signature_validation_credential.py index d88cc55609..d404ee5b14 100644 --- a/awx/main/migrations/0167_project_signature_validation_credential.py +++ b/awx/main/migrations/0167_project_signature_validation_credential.py @@ -13,7 +13,6 @@ def setup_tower_managed_defaults(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0166_alter_jobevent_host'), ] diff --git a/awx/main/migrations/0168_inventoryupdate_scm_revision.py b/awx/main/migrations/0168_inventoryupdate_scm_revision.py index e0fe9d28fc..ddd9df230f 100644 --- a/awx/main/migrations/0168_inventoryupdate_scm_revision.py +++ b/awx/main/migrations/0168_inventoryupdate_scm_revision.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0167_project_signature_validation_credential'), ] diff --git a/awx/main/migrations/0169_jt_prompt_everything_on_launch.py b/awx/main/migrations/0169_jt_prompt_everything_on_launch.py index b31f66e139..e4c1a1fee2 100644 --- a/awx/main/migrations/0169_jt_prompt_everything_on_launch.py +++ b/awx/main/migrations/0169_jt_prompt_everything_on_launch.py @@ -7,7 +7,6 @@ import django.db.models.deletion class Migration(migrations.Migration): - dependencies = [ ('main', '0168_inventoryupdate_scm_revision'), ] diff --git a/awx/main/migrations/0170_node_and_link_state.py b/awx/main/migrations/0170_node_and_link_state.py index 6fbc3dd12b..705fe87266 100644 --- a/awx/main/migrations/0170_node_and_link_state.py +++ b/awx/main/migrations/0170_node_and_link_state.py @@ -16,7 +16,6 @@ def forwards(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ ('main', '0169_jt_prompt_everything_on_launch'), ] diff --git a/awx/main/migrations/0171_add_health_check_started.py b/awx/main/migrations/0171_add_health_check_started.py index 65f285b5b1..2af24d77ae 100644 --- a/awx/main/migrations/0171_add_health_check_started.py +++ b/awx/main/migrations/0171_add_health_check_started.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0170_node_and_link_state'), ] diff --git a/awx/main/migrations/0172_prevent_instance_fallback.py b/awx/main/migrations/0172_prevent_instance_fallback.py index aeb3ad3ebb..9b60d1e257 100644 --- a/awx/main/migrations/0172_prevent_instance_fallback.py +++ b/awx/main/migrations/0172_prevent_instance_fallback.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0171_add_health_check_started'), ] diff --git a/awx/main/migrations/0173_instancegroup_max_limits.py b/awx/main/migrations/0173_instancegroup_max_limits.py index 57ba95992e..e53902101a 100644 --- a/awx/main/migrations/0173_instancegroup_max_limits.py +++ b/awx/main/migrations/0173_instancegroup_max_limits.py @@ -4,7 +4,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ ('main', '0172_prevent_instance_fallback'), ] diff --git a/awx/main/migrations/0174_ensure_org_ee_admin_roles.py b/awx/main/migrations/0174_ensure_org_ee_admin_roles.py index 6792b10cc1..a4d979bb08 100644 --- a/awx/main/migrations/0174_ensure_org_ee_admin_roles.py +++ b/awx/main/migrations/0174_ensure_org_ee_admin_roles.py @@ -7,7 +7,6 @@ from awx.main.migrations import _migration_utils as migration_utils class Migration(migrations.Migration): - dependencies = [ ('main', '0173_instancegroup_max_limits'), ] diff --git a/awx/main/migrations/_create_system_jobs.py b/awx/main/migrations/_create_system_jobs.py index 1154e6adce..14879c8aef 100644 --- a/awx/main/migrations/_create_system_jobs.py +++ b/awx/main/migrations/_create_system_jobs.py @@ -15,7 +15,6 @@ only if new system job templates were created (i.e. new database). def create_clearsessions_jt(apps, schema_editor): - SystemJobTemplate = apps.get_model('main', 'SystemJobTemplate') Schedule = apps.get_model('main', 'Schedule') ContentType = apps.get_model('contenttypes', 'ContentType') @@ -48,7 +47,6 @@ def create_clearsessions_jt(apps, schema_editor): def create_cleartokens_jt(apps, schema_editor): - SystemJobTemplate = apps.get_model('main', 'SystemJobTemplate') Schedule = apps.get_model('main', 'Schedule') ContentType = apps.get_model('contenttypes', 'ContentType') diff --git a/awx/main/models/credential/__init__.py b/awx/main/models/credential/__init__.py index cee657da01..871016789b 100644 --- a/awx/main/models/credential/__init__.py +++ b/awx/main/models/credential/__init__.py @@ -547,7 +547,6 @@ class CredentialType(CommonModelNameNotUnique): class ManagedCredentialType(SimpleNamespace): - registry = {} def __init__(self, namespace, **kwargs): diff --git a/awx/main/models/events.py b/awx/main/models/events.py index e8bc865e00..1827802812 100644 --- a/awx/main/models/events.py +++ b/awx/main/models/events.py @@ -596,7 +596,6 @@ UnpartitionedJobEvent._meta.db_table = '_unpartitioned_' + JobEvent._meta.db_tab class ProjectUpdateEvent(BasePlaybookEvent): - VALID_KEYS = BasePlaybookEvent.VALID_KEYS + ['project_update_id', 'workflow_job_id', 'job_created'] JOB_REFERENCE = 'project_update_id' @@ -734,7 +733,6 @@ class BaseCommandEvent(CreatedModifiedModel): class AdHocCommandEvent(BaseCommandEvent): - VALID_KEYS = BaseCommandEvent.VALID_KEYS + ['ad_hoc_command_id', 'event', 'host_name', 'host_id', 'workflow_job_id', 'job_created'] WRAPUP_EVENT = 'playbook_on_stats' # exception to BaseCommandEvent JOB_REFERENCE = 'ad_hoc_command_id' @@ -841,7 +839,6 @@ UnpartitionedAdHocCommandEvent._meta.db_table = '_unpartitioned_' + AdHocCommand class InventoryUpdateEvent(BaseCommandEvent): - VALID_KEYS = BaseCommandEvent.VALID_KEYS + ['inventory_update_id', 'workflow_job_id', 'job_created'] JOB_REFERENCE = 'inventory_update_id' @@ -887,7 +884,6 @@ UnpartitionedInventoryUpdateEvent._meta.db_table = '_unpartitioned_' + Inventory class SystemJobEvent(BaseCommandEvent): - VALID_KEYS = BaseCommandEvent.VALID_KEYS + ['system_job_id', 'job_created'] JOB_REFERENCE = 'system_job_id' diff --git a/awx/main/models/ha.py b/awx/main/models/ha.py index 268f0f6996..a706063630 100644 --- a/awx/main/models/ha.py +++ b/awx/main/models/ha.py @@ -473,7 +473,6 @@ def on_instance_deleted(sender, instance, using, **kwargs): class UnifiedJobTemplateInstanceGroupMembership(models.Model): - unifiedjobtemplate = models.ForeignKey('UnifiedJobTemplate', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -484,7 +483,6 @@ class UnifiedJobTemplateInstanceGroupMembership(models.Model): class OrganizationInstanceGroupMembership(models.Model): - organization = models.ForeignKey('Organization', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -495,7 +493,6 @@ class OrganizationInstanceGroupMembership(models.Model): class InventoryInstanceGroupMembership(models.Model): - inventory = models.ForeignKey('Inventory', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -506,7 +503,6 @@ class InventoryInstanceGroupMembership(models.Model): class JobLaunchConfigInstanceGroupMembership(models.Model): - joblaunchconfig = models.ForeignKey('JobLaunchConfig', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -517,7 +513,6 @@ class JobLaunchConfigInstanceGroupMembership(models.Model): class ScheduleInstanceGroupMembership(models.Model): - schedule = models.ForeignKey('Schedule', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -528,7 +523,6 @@ class ScheduleInstanceGroupMembership(models.Model): class WorkflowJobTemplateNodeBaseInstanceGroupMembership(models.Model): - workflowjobtemplatenode = models.ForeignKey('WorkflowJobTemplateNode', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -539,7 +533,6 @@ class WorkflowJobTemplateNodeBaseInstanceGroupMembership(models.Model): class WorkflowJobNodeBaseInstanceGroupMembership(models.Model): - workflowjobnode = models.ForeignKey('WorkflowJobNode', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( @@ -550,7 +543,6 @@ class WorkflowJobNodeBaseInstanceGroupMembership(models.Model): class WorkflowJobInstanceGroupMembership(models.Model): - workflowjobnode = models.ForeignKey('WorkflowJob', on_delete=models.CASCADE) instancegroup = models.ForeignKey('InstanceGroup', on_delete=models.CASCADE) position = models.PositiveIntegerField( diff --git a/awx/main/models/inventory.py b/awx/main/models/inventory.py index 81af2379a0..a0df4dfde4 100644 --- a/awx/main/models/inventory.py +++ b/awx/main/models/inventory.py @@ -988,7 +988,6 @@ class InventorySourceOptions(BaseModel): class InventorySource(UnifiedJobTemplate, InventorySourceOptions, CustomVirtualEnvMixin, RelatedJobsMixin): - SOFT_UNIQUE_TOGETHER = [('polymorphic_ctype', 'name', 'inventory')] class Meta: diff --git a/awx/main/models/notifications.py b/awx/main/models/notifications.py index 331586e76a..b51cd5195b 100644 --- a/awx/main/models/notifications.py +++ b/awx/main/models/notifications.py @@ -37,7 +37,6 @@ __all__ = ['NotificationTemplate', 'Notification'] class NotificationTemplate(CommonModelNameNotUnique): - NOTIFICATION_TYPES = [ ('email', _('Email'), CustomEmailBackend), ('slack', _('Slack'), SlackBackend), diff --git a/awx/main/models/organization.py b/awx/main/models/organization.py index 9a38bfe957..5e90c51ace 100644 --- a/awx/main/models/organization.py +++ b/awx/main/models/organization.py @@ -116,7 +116,6 @@ class Organization(CommonModel, NotificationFieldsModel, ResourceMixin, CustomVi class OrganizationGalaxyCredentialMembership(models.Model): - organization = models.ForeignKey('Organization', on_delete=models.CASCADE) credential = models.ForeignKey('Credential', on_delete=models.CASCADE) position = models.PositiveIntegerField( diff --git a/awx/main/models/projects.py b/awx/main/models/projects.py index 6577d24c40..ac6b6c27ad 100644 --- a/awx/main/models/projects.py +++ b/awx/main/models/projects.py @@ -43,7 +43,6 @@ __all__ = ['Project', 'ProjectUpdate'] class ProjectOptions(models.Model): - SCM_TYPE_CHOICES = [ ('', _('Manual')), ('git', _('Git')), diff --git a/awx/main/models/schedules.py b/awx/main/models/schedules.py index 1ec5ed7d2b..3993fdf183 100644 --- a/awx/main/models/schedules.py +++ b/awx/main/models/schedules.py @@ -54,7 +54,6 @@ class ScheduleQuerySet(ScheduleFilterMethods, QuerySet): class ScheduleManager(ScheduleFilterMethods, models.Manager): - use_for_related_objects = True def get_queryset(self): diff --git a/awx/main/models/unified_jobs.py b/awx/main/models/unified_jobs.py index 6e99978198..3f938f44ef 100644 --- a/awx/main/models/unified_jobs.py +++ b/awx/main/models/unified_jobs.py @@ -1129,7 +1129,6 @@ class UnifiedJob( # (`stdout`) directly to a file with connection.cursor() as cursor: - if enforce_max_bytes: # detect the length of all stdout for this UnifiedJob, and # if it exceeds settings.STDOUT_MAX_BYTES_DISPLAY bytes, diff --git a/awx/main/models/workflow.py b/awx/main/models/workflow.py index f97b4e93b8..56dcaf7d2d 100644 --- a/awx/main/models/workflow.py +++ b/awx/main/models/workflow.py @@ -450,7 +450,6 @@ class WorkflowJobOptions(LaunchTimeConfigBase): class WorkflowJobTemplate(UnifiedJobTemplate, WorkflowJobOptions, SurveyJobTemplateMixin, ResourceMixin, RelatedJobsMixin, WebhookTemplateMixin): - SOFT_UNIQUE_TOGETHER = [('polymorphic_ctype', 'name', 'organization')] FIELDS_TO_PRESERVE_AT_COPY = [ 'labels', @@ -568,7 +567,6 @@ class WorkflowJobTemplate(UnifiedJobTemplate, WorkflowJobOptions, SurveyJobTempl # Handle all the fields that have prompting rules # NOTE: If WFJTs prompt for other things, this logic can be combined with jobs for field_name, ask_field_name in self.get_ask_mapping().items(): - if field_name == 'extra_vars': accepted_vars, rejected_vars, vars_errors = self.accept_or_ignore_variables( kwargs.get('extra_vars', {}), _exclude_errors=exclude_errors, extra_passwords=kwargs.get('survey_passwords', {}) @@ -779,7 +777,6 @@ class WorkflowJob(UnifiedJob, WorkflowJobOptions, SurveyJobMixin, JobNotificatio class WorkflowApprovalTemplate(UnifiedJobTemplate, RelatedJobsMixin): - FIELDS_TO_PRESERVE_AT_COPY = [ 'description', 'timeout', diff --git a/awx/main/notifications/email_backend.py b/awx/main/notifications/email_backend.py index 5e37ac5f32..902a8b812e 100644 --- a/awx/main/notifications/email_backend.py +++ b/awx/main/notifications/email_backend.py @@ -22,7 +22,6 @@ DEFAULT_APPROVAL_DENIED_BODY = CustomNotificationBase.DEFAULT_APPROVAL_DENIED_BO class CustomEmailBackend(EmailBackend, CustomNotificationBase): - init_parameters = { "host": {"label": "Host", "type": "string"}, "port": {"label": "Port", "type": "int"}, diff --git a/awx/main/notifications/grafana_backend.py b/awx/main/notifications/grafana_backend.py index 0d7dff9e05..153b004a5e 100644 --- a/awx/main/notifications/grafana_backend.py +++ b/awx/main/notifications/grafana_backend.py @@ -31,7 +31,6 @@ logger = logging.getLogger('awx.main.notifications.grafana_backend') class GrafanaBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = {"grafana_url": {"label": "Grafana URL", "type": "string"}, "grafana_key": {"label": "Grafana API Key", "type": "password"}} recipient_parameter = "grafana_url" sender_parameter = None diff --git a/awx/main/notifications/irc_backend.py b/awx/main/notifications/irc_backend.py index 20a5523b52..44693e0865 100644 --- a/awx/main/notifications/irc_backend.py +++ b/awx/main/notifications/irc_backend.py @@ -17,7 +17,6 @@ logger = logging.getLogger('awx.main.notifications.irc_backend') class IrcBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = { "server": {"label": "IRC Server Address", "type": "string"}, "port": {"label": "IRC Server Port", "type": "int"}, diff --git a/awx/main/notifications/mattermost_backend.py b/awx/main/notifications/mattermost_backend.py index c96b3e9f54..ed8711220f 100644 --- a/awx/main/notifications/mattermost_backend.py +++ b/awx/main/notifications/mattermost_backend.py @@ -14,7 +14,6 @@ logger = logging.getLogger('awx.main.notifications.mattermost_backend') class MattermostBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = {"mattermost_url": {"label": "Target URL", "type": "string"}, "mattermost_no_verify_ssl": {"label": "Verify SSL", "type": "bool"}} recipient_parameter = "mattermost_url" sender_parameter = None diff --git a/awx/main/notifications/pagerduty_backend.py b/awx/main/notifications/pagerduty_backend.py index cfc3073ed4..d8f37c07f6 100644 --- a/awx/main/notifications/pagerduty_backend.py +++ b/awx/main/notifications/pagerduty_backend.py @@ -29,7 +29,6 @@ logger = logging.getLogger('awx.main.notifications.pagerduty_backend') class PagerDutyBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = { "subdomain": {"label": "Pagerduty subdomain", "type": "string"}, "token": {"label": "API Token", "type": "password"}, diff --git a/awx/main/notifications/rocketchat_backend.py b/awx/main/notifications/rocketchat_backend.py index 67155233c7..c741878172 100644 --- a/awx/main/notifications/rocketchat_backend.py +++ b/awx/main/notifications/rocketchat_backend.py @@ -16,7 +16,6 @@ logger = logging.getLogger('awx.main.notifications.rocketchat_backend') class RocketChatBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = {"rocketchat_url": {"label": "Target URL", "type": "string"}, "rocketchat_no_verify_ssl": {"label": "Verify SSL", "type": "bool"}} recipient_parameter = "rocketchat_url" sender_parameter = None diff --git a/awx/main/notifications/slack_backend.py b/awx/main/notifications/slack_backend.py index d1016526aa..fc04dbb899 100644 --- a/awx/main/notifications/slack_backend.py +++ b/awx/main/notifications/slack_backend.py @@ -16,7 +16,6 @@ WEBSOCKET_TIMEOUT = 30 class SlackBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = {"token": {"label": "Token", "type": "password"}, "channels": {"label": "Destination Channels", "type": "list"}} recipient_parameter = "channels" sender_parameter = None diff --git a/awx/main/notifications/twilio_backend.py b/awx/main/notifications/twilio_backend.py index 1f54d603ac..420c5ef74d 100644 --- a/awx/main/notifications/twilio_backend.py +++ b/awx/main/notifications/twilio_backend.py @@ -15,7 +15,6 @@ logger = logging.getLogger('awx.main.notifications.twilio_backend') class TwilioBackend(AWXBaseEmailBackend, CustomNotificationBase): - init_parameters = { "account_sid": {"label": "Account SID", "type": "string"}, "account_token": {"label": "Account Token", "type": "password"}, diff --git a/awx/main/notifications/webhook_backend.py b/awx/main/notifications/webhook_backend.py index 17ced60f9f..0b10596f2d 100644 --- a/awx/main/notifications/webhook_backend.py +++ b/awx/main/notifications/webhook_backend.py @@ -13,7 +13,6 @@ logger = logging.getLogger('awx.main.notifications.webhook_backend') class WebhookBackend(AWXBaseEmailBackend, CustomNotificationBase): - MAX_RETRIES = 5 init_parameters = { @@ -65,7 +64,6 @@ class WebhookBackend(AWXBaseEmailBackend, CustomNotificationBase): chosen_method = getattr(requests, self.http_method.lower(), None) for m in messages: - auth = None if self.username or self.password: auth = (self.username, self.password) @@ -82,7 +80,6 @@ class WebhookBackend(AWXBaseEmailBackend, CustomNotificationBase): err = None for retries in range(self.MAX_RETRIES): - # Sometimes we hit redirect URLs. We must account for this. We still extract the redirect URL from the response headers and try again. Max retires == 5 resp = chosen_method( url=url, diff --git a/awx/main/tasks/callback.py b/awx/main/tasks/callback.py index c99d9e3027..92bfc40368 100644 --- a/awx/main/tasks/callback.py +++ b/awx/main/tasks/callback.py @@ -244,5 +244,4 @@ class RunnerCallbackForAdHocCommand(RunnerCallback): class RunnerCallbackForSystemJob(RunnerCallback): - pass diff --git a/awx/main/tasks/jobs.py b/awx/main/tasks/jobs.py index a726a418c0..733475e0eb 100644 --- a/awx/main/tasks/jobs.py +++ b/awx/main/tasks/jobs.py @@ -1097,7 +1097,6 @@ class RunJob(SourceControlMixin, BaseTask): @task(queue=get_local_queuename) class RunProjectUpdate(BaseTask): - model = ProjectUpdate event_model = ProjectUpdateEvent callback_class = RunnerCallbackForProjectUpdate @@ -1420,7 +1419,6 @@ class RunProjectUpdate(BaseTask): @task(queue=get_local_queuename) class RunInventoryUpdate(SourceControlMixin, BaseTask): - model = InventoryUpdate event_model = InventoryUpdateEvent callback_class = RunnerCallbackForInventoryUpdate @@ -1815,7 +1813,6 @@ class RunAdHocCommand(BaseTask): @task(queue=get_local_queuename) class RunSystemJob(BaseTask): - model = SystemJob event_model = SystemJobEvent callback_class = RunnerCallbackForSystemJob diff --git a/awx/main/tasks/receptor.py b/awx/main/tasks/receptor.py index 94568ebd6c..006c805943 100644 --- a/awx/main/tasks/receptor.py +++ b/awx/main/tasks/receptor.py @@ -186,7 +186,6 @@ def run_until_complete(node, timing_data=None, **kwargs): stdout = '' try: - resultfile = receptor_ctl.get_work_results(unit_id) while run_timing < 20.0: @@ -206,7 +205,6 @@ def run_until_complete(node, timing_data=None, **kwargs): stdout = str(stdout, encoding='utf-8') finally: - if settings.RECEPTOR_RELEASE_WORK: res = receptor_ctl.simple_command(f"work release {unit_id}") if res != {'released': unit_id}: diff --git a/awx/main/tests/factories/tower.py b/awx/main/tests/factories/tower.py index 2688dbde19..894741a7e5 100644 --- a/awx/main/tests/factories/tower.py +++ b/awx/main/tests/factories/tower.py @@ -403,7 +403,6 @@ def create_notification_template(name, roles=None, persisted=True, **kwargs): def generate_workflow_job_template_nodes(workflow_job_template, persisted, **kwargs): - workflow_job_template_nodes = kwargs.get('workflow_job_template_nodes', []) if len(workflow_job_template_nodes) > 0 and not persisted: raise RuntimeError('workflow job template nodes cannot be used when persisted=False') diff --git a/awx/main/tests/functional/api/test_organization_counts.py b/awx/main/tests/functional/api/test_organization_counts.py index 096fc11350..d1790f413c 100644 --- a/awx/main/tests/functional/api/test_organization_counts.py +++ b/awx/main/tests/functional/api/test_organization_counts.py @@ -8,7 +8,6 @@ from awx.main.models import Project, Host @pytest.fixture def organization_resource_creator(organization, user): def rf(users, admins, job_templates, projects, inventories, teams): - # Associate one resource of every type with the organization for i in range(users): member_user = user('org-member %s' % i) diff --git a/awx/main/tests/functional/models/test_inventory.py b/awx/main/tests/functional/models/test_inventory.py index d246853c83..a1db473d3e 100644 --- a/awx/main/tests/functional/models/test_inventory.py +++ b/awx/main/tests/functional/models/test_inventory.py @@ -230,7 +230,6 @@ def setup_ec2_gce(organization): @pytest.fixture def setup_inventory_groups(inventory, group_factory): - groupA = group_factory('test_groupA') groupB = group_factory('test_groupB') diff --git a/awx/main/tests/functional/models/test_schedule.py b/awx/main/tests/functional/models/test_schedule.py index b41c390662..6ad7115373 100644 --- a/awx/main/tests/functional/models/test_schedule.py +++ b/awx/main/tests/functional/models/test_schedule.py @@ -20,7 +20,6 @@ def job_template(inventory, project): @pytest.mark.django_db class TestComputedFields: - # expired in 2015, so next_run should not be populated dead_rrule = "DTSTART;TZID=UTC:20140520T190000 RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=1;BYMONTHDAY=1;UNTIL=20150530T000000Z" continuing_rrule = "DTSTART;TZID=UTC:20140520T190000 RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=1;BYMONTHDAY=1" diff --git a/awx/main/tests/functional/test_ldap.py b/awx/main/tests/functional/test_ldap.py index d85e04c475..2467ff52e3 100644 --- a/awx/main/tests/functional/test_ldap.py +++ b/awx/main/tests/functional/test_ldap.py @@ -10,7 +10,6 @@ from awx.api.versioning import reverse @pytest.fixture def ldap_generator(): def fn(fname, host='localhost'): - fh = open(os.path.join(os.path.dirname(os.path.realpath(__file__)), fname), 'rb') ctrl = ldif.LDIFRecordList(fh) ctrl.parse() diff --git a/awx/main/tests/functional/test_notifications.py b/awx/main/tests/functional/test_notifications.py index 7396b77843..08036db97c 100644 --- a/awx/main/tests/functional/test_notifications.py +++ b/awx/main/tests/functional/test_notifications.py @@ -197,7 +197,6 @@ def mock_post(*args, **kwargs): @pytest.mark.django_db @mock.patch('requests.post', side_effect=mock_post) def test_webhook_notification_pointed_to_a_redirect_launch_endpoint(post, admin, organization): - n1 = NotificationTemplate.objects.create( name="test-webhook", description="test webhook", diff --git a/awx/main/tests/functional/test_rbac_job.py b/awx/main/tests/functional/test_rbac_job.py index 4f17aab45d..ff5c6c25a2 100644 --- a/awx/main/tests/functional/test_rbac_job.py +++ b/awx/main/tests/functional/test_rbac_job.py @@ -240,7 +240,6 @@ class TestJobRelaunchAccess: @pytest.mark.django_db class TestJobAndUpdateCancels: - # used in view: job_template_launch def test_jt_self_cancel(self, deploy_jobtemplate, jt_user): job = Job(job_template=deploy_jobtemplate, created_by=jt_user) diff --git a/awx/main/tests/functional/test_rbac_job_templates.py b/awx/main/tests/functional/test_rbac_job_templates.py index 7a9add0f37..bccec0a1c2 100644 --- a/awx/main/tests/functional/test_rbac_job_templates.py +++ b/awx/main/tests/functional/test_rbac_job_templates.py @@ -210,7 +210,6 @@ def test_associate_label(label, user, job_template): @pytest.mark.django_db class TestJobTemplateSchedules: - rrule = 'DTSTART:20151117T050000Z RRULE:FREQ=DAILY;INTERVAL=1;COUNT=1' rrule2 = 'DTSTART:20151117T050000Z RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=1' diff --git a/awx/main/tests/functional/test_session.py b/awx/main/tests/functional/test_session.py index 157000d1ab..b20adcefc0 100644 --- a/awx/main/tests/functional/test_session.py +++ b/awx/main/tests/functional/test_session.py @@ -9,7 +9,6 @@ from unittest import mock class AlwaysPassBackend(object): - user = None def authenticate(self, **credentials): diff --git a/awx/main/tests/functional/test_tasks.py b/awx/main/tests/functional/test_tasks.py index 8abe5579eb..c4d0dac4e3 100644 --- a/awx/main/tests/functional/test_tasks.py +++ b/awx/main/tests/functional/test_tasks.py @@ -52,7 +52,6 @@ def test_folder_cleanup_stale_file(mock_job_folder, mock_me): def test_folder_cleanup_running_job(mock_job_folder, mock_me): me_inst = Instance.objects.create(hostname='local_node', uuid='00000000-0000-0000-0000-000000000000') with mock.patch.object(Instance.objects, 'me', return_value=me_inst): - job = Job.objects.create(id=123, controller_node=me_inst.hostname, status='running') _cleanup_images_and_files(grace_period=0) assert os.path.exists(mock_job_folder) # running job should prevent folder from getting deleted diff --git a/awx/main/tests/unit/api/test_logger.py b/awx/main/tests/unit/api/test_logger.py index bdea633a07..b56da87da1 100644 --- a/awx/main/tests/unit/api/test_logger.py +++ b/awx/main/tests/unit/api/test_logger.py @@ -180,7 +180,6 @@ data_loggly = { ], ) def test_rsyslog_conf_template(enabled, log_type, host, port, protocol, errorfile, expected_config): - mock_settings, _ = _mock_logging_defaults() # Set test settings diff --git a/awx/main/tests/unit/models/test_unified_job_unit.py b/awx/main/tests/unit/models/test_unified_job_unit.py index 2fc89813d6..c7f62225c8 100644 --- a/awx/main/tests/unit/models/test_unified_job_unit.py +++ b/awx/main/tests/unit/models/test_unified_job_unit.py @@ -39,7 +39,6 @@ def unified_job(mocker): def test_cancel(unified_job): - with mock.patch('awx.main.models.unified_jobs.connection.on_commit', wraps=mock_on_commit): unified_job.cancel() diff --git a/awx/main/tests/unit/test_capacity.py b/awx/main/tests/unit/test_capacity.py index 7665c962b7..8132415c40 100644 --- a/awx/main/tests/unit/test_capacity.py +++ b/awx/main/tests/unit/test_capacity.py @@ -74,7 +74,6 @@ class Instance(FakeObject): @pytest.fixture def sample_cluster(): def stand_up_cluster(): - ig_small = InstanceGroup(name='ig_small') ig_large = InstanceGroup(name='ig_large') default = InstanceGroup(name='default') diff --git a/awx/main/tests/unit/utils/test_common.py b/awx/main/tests/unit/utils/test_common.py index 6e1d677363..cc8f65bf93 100644 --- a/awx/main/tests/unit/utils/test_common.py +++ b/awx/main/tests/unit/utils/test_common.py @@ -186,7 +186,6 @@ def test_memoize_delete(memoized_function, mock_cache): def test_memoize_parameter_error(): - with pytest.raises(common.IllegalArgumentError): @common.memoize(cache_key='foo', track_function=True) diff --git a/awx/main/utils/common.py b/awx/main/utils/common.py index af9cdc7a18..dedd02f995 100644 --- a/awx/main/utils/common.py +++ b/awx/main/utils/common.py @@ -361,7 +361,6 @@ def update_scm_url(scm_type, url, username=True, password=True, check_special_ca def get_allowed_fields(obj, serializer_mapping): - if serializer_mapping is not None and obj.__class__ in serializer_mapping: serializer_actual = serializer_mapping[obj.__class__]() allowed_fields = [x for x in serializer_actual.fields if not serializer_actual.fields[x].read_only] + ['id'] @@ -631,7 +630,6 @@ def prefetch_page_capabilities(model, page, prefetch_list, user): mapping[obj.id] = {} for prefetch_entry in prefetch_list: - display_method = None if type(prefetch_entry) is dict: display_method = list(prefetch_entry.keys())[0] diff --git a/awx/main/utils/filters.py b/awx/main/utils/filters.py index f0d29c0d10..7f9724329b 100644 --- a/awx/main/utils/filters.py +++ b/awx/main/utils/filters.py @@ -63,7 +63,6 @@ def record_is_blocked(record): class ExternalLoggerEnabled(Filter): - enabled_loggers = FieldFromSettings('LOG_AGGREGATOR_LOGGERS') enabled_flag = FieldFromSettings('LOG_AGGREGATOR_ENABLED') @@ -325,7 +324,6 @@ class SmartFilter(object): @classmethod def query_from_string(cls, filter_string): - """ TODO: * handle values with " via: a.b.c.d="hello\"world" diff --git a/awx/main/utils/formatters.py b/awx/main/utils/formatters.py index ebc873c657..783278bd9e 100644 --- a/awx/main/utils/formatters.py +++ b/awx/main/utils/formatters.py @@ -176,7 +176,6 @@ class LogstashFormatter(LogstashFormatterBase): if guid: data_for_log['guid'] = guid for field_object in job_event._meta.fields: - if not field_object.__class__ or not field_object.__class__.__name__: field_class_name = '' else: diff --git a/awx/main/utils/handlers.py b/awx/main/utils/handlers.py index 7f7116d78b..aa32c77e8c 100644 --- a/awx/main/utils/handlers.py +++ b/awx/main/utils/handlers.py @@ -17,7 +17,6 @@ from awx.main.exceptions import PostRunError class RSysLogHandler(logging.handlers.SysLogHandler): - append_nul = False def _connect_unixsocket(self, address): diff --git a/awx/main/views.py b/awx/main/views.py index 8ff612e8ba..c3732be740 100644 --- a/awx/main/views.py +++ b/awx/main/views.py @@ -21,7 +21,6 @@ def _force_raising_exception(view_obj, request, format=None): class ApiErrorView(views.APIView): - authentication_classes = [] permission_classes = (permissions.AllowAny,) metadata_class = None diff --git a/awx/main/wsbroadcast.py b/awx/main/wsbroadcast.py index c4ed0fc21b..2c1f228785 100644 --- a/awx/main/wsbroadcast.py +++ b/awx/main/wsbroadcast.py @@ -170,7 +170,6 @@ class BroadcastWebsocketManager(object): self.stats_mgr = BroadcastWebsocketStatsManager(self.event_loop, self.local_hostname) async def run_per_host_websocket(self): - while True: known_hosts = await get_broadcast_hosts() future_remote_hosts = known_hosts.keys() diff --git a/awx/sso/apps.py b/awx/sso/apps.py index 4d09b7acf6..6203ca6d6a 100644 --- a/awx/sso/apps.py +++ b/awx/sso/apps.py @@ -4,6 +4,5 @@ from django.utils.translation import gettext_lazy as _ class SSOConfig(AppConfig): - name = 'awx.sso' verbose_name = _('Single Sign-On') diff --git a/awx/sso/backends.py b/awx/sso/backends.py index 06f2a6c671..c55f24e7de 100644 --- a/awx/sso/backends.py +++ b/awx/sso/backends.py @@ -40,7 +40,6 @@ logger = logging.getLogger('awx.sso.backends') class LDAPSettings(BaseLDAPSettings): - defaults = dict(list(BaseLDAPSettings.defaults.items()) + list({'ORGANIZATION_MAP': {}, 'TEAM_MAP': {}, 'GROUP_TYPE_PARAMS': {}}.items())) def __init__(self, prefix='AUTH_LDAP_', defaults={}): diff --git a/awx/sso/common.py b/awx/sso/common.py index a80b519f13..4d601bb22e 100644 --- a/awx/sso/common.py +++ b/awx/sso/common.py @@ -12,7 +12,7 @@ logger = logging.getLogger('awx.sso.common') def get_orgs_by_ids(): existing_orgs = {} - for (org_id, org_name) in Organization.objects.all().values_list('id', 'name'): + for org_id, org_name in Organization.objects.all().values_list('id', 'name'): existing_orgs[org_name] = org_id return existing_orgs diff --git a/awx/sso/fields.py b/awx/sso/fields.py index 6eaef11cb8..25b7f2c304 100644 --- a/awx/sso/fields.py +++ b/awx/sso/fields.py @@ -135,7 +135,6 @@ class HybridDictField(fields.DictField): class AuthenticationBackendsField(fields.StringListField): - # Mapping of settings that must be set in order to enable each # authentication backend. REQUIRED_BACKEND_SETTINGS = collections.OrderedDict( @@ -244,7 +243,6 @@ class LDAPServerURIField(fields.URLField): class LDAPConnectionOptionsField(fields.DictField): - default_error_messages = {'invalid_options': _('Invalid connection option(s): {invalid_options}.')} def to_representation(self, value): @@ -336,7 +334,6 @@ class LDAPScopeField(fields.ChoiceField): class LDAPSearchField(fields.ListField): - default_error_messages = { 'invalid_length': _('Expected a list of three items but got {length} instead.'), 'type_error': _('Expected an instance of LDAPSearch but got {input_type} instead.'), @@ -366,12 +363,10 @@ class LDAPSearchField(fields.ListField): class LDAPSearchWithUserField(LDAPSearchField): - ldap_filter_field_class = LDAPFilterWithUserField class LDAPSearchUnionField(fields.ListField): - default_error_messages = {'type_error': _('Expected an instance of LDAPSearch or LDAPSearchUnion but got {input_type} instead.')} ldap_search_field_class = LDAPSearchWithUserField @@ -406,7 +401,6 @@ class LDAPSearchUnionField(fields.ListField): class LDAPUserAttrMapField(fields.DictField): - default_error_messages = {'invalid_attrs': _('Invalid user attribute(s): {invalid_attrs}.')} valid_user_attrs = {'first_name', 'last_name', 'email'} child = fields.CharField() @@ -422,7 +416,6 @@ class LDAPUserAttrMapField(fields.DictField): class LDAPGroupTypeField(fields.ChoiceField, DependsOnMixin): - default_error_messages = { 'type_error': _('Expected an instance of LDAPGroupType but got {input_type} instead.'), 'missing_parameters': _('Missing required parameters in {dependency}.'), @@ -498,7 +491,6 @@ class LDAPGroupTypeParamsField(fields.DictField, DependsOnMixin): class LDAPUserFlagsField(fields.DictField): - default_error_messages = {'invalid_flag': _('Invalid user flag: "{invalid_flag}".')} valid_user_flags = {'is_superuser', 'is_system_auditor'} child = LDAPDNListField() @@ -512,12 +504,10 @@ class LDAPUserFlagsField(fields.DictField): class LDAPDNMapField(fields.StringListBooleanField): - child = LDAPDNField() class LDAPSingleOrganizationMapField(HybridDictField): - admins = LDAPDNMapField(allow_null=True, required=False) users = LDAPDNMapField(allow_null=True, required=False) auditors = LDAPDNMapField(allow_null=True, required=False) @@ -529,12 +519,10 @@ class LDAPSingleOrganizationMapField(HybridDictField): class LDAPOrganizationMapField(fields.DictField): - child = LDAPSingleOrganizationMapField() class LDAPSingleTeamMapField(HybridDictField): - organization = fields.CharField() users = LDAPDNMapField(allow_null=True, required=False) remove = fields.BooleanField(required=False) @@ -543,7 +531,6 @@ class LDAPSingleTeamMapField(HybridDictField): class LDAPTeamMapField(fields.DictField): - child = LDAPSingleTeamMapField() @@ -577,7 +564,6 @@ class SocialMapStringRegexField(fields.CharField): class SocialMapField(fields.ListField): - default_error_messages = {'type_error': _('Expected None, True, False, a string or list of strings but got {input_type} instead.')} child = SocialMapStringRegexField() @@ -611,7 +597,6 @@ class SocialMapField(fields.ListField): class SocialSingleOrganizationMapField(HybridDictField): - admins = SocialMapField(allow_null=True, required=False) users = SocialMapField(allow_null=True, required=False) remove_admins = fields.BooleanField(required=False) @@ -622,12 +607,10 @@ class SocialSingleOrganizationMapField(HybridDictField): class SocialOrganizationMapField(fields.DictField): - child = SocialSingleOrganizationMapField() class SocialSingleTeamMapField(HybridDictField): - organization = fields.CharField() users = SocialMapField(allow_null=True, required=False) remove = fields.BooleanField(required=False) @@ -636,19 +619,16 @@ class SocialSingleTeamMapField(HybridDictField): class SocialTeamMapField(fields.DictField): - child = SocialSingleTeamMapField() class SAMLOrgInfoValueField(HybridDictField): - name = fields.CharField() displayname = fields.CharField() url = fields.URLField() class SAMLOrgInfoField(fields.DictField): - default_error_messages = {'invalid_lang_code': _('Invalid language code(s) for org info: {invalid_lang_codes}.')} child = SAMLOrgInfoValueField() @@ -666,13 +646,11 @@ class SAMLOrgInfoField(fields.DictField): class SAMLContactField(HybridDictField): - givenName = fields.CharField() emailAddress = fields.EmailField() class SAMLIdPField(HybridDictField): - entity_id = fields.CharField() url = fields.URLField() x509cert = fields.CharField(validators=[validate_certificate]) @@ -684,12 +662,10 @@ class SAMLIdPField(HybridDictField): class SAMLEnabledIdPsField(fields.DictField): - child = SAMLIdPField() class SAMLSecurityField(HybridDictField): - nameIdEncrypted = fields.BooleanField(required=False) authnRequestsSigned = fields.BooleanField(required=False) logoutRequestSigned = fields.BooleanField(required=False) @@ -710,7 +686,6 @@ class SAMLSecurityField(HybridDictField): class SAMLOrgAttrField(HybridDictField): - remove = fields.BooleanField(required=False) saml_attr = fields.CharField(required=False, allow_null=True) remove_admins = fields.BooleanField(required=False) @@ -722,7 +697,6 @@ class SAMLOrgAttrField(HybridDictField): class SAMLTeamAttrTeamOrgMapField(HybridDictField): - team = fields.CharField(required=True, allow_null=False) team_alias = fields.CharField(required=False, allow_null=True) organization = fields.CharField(required=True, allow_null=False) @@ -731,7 +705,6 @@ class SAMLTeamAttrTeamOrgMapField(HybridDictField): class SAMLTeamAttrField(HybridDictField): - team_org_map = fields.ListField(required=False, child=SAMLTeamAttrTeamOrgMapField(), allow_null=True) remove = fields.BooleanField(required=False) saml_attr = fields.CharField(required=False, allow_null=True) @@ -740,7 +713,6 @@ class SAMLTeamAttrField(HybridDictField): class SAMLUserFlagsAttrField(HybridDictField): - is_superuser_attr = fields.CharField(required=False, allow_null=True) is_superuser_value = fields.StringListField(required=False, allow_null=True) is_superuser_role = fields.StringListField(required=False, allow_null=True) diff --git a/awx/sso/migrations/0001_initial.py b/awx/sso/migrations/0001_initial.py index e1fc1ba189..d759e22437 100644 --- a/awx/sso/migrations/0001_initial.py +++ b/awx/sso/migrations/0001_initial.py @@ -6,7 +6,6 @@ from django.conf import settings class Migration(migrations.Migration): - dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] operations = [ diff --git a/awx/sso/migrations/0002_expand_provider_options.py b/awx/sso/migrations/0002_expand_provider_options.py index d7fd032c75..68f877717f 100644 --- a/awx/sso/migrations/0002_expand_provider_options.py +++ b/awx/sso/migrations/0002_expand_provider_options.py @@ -5,7 +5,6 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [('sso', '0001_initial')] operations = [ diff --git a/awx/sso/saml_pipeline.py b/awx/sso/saml_pipeline.py index a0060e13e8..e8c4f9ff6d 100644 --- a/awx/sso/saml_pipeline.py +++ b/awx/sso/saml_pipeline.py @@ -170,7 +170,7 @@ def _update_user_teams_by_saml_attr(desired_team_state, teams_to_create, **kwarg # Only get the all orgs once, and only if needed if all_teams is None: all_teams = Team.objects.all().values_list('name', 'organization__name') - for (team_name, organization_name) in all_teams: + for team_name, organization_name in all_teams: if organization_name not in desired_team_state: desired_team_state[organization_name] = {} desired_team_state[organization_name][team_name] = {role: False} diff --git a/awx/sso/views.py b/awx/sso/views.py index 4654b8f785..c4ecdc7632 100644 --- a/awx/sso/views.py +++ b/awx/sso/views.py @@ -17,7 +17,6 @@ logger = logging.getLogger('awx.sso.views') class BaseRedirectView(RedirectView): - permanent = True def get_redirect_url(self, *args, **kwargs): diff --git a/awx/ui/apps.py b/awx/ui/apps.py index d567e64b80..ed7d1e9817 100644 --- a/awx/ui/apps.py +++ b/awx/ui/apps.py @@ -4,6 +4,5 @@ from django.utils.translation import gettext_lazy as _ class UIConfig(AppConfig): - name = 'awx.ui' verbose_name = _('UI') diff --git a/awx/ui/fields.py b/awx/ui/fields.py index 37089c0265..5c5fa4997e 100644 --- a/awx/ui/fields.py +++ b/awx/ui/fields.py @@ -22,7 +22,6 @@ class PendoTrackingStateField(fields.ChoiceField): class CustomLogoField(fields.CharField): - CUSTOM_LOGO_RE = re.compile(r'^data:image/(?:png|jpeg|gif);base64,([A-Za-z0-9+/=]+?)$') default_error_messages = { diff --git a/awx/ui/urls.py b/awx/ui/urls.py index 6661fee280..6ced9950eb 100644 --- a/awx/ui/urls.py +++ b/awx/ui/urls.py @@ -6,12 +6,10 @@ from awx.main.utils.licensing import server_product_name class IndexView(TemplateView): - template_name = 'index.html' class MigrationsNotran(TemplateView): - template_name = 'installing.html' def get_context_data(self, **kwargs): diff --git a/awxkit/awxkit/api/client.py b/awxkit/awxkit/api/client.py index 04b399e079..95e990b792 100644 --- a/awxkit/awxkit/api/client.py +++ b/awxkit/awxkit/api/client.py @@ -10,7 +10,6 @@ log = logging.getLogger(__name__) class ConnectionException(exc.Common): - pass diff --git a/awxkit/awxkit/api/mixins/has_create.py b/awxkit/awxkit/api/mixins/has_create.py index 1e8b24db5a..21f37fe7a2 100644 --- a/awxkit/awxkit/api/mixins/has_create.py +++ b/awxkit/awxkit/api/mixins/has_create.py @@ -201,7 +201,6 @@ except ImportError: class HasCreate(object): - # For reference only. Use self.ds, or self._dependency_store if mutating. dependencies = [] optional_dependencies = [] diff --git a/awxkit/awxkit/api/mixins/has_status.py b/awxkit/awxkit/api/mixins/has_status.py index d4453d302a..0bb9992f69 100644 --- a/awxkit/awxkit/api/mixins/has_status.py +++ b/awxkit/awxkit/api/mixins/has_status.py @@ -13,7 +13,6 @@ def bytes_to_str(obj): class HasStatus(object): - completed_statuses = ['successful', 'failed', 'error', 'canceled'] started_statuses = ['pending', 'running'] + completed_statuses diff --git a/awxkit/awxkit/api/pages/access_list.py b/awxkit/awxkit/api/pages/access_list.py index f037fcfa72..c028bea087 100644 --- a/awxkit/awxkit/api/pages/access_list.py +++ b/awxkit/awxkit/api/pages/access_list.py @@ -4,7 +4,6 @@ from . import page class AccessList(page.PageList, users.User): - pass diff --git a/awxkit/awxkit/api/pages/activity_stream.py b/awxkit/awxkit/api/pages/activity_stream.py index 0be25e47c9..692136c1ce 100644 --- a/awxkit/awxkit/api/pages/activity_stream.py +++ b/awxkit/awxkit/api/pages/activity_stream.py @@ -4,7 +4,6 @@ from . import page class ActivityStream(base.Base): - pass @@ -12,7 +11,6 @@ page.register_page(resources.activity, ActivityStream) class ActivityStreams(page.PageList, ActivityStream): - pass diff --git a/awxkit/awxkit/api/pages/ad_hoc_commands.py b/awxkit/awxkit/api/pages/ad_hoc_commands.py index 39b11d8746..92dc34c523 100644 --- a/awxkit/awxkit/api/pages/ad_hoc_commands.py +++ b/awxkit/awxkit/api/pages/ad_hoc_commands.py @@ -9,7 +9,6 @@ from . import page class AdHocCommand(HasCreate, UnifiedJob): - dependencies = [Inventory, Credential] def relaunch(self, payload={}): @@ -30,7 +29,6 @@ class AdHocCommand(HasCreate, UnifiedJob): return update_payload(payload, optional_fields, kwargs) def create_payload(self, module_name='ping', module_args=np, job_type=np, limit=np, verbosity=np, inventory=Inventory, credential=Credential, **kwargs): - self.create_and_update_dependencies(inventory, credential) payload = self.payload( @@ -47,7 +45,6 @@ class AdHocCommand(HasCreate, UnifiedJob): return payload def create(self, module_name='ping', module_args=np, job_type=np, limit=np, verbosity=np, inventory=Inventory, credential=Credential, **kwargs): - payload = self.create_payload( module_name=module_name, module_args=module_args, @@ -65,7 +62,6 @@ page.register_page([resources.ad_hoc_command], AdHocCommand) class AdHocCommands(page.PageList, AdHocCommand): - pass diff --git a/awxkit/awxkit/api/pages/api.py b/awxkit/awxkit/api/pages/api.py index 21ea8afbb7..f1f9b6712a 100644 --- a/awxkit/awxkit/api/pages/api.py +++ b/awxkit/awxkit/api/pages/api.py @@ -63,7 +63,6 @@ DEPENDENT_NONEXPORT = [ class Api(base.Base): - pass @@ -71,7 +70,6 @@ page.register_page(resources.api, Api) class ApiV2(base.Base): - # Export methods def _export(self, _page, post_fields): diff --git a/awxkit/awxkit/api/pages/applications.py b/awxkit/awxkit/api/pages/applications.py index a3ea0d29bd..3c9e4a8d76 100644 --- a/awxkit/awxkit/api/pages/applications.py +++ b/awxkit/awxkit/api/pages/applications.py @@ -8,7 +8,6 @@ from . import base class OAuth2Application(HasCreate, base.Base): - dependencies = [Organization] NATURAL_KEY = ('organization', 'name') @@ -49,7 +48,6 @@ page.register_page(resources.applications, OAuth2Applications) class OAuth2AccessToken(HasCreate, base.Base): - optional_dependencies = [OAuth2Application] def payload(self, **kwargs): diff --git a/awxkit/awxkit/api/pages/authtoken.py b/awxkit/awxkit/api/pages/authtoken.py index fd5b2824ed..36ec0b9546 100644 --- a/awxkit/awxkit/api/pages/authtoken.py +++ b/awxkit/awxkit/api/pages/authtoken.py @@ -4,7 +4,6 @@ from . import page class AuthToken(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/credential_input_sources.py b/awxkit/awxkit/api/pages/credential_input_sources.py index c500cfca81..3b96fa72b6 100644 --- a/awxkit/awxkit/api/pages/credential_input_sources.py +++ b/awxkit/awxkit/api/pages/credential_input_sources.py @@ -4,7 +4,6 @@ from . import page class CredentialInputSource(base.Base): - pass @@ -12,7 +11,6 @@ page.register_page(resources.credential_input_source, CredentialInputSource) class CredentialInputSources(page.PageList, CredentialInputSource): - pass diff --git a/awxkit/awxkit/api/pages/credentials.py b/awxkit/awxkit/api/pages/credentials.py index ff108fe88a..2def3004ed 100644 --- a/awxkit/awxkit/api/pages/credentials.py +++ b/awxkit/awxkit/api/pages/credentials.py @@ -142,7 +142,6 @@ def get_payload_field_and_value_from_kwargs_or_config_cred(field, kind, kwargs, class CredentialType(HasCreate, base.Base): - NATURAL_KEY = ('name', 'kind') def silent_delete(self): @@ -182,7 +181,6 @@ page.register_page([resources.credential_type, (resources.credential_types, 'pos class CredentialTypes(page.PageList, CredentialType): - pass @@ -190,7 +188,6 @@ page.register_page(resources.credential_types, CredentialTypes) class Credential(HasCopy, HasCreate, base.Base): - dependencies = [CredentialType] optional_dependencies = [Organization, User, Team] NATURAL_KEY = ('organization', 'name', 'credential_type') @@ -296,7 +293,6 @@ page.register_page( class Credentials(page.PageList, Credential): - pass @@ -304,7 +300,6 @@ page.register_page([resources.credentials, resources.related_credentials, resour class CredentialCopy(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/dashboard.py b/awxkit/awxkit/api/pages/dashboard.py index 177a861f08..9524497af0 100644 --- a/awxkit/awxkit/api/pages/dashboard.py +++ b/awxkit/awxkit/api/pages/dashboard.py @@ -4,7 +4,6 @@ from . import page class Dashboard(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/execution_environments.py b/awxkit/awxkit/api/pages/execution_environments.py index f761fb6fdd..2f9b6d01e3 100644 --- a/awxkit/awxkit/api/pages/execution_environments.py +++ b/awxkit/awxkit/api/pages/execution_environments.py @@ -16,7 +16,6 @@ log = logging.getLogger(__name__) class ExecutionEnvironment(HasCreate, HasCopy, base.Base): - dependencies = [Organization, Credential] NATURAL_KEY = ('name',) diff --git a/awxkit/awxkit/api/pages/instance_groups.py b/awxkit/awxkit/api/pages/instance_groups.py index 40cc942927..4573ab63ca 100644 --- a/awxkit/awxkit/api/pages/instance_groups.py +++ b/awxkit/awxkit/api/pages/instance_groups.py @@ -39,7 +39,6 @@ page.register_page([resources.instance_group, (resources.instance_groups, 'post' class InstanceGroups(page.PageList, InstanceGroup): - pass diff --git a/awxkit/awxkit/api/pages/instances.py b/awxkit/awxkit/api/pages/instances.py index d30694ed6c..304cc5d382 100644 --- a/awxkit/awxkit/api/pages/instances.py +++ b/awxkit/awxkit/api/pages/instances.py @@ -4,7 +4,6 @@ from . import page class Instance(base.Base): - pass @@ -12,7 +11,6 @@ page.register_page(resources.instance, Instance) class Instances(page.PageList, Instance): - pass diff --git a/awxkit/awxkit/api/pages/inventory.py b/awxkit/awxkit/api/pages/inventory.py index 354fa2abbb..1ff9e02960 100644 --- a/awxkit/awxkit/api/pages/inventory.py +++ b/awxkit/awxkit/api/pages/inventory.py @@ -16,7 +16,6 @@ log = logging.getLogger(__name__) class Inventory(HasCopy, HasCreate, HasInstanceGroups, HasVariables, base.Base): - dependencies = [Organization] NATURAL_KEY = ('organization', 'name') @@ -130,7 +129,6 @@ page.register_page([resources.inventory, (resources.inventories, 'post'), (resou class Inventories(page.PageList, Inventory): - pass @@ -138,7 +136,6 @@ page.register_page([resources.inventories, resources.related_inventories], Inven class Group(HasCreate, HasVariables, base.Base): - dependencies = [Inventory] optional_dependencies = [Credential] NATURAL_KEY = ('name', 'inventory') @@ -213,7 +210,6 @@ page.register_page([resources.group, (resources.groups, 'post')], Group) class Groups(page.PageList, Group): - pass @@ -231,7 +227,6 @@ page.register_page( class Host(HasCreate, HasVariables, base.Base): - dependencies = [Inventory] NATURAL_KEY = ('name', 'inventory') @@ -273,7 +268,6 @@ page.register_page([resources.host, (resources.hosts, 'post')], Host) class Hosts(page.PageList, Host): - pass @@ -281,7 +275,6 @@ page.register_page([resources.hosts, resources.group_related_hosts, resources.in class FactVersion(base.Base): - pass @@ -298,7 +291,6 @@ page.register_page(resources.host_related_fact_versions, FactVersions) class FactView(base.Base): - pass @@ -306,7 +298,6 @@ page.register_page(resources.fact_view, FactView) class InventorySource(HasCreate, HasNotifications, UnifiedJobTemplate): - optional_schedule_fields = tuple() dependencies = [Inventory] optional_dependencies = [Credential, Project] @@ -403,7 +394,6 @@ page.register_page([resources.inventory_source, (resources.inventory_sources, 'p class InventorySources(page.PageList, InventorySource): - pass @@ -411,7 +401,6 @@ page.register_page([resources.inventory_sources, resources.related_inventory_sou class InventorySourceGroups(page.PageList, Group): - pass @@ -419,7 +408,6 @@ page.register_page(resources.inventory_sources_related_groups, InventorySourceGr class InventorySourceUpdate(base.Base): - pass @@ -427,7 +415,6 @@ page.register_page([resources.inventory_sources_related_update, resources.invent class InventoryUpdate(UnifiedJob): - pass @@ -435,7 +422,6 @@ page.register_page(resources.inventory_update, InventoryUpdate) class InventoryUpdates(page.PageList, InventoryUpdate): - pass @@ -443,7 +429,6 @@ page.register_page([resources.inventory_updates, resources.inventory_source_upda class InventoryUpdateCancel(base.Base): - pass @@ -451,7 +436,6 @@ page.register_page(resources.inventory_update_cancel, InventoryUpdateCancel) class InventoryCopy(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/job_templates.py b/awxkit/awxkit/api/pages/job_templates.py index 5378059843..151442094e 100644 --- a/awxkit/awxkit/api/pages/job_templates.py +++ b/awxkit/awxkit/api/pages/job_templates.py @@ -11,7 +11,6 @@ from . import page class JobTemplate(HasCopy, HasCreate, HasInstanceGroups, HasNotifications, HasSurvey, UnifiedJobTemplate): - optional_dependencies = [Inventory, Credential, Project] NATURAL_KEY = ('organization', 'name') @@ -153,7 +152,6 @@ page.register_page([resources.job_template, (resources.job_templates, 'post'), ( class JobTemplates(page.PageList, JobTemplate): - pass @@ -161,7 +159,6 @@ page.register_page([resources.job_templates, resources.related_job_templates], J class JobTemplateCallback(base.Base): - pass @@ -169,7 +166,6 @@ page.register_page(resources.job_template_callback, JobTemplateCallback) class JobTemplateLaunch(base.Base): - pass @@ -177,7 +173,6 @@ page.register_page(resources.job_template_launch, JobTemplateLaunch) class JobTemplateCopy(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/jobs.py b/awxkit/awxkit/api/pages/jobs.py index 358009e59b..6b65cbaa91 100644 --- a/awxkit/awxkit/api/pages/jobs.py +++ b/awxkit/awxkit/api/pages/jobs.py @@ -14,7 +14,6 @@ page.register_page(resources.job, Job) class Jobs(page.PageList, Job): - pass @@ -22,7 +21,6 @@ page.register_page([resources.jobs, resources.job_template_jobs, resources.syste class JobCancel(UnifiedJob): - pass @@ -30,7 +28,6 @@ page.register_page(resources.job_cancel, JobCancel) class JobEvent(base.Base): - pass @@ -38,7 +35,6 @@ page.register_page([resources.job_event, resources.job_job_event], JobEvent) class JobEvents(page.PageList, JobEvent): - pass @@ -46,7 +42,6 @@ page.register_page([resources.job_events, resources.job_job_events, resources.jo class JobPlay(base.Base): - pass @@ -54,7 +49,6 @@ page.register_page(resources.job_play, JobPlay) class JobPlays(page.PageList, JobPlay): - pass @@ -62,7 +56,6 @@ page.register_page(resources.job_plays, JobPlays) class JobTask(base.Base): - pass @@ -70,7 +63,6 @@ page.register_page(resources.job_task, JobTask) class JobTasks(page.PageList, JobTask): - pass @@ -78,7 +70,6 @@ page.register_page(resources.job_tasks, JobTasks) class JobHostSummary(base.Base): - pass @@ -86,7 +77,6 @@ page.register_page(resources.job_host_summary, JobHostSummary) class JobHostSummaries(page.PageList, JobHostSummary): - pass @@ -94,7 +84,6 @@ page.register_page([resources.job_host_summaries, resources.group_related_job_ho class JobRelaunch(base.Base): - pass @@ -102,7 +91,6 @@ page.register_page(resources.job_relaunch, JobRelaunch) class JobStdout(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/labels.py b/awxkit/awxkit/api/pages/labels.py index 4fb109364d..79f20b36a5 100644 --- a/awxkit/awxkit/api/pages/labels.py +++ b/awxkit/awxkit/api/pages/labels.py @@ -7,7 +7,6 @@ from . import page class Label(HasCreate, base.Base): - dependencies = [Organization] NATURAL_KEY = ('organization', 'name') @@ -40,7 +39,6 @@ page.register_page([resources.label, (resources.labels, 'post')], Label) class Labels(page.PageList, Label): - pass diff --git a/awxkit/awxkit/api/pages/mesh_visualizer.py b/awxkit/awxkit/api/pages/mesh_visualizer.py index c5dad782d1..2b490e5158 100644 --- a/awxkit/awxkit/api/pages/mesh_visualizer.py +++ b/awxkit/awxkit/api/pages/mesh_visualizer.py @@ -4,7 +4,6 @@ from . import page class MeshVisualizer(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/notification_templates.py b/awxkit/awxkit/api/pages/notification_templates.py index 927daaf775..3d33300ce8 100644 --- a/awxkit/awxkit/api/pages/notification_templates.py +++ b/awxkit/awxkit/api/pages/notification_templates.py @@ -15,7 +15,6 @@ notification_types = ('email', 'irc', 'pagerduty', 'slack', 'twilio', 'webhook', class NotificationTemplate(HasCopy, HasCreate, base.Base): - dependencies = [Organization] NATURAL_KEY = ('organization', 'name') @@ -40,7 +39,7 @@ class NotificationTemplate(HasCopy, HasCreate, base.Base): """ try: super(NotificationTemplate, self).silent_delete() - except (exc.MethodNotAllowed): + except exc.MethodNotAllowed: pass def payload(self, organization, notification_type='slack', messages=not_provided, **kwargs): @@ -156,7 +155,6 @@ page.register_page( class NotificationTemplates(page.PageList, NotificationTemplate): - pass @@ -175,7 +173,6 @@ page.register_page( class NotificationTemplateCopy(base.Base): - pass @@ -183,7 +180,6 @@ page.register_page(resources.notification_template_copy, NotificationTemplateCop class NotificationTemplateTest(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/organizations.py b/awxkit/awxkit/api/pages/organizations.py index 1635eec15b..c3f913a927 100644 --- a/awxkit/awxkit/api/pages/organizations.py +++ b/awxkit/awxkit/api/pages/organizations.py @@ -9,7 +9,6 @@ from . import page class Organization(HasCreate, HasInstanceGroups, HasNotifications, base.Base): - NATURAL_KEY = ('name',) def add_admin(self, user): @@ -68,7 +67,6 @@ page.register_page([resources.organization, (resources.organizations, 'post')], class Organizations(page.PageList, Organization): - pass diff --git a/awxkit/awxkit/api/pages/page.py b/awxkit/awxkit/api/pages/page.py index 65f3012587..4c26fd5314 100644 --- a/awxkit/awxkit/api/pages/page.py +++ b/awxkit/awxkit/api/pages/page.py @@ -89,7 +89,6 @@ def objectify_response_json(response): class Page(object): - endpoint = '' def __init__(self, connection=None, *a, **kw): @@ -199,7 +198,6 @@ class Page(object): raise exception(exc_str, data) if response.status_code in (http.OK, http.CREATED, http.ACCEPTED): - # Not all JSON responses include a URL. Grab it from the request # object, if needed. if 'url' in data: @@ -337,7 +335,6 @@ def exception_from_status_code(status_code): class PageList(object): - NATURAL_KEY = None @property diff --git a/awxkit/awxkit/api/pages/ping.py b/awxkit/awxkit/api/pages/ping.py index 7a5a42e514..e0b94b12ce 100644 --- a/awxkit/awxkit/api/pages/ping.py +++ b/awxkit/awxkit/api/pages/ping.py @@ -4,7 +4,6 @@ from . import page class Ping(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/projects.py b/awxkit/awxkit/api/pages/projects.py index ec0613b181..125f452637 100644 --- a/awxkit/awxkit/api/pages/projects.py +++ b/awxkit/awxkit/api/pages/projects.py @@ -11,7 +11,6 @@ from . import page class Project(HasCopy, HasCreate, HasNotifications, UnifiedJobTemplate): - optional_dependencies = [Credential, Organization] optional_schedule_fields = tuple() NATURAL_KEY = ('organization', 'name') @@ -131,7 +130,6 @@ page.register_page([resources.project, (resources.projects, 'post'), (resources. class Projects(page.PageList, Project): - pass @@ -139,7 +137,6 @@ page.register_page([resources.projects, resources.related_projects], Projects) class ProjectUpdate(UnifiedJob): - pass @@ -147,7 +144,6 @@ page.register_page(resources.project_update, ProjectUpdate) class ProjectUpdates(page.PageList, ProjectUpdate): - pass @@ -155,7 +151,6 @@ page.register_page([resources.project_updates, resources.project_project_updates class ProjectUpdateLaunch(base.Base): - pass @@ -163,7 +158,6 @@ page.register_page(resources.project_related_update, ProjectUpdateLaunch) class ProjectUpdateCancel(base.Base): - pass @@ -171,7 +165,6 @@ page.register_page(resources.project_update_cancel, ProjectUpdateCancel) class ProjectCopy(base.Base): - pass @@ -179,7 +172,6 @@ page.register_page(resources.project_copy, ProjectCopy) class Playbooks(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/roles.py b/awxkit/awxkit/api/pages/roles.py index 07f0790b60..949579160a 100644 --- a/awxkit/awxkit/api/pages/roles.py +++ b/awxkit/awxkit/api/pages/roles.py @@ -10,7 +10,6 @@ log = logging.getLogger(__name__) class Role(base.Base): - NATURAL_KEY = ('name',) def get_natural_key(self, cache=None): @@ -33,7 +32,6 @@ page.register_page(resources.role, Role) class Roles(page.PageList, Role): - pass diff --git a/awxkit/awxkit/api/pages/schedules.py b/awxkit/awxkit/api/pages/schedules.py index 1fa34c81e6..6043d257c1 100644 --- a/awxkit/awxkit/api/pages/schedules.py +++ b/awxkit/awxkit/api/pages/schedules.py @@ -61,7 +61,6 @@ page.register_page([resources.schedules, resources.related_schedules], Schedules class SchedulesPreview(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/settings.py b/awxkit/awxkit/api/pages/settings.py index 59168d40c5..12fa7e2910 100644 --- a/awxkit/awxkit/api/pages/settings.py +++ b/awxkit/awxkit/api/pages/settings.py @@ -4,7 +4,6 @@ from . import page class Setting(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/system_job_templates.py b/awxkit/awxkit/api/pages/system_job_templates.py index 985d15deb4..9362fbccb3 100644 --- a/awxkit/awxkit/api/pages/system_job_templates.py +++ b/awxkit/awxkit/api/pages/system_job_templates.py @@ -21,7 +21,6 @@ page.register_page(resources.system_job_template, SystemJobTemplate) class SystemJobTemplates(page.PageList, SystemJobTemplate): - pass diff --git a/awxkit/awxkit/api/pages/system_jobs.py b/awxkit/awxkit/api/pages/system_jobs.py index 231aa346c0..d2bf8f982f 100644 --- a/awxkit/awxkit/api/pages/system_jobs.py +++ b/awxkit/awxkit/api/pages/system_jobs.py @@ -4,7 +4,6 @@ from . import page class SystemJob(UnifiedJob): - pass @@ -12,7 +11,6 @@ page.register_page(resources.system_job, SystemJob) class SystemJobs(page.PageList, SystemJob): - pass @@ -20,7 +18,6 @@ page.register_page(resources.system_jobs, SystemJobs) class SystemJobCancel(UnifiedJob): - pass diff --git a/awxkit/awxkit/api/pages/teams.py b/awxkit/awxkit/api/pages/teams.py index 2ae928e88a..f5614a0c25 100644 --- a/awxkit/awxkit/api/pages/teams.py +++ b/awxkit/awxkit/api/pages/teams.py @@ -11,7 +11,6 @@ from . import page class Team(HasCreate, base.Base): - dependencies = [Organization] NATURAL_KEY = ('organization', 'name') @@ -44,7 +43,6 @@ page.register_page([resources.team, (resources.teams, 'post')], Team) class Teams(page.PageList, Team): - pass diff --git a/awxkit/awxkit/api/pages/unified_job_templates.py b/awxkit/awxkit/api/pages/unified_job_templates.py index e7499e23e6..c99e35f154 100644 --- a/awxkit/awxkit/api/pages/unified_job_templates.py +++ b/awxkit/awxkit/api/pages/unified_job_templates.py @@ -75,7 +75,6 @@ page.register_page(resources.unified_job_template, UnifiedJobTemplate) class UnifiedJobTemplates(page.PageList, UnifiedJobTemplate): - pass diff --git a/awxkit/awxkit/api/pages/unified_jobs.py b/awxkit/awxkit/api/pages/unified_jobs.py index 09dea1ebbb..2c46a2db84 100644 --- a/awxkit/awxkit/api/pages/unified_jobs.py +++ b/awxkit/awxkit/api/pages/unified_jobs.py @@ -152,7 +152,6 @@ class UnifiedJob(HasStatus, base.Base): class UnifiedJobs(page.PageList, UnifiedJob): - pass diff --git a/awxkit/awxkit/api/pages/users.py b/awxkit/awxkit/api/pages/users.py index f8a4d9cc17..bc9731e00a 100644 --- a/awxkit/awxkit/api/pages/users.py +++ b/awxkit/awxkit/api/pages/users.py @@ -8,7 +8,6 @@ from . import page class User(HasCreate, base.Base): - NATURAL_KEY = ('username',) def payload(self, **kwargs): @@ -44,7 +43,6 @@ page.register_page([resources.user, (resources.users, 'post')], User) class Users(page.PageList, User): - pass @@ -54,7 +52,6 @@ page.register_page( class Me(Users): - pass diff --git a/awxkit/awxkit/api/pages/workflow_approval_templates.py b/awxkit/awxkit/api/pages/workflow_approval_templates.py index 2796a81f25..1fc149f1a1 100644 --- a/awxkit/awxkit/api/pages/workflow_approval_templates.py +++ b/awxkit/awxkit/api/pages/workflow_approval_templates.py @@ -4,7 +4,6 @@ from . import page class WorkflowApprovalTemplate(UnifiedJobTemplate): - pass @@ -18,7 +17,6 @@ page.register_page( class WorkflowApprovalTemplates(page.PageList, WorkflowApprovalTemplate): - pass diff --git a/awxkit/awxkit/api/pages/workflow_approvals.py b/awxkit/awxkit/api/pages/workflow_approvals.py index bd26aae7e3..76bdbe9677 100644 --- a/awxkit/awxkit/api/pages/workflow_approvals.py +++ b/awxkit/awxkit/api/pages/workflow_approvals.py @@ -22,7 +22,6 @@ page.register_page(resources.workflow_approval, WorkflowApproval) class WorkflowApprovals(page.PageList, WorkflowApproval): - pass diff --git a/awxkit/awxkit/api/pages/workflow_job_nodes.py b/awxkit/awxkit/api/pages/workflow_job_nodes.py index 4eabaebe16..410e21ae4b 100644 --- a/awxkit/awxkit/api/pages/workflow_job_nodes.py +++ b/awxkit/awxkit/api/pages/workflow_job_nodes.py @@ -25,7 +25,6 @@ page.register_page(resources.workflow_job_node, WorkflowJobNode) class WorkflowJobNodes(page.PageList, WorkflowJobNode): - pass diff --git a/awxkit/awxkit/api/pages/workflow_job_template_nodes.py b/awxkit/awxkit/api/pages/workflow_job_template_nodes.py index 3177c24e50..769b7241ee 100644 --- a/awxkit/awxkit/api/pages/workflow_job_template_nodes.py +++ b/awxkit/awxkit/api/pages/workflow_job_template_nodes.py @@ -9,7 +9,6 @@ from . import page class WorkflowJobTemplateNode(HasCreate, base.Base): - dependencies = [WorkflowJobTemplate, UnifiedJobTemplate] NATURAL_KEY = ('workflow_job_template', 'identifier') @@ -113,7 +112,6 @@ page.register_page( class WorkflowJobTemplateNodes(page.PageList, WorkflowJobTemplateNode): - pass diff --git a/awxkit/awxkit/api/pages/workflow_job_templates.py b/awxkit/awxkit/api/pages/workflow_job_templates.py index 42a691d5ea..ef564d66a8 100644 --- a/awxkit/awxkit/api/pages/workflow_job_templates.py +++ b/awxkit/awxkit/api/pages/workflow_job_templates.py @@ -12,7 +12,6 @@ from . import page class WorkflowJobTemplate(HasCopy, HasCreate, HasNotifications, HasSurvey, UnifiedJobTemplate): - optional_dependencies = [Organization] NATURAL_KEY = ('organization', 'name') @@ -100,7 +99,6 @@ page.register_page( class WorkflowJobTemplates(page.PageList, WorkflowJobTemplate): - pass @@ -108,7 +106,6 @@ page.register_page([resources.workflow_job_templates, resources.related_workflow class WorkflowJobTemplateLaunch(base.Base): - pass @@ -116,7 +113,6 @@ page.register_page(resources.workflow_job_template_launch, WorkflowJobTemplateLa class WorkflowJobTemplateCopy(base.Base): - pass diff --git a/awxkit/awxkit/api/pages/workflow_jobs.py b/awxkit/awxkit/api/pages/workflow_jobs.py index 200eb0ef30..f444ea4a83 100644 --- a/awxkit/awxkit/api/pages/workflow_jobs.py +++ b/awxkit/awxkit/api/pages/workflow_jobs.py @@ -51,7 +51,6 @@ page.register_page(resources.workflow_job, WorkflowJob) class WorkflowJobs(page.PageList, WorkflowJob): - pass diff --git a/awxkit/awxkit/api/resources.py b/awxkit/awxkit/api/resources.py index 982e7c2573..5874b3d0de 100644 --- a/awxkit/awxkit/api/resources.py +++ b/awxkit/awxkit/api/resources.py @@ -1,5 +1,4 @@ class Resources(object): - _activity = r'activity_stream/\d+/' _activity_stream = 'activity_stream/' _ad_hoc_command = r'ad_hoc_commands/\d+/' diff --git a/awxkit/awxkit/cli/custom.py b/awxkit/awxkit/cli/custom.py index b1bd6de93f..f1453562dd 100644 --- a/awxkit/awxkit/cli/custom.py +++ b/awxkit/awxkit/cli/custom.py @@ -148,7 +148,6 @@ class WorkflowLaunch(Launchable, CustomAction): class HasStdout(object): - action = 'stdout' def add_arguments(self, parser, resource_options_parser): @@ -180,7 +179,6 @@ class AdhocCommandStdout(HasStdout, CustomAction): class AssociationMixin(object): - action = 'associate' def add_arguments(self, parser, resource_options_parser): @@ -344,7 +342,6 @@ class SettingsList(CustomAction): class RoleMixin(object): - has_roles = [ ['organizations', 'organization'], ['projects', 'project'], @@ -427,25 +424,21 @@ class RoleMixin(object): class UserGrant(RoleMixin, CustomAction): - resource = 'users' action = 'grant' class UserRevoke(RoleMixin, CustomAction): - resource = 'users' action = 'revoke' class TeamGrant(RoleMixin, CustomAction): - resource = 'teams' action = 'grant' class TeamRevoke(RoleMixin, CustomAction): - resource = 'teams' action = 'revoke' @@ -476,7 +469,6 @@ class SettingsModify(CustomAction): class HasMonitor(object): - action = 'monitor' def add_arguments(self, parser, resource_options_parser): diff --git a/awxkit/awxkit/cli/options.py b/awxkit/awxkit/cli/options.py index c466da68e8..7519ca90a8 100644 --- a/awxkit/awxkit/cli/options.py +++ b/awxkit/awxkit/cli/options.py @@ -74,7 +74,6 @@ class JsonDumpsAction(argparse.Action): class ResourceOptionsParser(object): - deprecated = False def __init__(self, v2, page, resource, parser): diff --git a/awxkit/awxkit/exceptions.py b/awxkit/awxkit/exceptions.py index 84c37d615e..5789fd9c48 100644 --- a/awxkit/awxkit/exceptions.py +++ b/awxkit/awxkit/exceptions.py @@ -17,90 +17,72 @@ class Common(Exception): class BadRequest(Common): - pass class Conflict(Common): - pass class Duplicate(Common): - pass class Forbidden(Common): - pass class InternalServerError(Common): - pass class BadGateway(Common): - pass class LicenseExceeded(Common): - pass class LicenseInvalid(Common): - pass class MethodNotAllowed(Common): - pass class NoContent(Common): - message = '' class NotFound(Common): - pass class PaymentRequired(Common): - pass class Unauthorized(Common): - pass class Unknown(Common): - pass class WaitUntilTimeout(Common): - pass class UnexpectedAWXState(Common): - pass class IsMigrating(Common): - pass class ImportExportError(Exception): - pass diff --git a/awxkit/awxkit/utils/__init__.py b/awxkit/awxkit/utils/__init__.py index cb54eb0ce5..8b47b4e5d9 100644 --- a/awxkit/awxkit/utils/__init__.py +++ b/awxkit/awxkit/utils/__init__.py @@ -117,7 +117,7 @@ class PseudoNamespace(dict): for key in iterable: self[key] = iterable[key] else: - for (k, v) in iterable: + for k, v in iterable: self[k] = v for k in kw: self[k] = kw[k] diff --git a/awxkit/awxkit/ws.py b/awxkit/awxkit/ws.py index b2b51fefba..8e8eea4a16 100644 --- a/awxkit/awxkit/ws.py +++ b/awxkit/awxkit/ws.py @@ -15,7 +15,6 @@ log = logging.getLogger(__name__) class WSClientException(Exception): - pass diff --git a/awxkit/test/test_dependency_resolver.py b/awxkit/test/test_dependency_resolver.py index 83312b8bf9..3c7469896f 100644 --- a/awxkit/test/test_dependency_resolver.py +++ b/awxkit/test/test_dependency_resolver.py @@ -6,7 +6,6 @@ from awxkit.api.mixins import has_create class MockHasCreate(has_create.HasCreate): - connection = None def __str__(self): @@ -26,7 +25,6 @@ class A(MockHasCreate): class B(MockHasCreate): - optional_dependencies = [A] def create(self, a=None, **kw): @@ -35,7 +33,6 @@ class B(MockHasCreate): class C(MockHasCreate): - dependencies = [A, B] def create(self, a=A, b=B, **kw): @@ -44,7 +41,6 @@ class C(MockHasCreate): class D(MockHasCreate): - dependencies = [A] optional_dependencies = [B] @@ -54,7 +50,6 @@ class D(MockHasCreate): class E(MockHasCreate): - dependencies = [D, C] def create(self, c=C, d=D, **kw): @@ -63,7 +58,6 @@ class E(MockHasCreate): class F(MockHasCreate): - dependencies = [B] optional_dependencies = [E] @@ -73,7 +67,6 @@ class F(MockHasCreate): class G(MockHasCreate): - dependencies = [D] optional_dependencies = [F, E] @@ -83,7 +76,6 @@ class G(MockHasCreate): class H(MockHasCreate): - optional_dependencies = [E, A] def create(self, a=None, e=None, **kw): @@ -97,7 +89,6 @@ class MultipleWordClassName(MockHasCreate): class AnotherMultipleWordClassName(MockHasCreate): - optional_dependencies = [MultipleWordClassName] def create(self, multiple_word_class_name=None, **kw): @@ -466,7 +457,6 @@ class OneWithArgs(MockHasCreate): class TwoWithArgs(MockHasCreate): - dependencies = [OneWithArgs] def create(self, one_with_args=OneWithArgs, **kw): @@ -478,7 +468,6 @@ class TwoWithArgs(MockHasCreate): class ThreeWithArgs(MockHasCreate): - dependencies = [OneWithArgs] optional_dependencies = [TwoWithArgs] @@ -489,7 +478,6 @@ class ThreeWithArgs(MockHasCreate): class FourWithArgs(MockHasCreate): - dependencies = [TwoWithArgs, ThreeWithArgs] def create(self, two_with_args=TwoWithArgs, three_with_args=ThreeWithArgs, **kw): @@ -558,7 +546,6 @@ def test_tuples_for_class_arg_cause_unshared_dependencies_when_downstream(): class NotHasCreate(object): - pass @@ -583,7 +570,6 @@ class MixinUserD(MixinUserC): class NotHasCreateDependencyHolder(MockHasCreate): - dependencies = [NotHasCreate] def create(self, not_has_create=MixinUserA): @@ -608,7 +594,6 @@ def test_not_has_create_passed_dependency(): class HasCreateParentDependencyHolder(MockHasCreate): - dependencies = [MixinUserB] def create(self, mixin_user_b=MixinUserC): @@ -626,7 +611,6 @@ def test_has_create_stored_as_parent_dependency(): class DynamicallyDeclaresNotHasCreateDependency(MockHasCreate): - dependencies = [NotHasCreate] def create(self, not_has_create=MixinUserA): @@ -645,7 +629,6 @@ def test_subclass_or_parent_dynamic_not_has_create_dependency_declaration(depend class DynamicallyDeclaresHasCreateDependency(MockHasCreate): - dependencies = [MixinUserB] def create(self, mixin_user_b=MixinUserB): diff --git a/awxkit/test/test_registry.py b/awxkit/test/test_registry.py index b0f0f2527f..c17afcac91 100644 --- a/awxkit/test/test_registry.py +++ b/awxkit/test/test_registry.py @@ -4,12 +4,10 @@ from awxkit.api.registry import URLRegistry class One(object): - pass class Two(object): - pass |