diff --git a/awx/main/conf.py b/awx/main/conf.py index f63fee564f..9ae86d6a40 100644 --- a/awx/main/conf.py +++ b/awx/main/conf.py @@ -54,15 +54,6 @@ register( category_slug='system', ) -register( - 'TOWER_ADMIN_ALERTS', - field_class=fields.BooleanField, - label=_('Enable Administrator Alerts'), - help_text=_('Email Admin users for system events that may require attention.'), - category=_('System'), - category_slug='system', -) - register( 'TOWER_URL_BASE', field_class=fields.URLField, diff --git a/awx/main/tasks.py b/awx/main/tasks.py index 0592386b0e..a904fd5b45 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -30,7 +30,6 @@ from django.db import transaction, DatabaseError, IntegrityError from django.db.models.fields.related import ForeignKey from django.utils.timezone import now, timedelta from django.utils.encoding import smart_str -from django.core.mail import send_mail from django.contrib.auth.models import User from django.utils.translation import ugettext_lazy as _ from django.core.cache import cache @@ -68,7 +67,6 @@ from awx.main.isolated import manager as isolated_manager from awx.main.dispatch.publish import task from awx.main.dispatch import get_local_queuename, reaper from awx.main.utils import (get_ssh_version, update_scm_url, - get_licenser, ignore_inventory_computed_fields, ignore_inventory_group_removal, extract_ansible_vars, schedule_task_manager, get_awx_version) @@ -88,7 +86,7 @@ from rest_framework.exceptions import PermissionDenied __all__ = ['RunJob', 'RunSystemJob', 'RunProjectUpdate', 'RunInventoryUpdate', 'RunAdHocCommand', 'handle_work_error', 'handle_work_success', 'apply_cluster_membership_policies', 'update_inventory_computed_fields', 'update_host_smart_inventory_memberships', - 'send_notifications', 'run_administrative_checks', 'purge_old_stdout_files'] + 'send_notifications', 'purge_old_stdout_files'] HIDDEN_PASSWORD = '**********' @@ -352,28 +350,6 @@ def gather_analytics(): os.remove(tgz) -@task() -def run_administrative_checks(): - logger.warn("Running administrative checks.") - if not settings.TOWER_ADMIN_ALERTS: - return - validation_info = get_licenser().validate() - if validation_info['license_type'] != 'open' and validation_info.get('instance_count', 0) < 1: - return - used_percentage = float(validation_info.get('current_instances', 0)) / float(validation_info.get('instance_count', 100)) - tower_admin_emails = User.objects.filter(is_superuser=True).values_list('email', flat=True) - if (used_percentage * 100) > 90: - send_mail("Ansible Tower host usage over 90%", - _("Ansible Tower host usage over 90%"), - tower_admin_emails, - fail_silently=True) - if validation_info.get('date_warning', False): - send_mail("Ansible Tower license will expire soon", - _("Ansible Tower license will expire soon"), - tower_admin_emails, - fail_silently=True) - - @task(queue=get_local_queuename) def purge_old_stdout_files(): nowtime = time.time() diff --git a/awx/main/tests/unit/settings/test_defaults.py b/awx/main/tests/unit/settings/test_defaults.py index 52eeb56425..00e9418b57 100644 --- a/awx/main/tests/unit/settings/test_defaults.py +++ b/awx/main/tests/unit/settings/test_defaults.py @@ -5,7 +5,6 @@ from datetime import timedelta @pytest.mark.parametrize("job_name,function_path", [ - ('admin_checks', 'awx.main.tasks.run_administrative_checks'), ('tower_scheduler', 'awx.main.tasks.awx_periodic_scheduler'), ]) def test_CELERYBEAT_SCHEDULE(mocker, job_name, function_path): diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index ab8a5492e8..891331f65c 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -49,12 +49,6 @@ else: DEBUG = True SQL_DEBUG = DEBUG -ADMINS = ( - # ('Your Name', 'your_email@domain.com'), -) - -MANAGERS = ADMINS - DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', @@ -382,34 +376,6 @@ AUTH_BASIC_ENABLED = True # If set, serve only minified JS for UI. USE_MINIFIED_JS = False -# Email address that error messages come from. -SERVER_EMAIL = 'root@localhost' - -# Default email address to use for various automated correspondence from -# the site managers. -DEFAULT_FROM_EMAIL = 'tower@localhost' - -# Subject-line prefix for email messages send with django.core.mail.mail_admins -# or ...mail_managers. Make sure to include the trailing space. -EMAIL_SUBJECT_PREFIX = '[Tower] ' - -# The email backend to use. For possible shortcuts see django.core.mail. -# The default is to use the SMTP backend. -# Third-party backends can be specified by providing a Python path -# to a module that defines an EmailBackend class. -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' - -# Host for sending email. -EMAIL_HOST = 'localhost' - -# Port for sending email. -EMAIL_PORT = 25 - -# Optional SMTP authentication information for EMAIL_HOST. -EMAIL_HOST_USER = '' -EMAIL_HOST_PASSWORD = '' -EMAIL_USE_TLS = False - # Default to skipping isolated host key checking (the initial connection will # hang on an interactive "The authenticity of host example.org can't be # established" message) @@ -457,10 +423,6 @@ CELERYBEAT_SCHEDULE = { 'schedule': timedelta(seconds=30), 'options': {'expires': 20,} }, - 'admin_checks': { - 'task': 'awx.main.tasks.run_administrative_checks', - 'schedule': timedelta(days=30) - }, 'cluster_heartbeat': { 'task': 'awx.main.tasks.cluster_node_heartbeat', 'schedule': timedelta(seconds=60), @@ -980,9 +942,6 @@ FACT_CACHE_PORT = 6564 ORG_ADMINS_CAN_SEE_ALL_USERS = True MANAGE_ORGANIZATION_AUTH = True -# Note: This setting may be overridden by database settings. -TOWER_ADMIN_ALERTS = True - # Note: This setting may be overridden by database settings. TOWER_URL_BASE = "https://towerhost" @@ -1063,11 +1022,6 @@ LOGGING = { 'formatter': 'json', 'filters': ['external_log_enabled', 'dynamic_level_filter'], }, - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler', - }, 'tower_warnings': { # don't define a level here, it's set by settings.LOG_AGGREGATOR_LEVEL 'class': 'logging.handlers.RotatingFileHandler', diff --git a/awx/settings/local_settings.py.docker_compose b/awx/settings/local_settings.py.docker_compose index d1837b19be..42e5a3cd74 100644 --- a/awx/settings/local_settings.py.docker_compose +++ b/awx/settings/local_settings.py.docker_compose @@ -15,12 +15,6 @@ import os import urllib.parse import sys -ADMINS = ( - # ('Your Name', 'your_email@domain.com'), -) - -MANAGERS = ADMINS - # Enable the following lines and install the browser extension to use Django debug toolbar # if your deployment method is not VMWare of Docker-for-Mac you may # need a different IP address from request.META['REMOTE_ADDR'] @@ -117,38 +111,6 @@ PROXY_IP_WHITELIST = [] # If set, use -vvv for project updates instead of -v for more output. # PROJECT_UPDATE_VVV=True -############################################################################### -# EMAIL SETTINGS -############################################################################### - -# Email address that error messages come from. -SERVER_EMAIL = 'root@localhost' - -# The email backend to use. For possible shortcuts see django.core.mail. -# The default is to use the SMTP backend. -# Third-party backends can be specified by providing a Python path -# to a module that defines an EmailBackend class. -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' - -# Host for sending email. -EMAIL_HOST = 'localhost' - -# Port for sending email. -EMAIL_PORT = 25 - -# Optional SMTP authentication information for EMAIL_HOST. -EMAIL_HOST_USER = '' -EMAIL_HOST_PASSWORD = '' -EMAIL_USE_TLS = False - -# Default email address to use for various automated correspondence from -# the site managers. -DEFAULT_FROM_EMAIL = 'webmaster@localhost' - -# Subject-line prefix for email messages send with django.core.mail.mail_admins -# or ...mail_managers. Make sure to include the trailing space. -EMAIL_SUBJECT_PREFIX = '[AWX] ' - ############################################################################### # LOGGING SETTINGS ############################################################################### diff --git a/awx/settings/local_settings.py.example b/awx/settings/local_settings.py.example index 01f53be386..d9de08cc5a 100644 --- a/awx/settings/local_settings.py.example +++ b/awx/settings/local_settings.py.example @@ -12,12 +12,6 @@ # MISC PROJECT SETTINGS ############################################################################### -ADMINS = ( - # ('Your Name', 'your_email@domain.com'), -) - -MANAGERS = ADMINS - # Database settings to use PostgreSQL for development. DATABASES = { 'default': { @@ -97,38 +91,6 @@ PROXY_IP_WHITELIST = [] # If set, use -vvv for project updates instead of -v for more output. # PROJECT_UPDATE_VVV=True -############################################################################### -# EMAIL SETTINGS -############################################################################### - -# Email address that error messages come from. -SERVER_EMAIL = 'root@localhost' - -# The email backend to use. For possible shortcuts see django.core.mail. -# The default is to use the SMTP backend. -# Third-party backends can be specified by providing a Python path -# to a module that defines an EmailBackend class. -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' - -# Host for sending email. -EMAIL_HOST = 'localhost' - -# Port for sending email. -EMAIL_PORT = 25 - -# Optional SMTP authentication information for EMAIL_HOST. -EMAIL_HOST_USER = '' -EMAIL_HOST_PASSWORD = '' -EMAIL_USE_TLS = False - -# Default email address to use for various automated correspondence from -# the site managers. -DEFAULT_FROM_EMAIL = 'webmaster@localhost' - -# Subject-line prefix for email messages send with django.core.mail.mail_admins -# or ...mail_managers. Make sure to include the trailing space. -EMAIL_SUBJECT_PREFIX = '[AWX] ' - ############################################################################### # LOGGING SETTINGS ############################################################################### diff --git a/awx/ui/client/src/configuration/forms/system-form/sub-forms/system-misc.form.js b/awx/ui/client/src/configuration/forms/system-form/sub-forms/system-misc.form.js index b283107729..18d3b1c8be 100644 --- a/awx/ui/client/src/configuration/forms/system-form/sub-forms/system-misc.form.js +++ b/awx/ui/client/src/configuration/forms/system-form/sub-forms/system-misc.form.js @@ -15,9 +15,6 @@ export default ['i18n', function(i18n) { type: 'text', reset: 'TOWER_URL_BASE', }, - TOWER_ADMIN_ALERTS: { - type: 'toggleSwitch', - }, ORG_ADMINS_CAN_SEE_ALL_USERS: { type: 'toggleSwitch', },