Commit Graph

564 Commits

Author SHA1 Message Date
Ryan Petrello
57d60e5b97 fix a bug in the sdb-listen setup
Docker for Mac recently renamed itself to Docker Desktop
2019-08-15 11:50:28 -04:00
chris meyers
4be65a0879 collections/requirements.yml support
* just like we support ansible-galaxy role install, support
ansible-galaxy collection install
2019-08-12 22:14:30 -04:00
AlanCoding
63978f7d10 remove setting not actually customizable 2019-08-06 13:40:52 -04:00
chris meyers
9b95cc27c4 map in a global collections path 2019-07-17 15:36:09 -04:00
Jeff Bradberry
f94959d120 Remove the custom get_view_name function
It appeared to not be doing anything that we were making use of that
couldn't already be done, slightly differently, using DRF's built-in
one.
2019-06-12 14:12:59 -04:00
Shane McDonald
f18f9ec0ef Bring isolated dev env current
There was quite a bit of drift between the main Dockerfile and this one since we last touched it. It’s heavier than it needs to be, but by using the main development image as the base here, we have less duplicated and outdated code overall.
2019-06-03 16:48:45 -04:00
Ryan Petrello
40b1e89b67 add the ability to disable RabbitMQ queue durability 2019-05-28 15:49:32 -04:00
softwarefactory-project-zuul[bot]
eb3ef809e0 Merge pull request #3873 from shanemcd/faster-boots
Avoid DNS timeout in non-Docker for Mac installs

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-28 14:30:45 +00:00
AlanCoding
d3f047d731 Move dynamic log level logic to filter 2019-05-22 14:00:39 -04:00
AlanCoding
06be3a29b9 fix Django debug toolbar after its upgrade 2019-05-20 12:17:57 -04:00
Jeff Bradberry
44907b33dc Fix the middleware ordering 2019-05-17 14:40:33 -04:00
Christian Adams
2b327935de reorder migrations to avoid session error 2019-05-16 15:13:47 -04:00
Ryan Petrello
b1d75327e3 add the ability to toggle DEBUG logging on dynamically 2019-05-16 07:58:31 -04:00
beeankha
64e8b76a10 Remove redundant middleware 2019-05-15 10:16:20 -04:00
beeankha
a6d3c0fd32 Remove redundant code and update URLModificationMiddleware 2019-05-14 13:37:34 -04:00
beeankha
68800d0e8e Make custom middleware use new style vs old 2019-05-14 13:37:34 -04:00
beeankha
97dc77ea63 Add debug_toolbar.middleware.DebugToolbarMiddleware to MIDDLEWARE classes in development.py 2019-05-14 13:37:34 -04:00
Shane McDonald
5ca0cdb124 Avoid DNS timeout in non-Docker for Mac installs
Shaves 20 seconds off of rebooting the dev environment on Linux.
2019-05-10 12:31:08 -04:00
Ryan Petrello
50f9c70afd remove references to the (now defunct) fact receiver 2019-05-01 23:48:05 -04:00
AlanCoding
8c2b3e9b84 Fix Django 2.0 deprecation warnings 2019-04-22 14:17:14 -04:00
Christian Adams
add8673d7c rename analytics setting 2019-04-17 15:28:15 -04:00
Christian Adams
40393e201f add uuids to ping and metrics 2019-04-12 18:37:40 -04:00
AlanCoding
c4b41a174b add instance_id for gce imported hosts 2019-04-09 08:20:26 -04:00
AlanCoding
ea355f6f8f change default to allow empty groups from custom sources 2019-04-01 10:53:06 -04:00
softwarefactory-project-zuul[bot]
3007b9c66a Merge pull request #3518 from jbradberry/isolated-heartbeat
Make use of user-defined settings for defining the isolated nodes heartbeat

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-03-29 15:15:49 +00:00
Christian Adams
a7368cec43 add copy events table and remove events queries
add copy unifiedjob table, futher optimization, rm since from job_instance queries
2019-03-27 19:53:00 -04:00
Christian Adams
636153d92c add insights setting, optimize and consolidate queries 2019-03-27 19:53:00 -04:00
Ryan Petrello
c586fa9821 add a minimal framework for generating analytics/metrics
annotate queries & add license analytics
2019-03-27 19:53:00 -04:00
Jeff Bradberry
e398a0ac5e Remove the isolated_heartbeat setup from settings/defaults.py 2019-03-27 14:12:42 -04:00
Jeff Bradberry
bc6df9cab8 Make use of user-defined settings for defining the isolated nodes heartbeat
Just in case the user has created custom settings files which set
AWX_ISOLATED_PERIODIC_CHECK.
2019-03-27 10:47:38 -04:00
Vismay Golwala
ec390b049d Feature: custom virtual environment directories
Currently, users are allowed to define virtual environments in
`settings.BASE_VENV_PATH` only, because that's the only place
Tower looks for virtual environments. This feature allows users
to custom define the directory paths, using API or UI, to look
for virtual environments. Tower aggregates virtual environments
from all these paths, except environments with special name `awx`.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-03-26 12:04:17 -04:00
chris meyers
8fb65b40de use ansible runner to run playbooks
* Project Updates
* Jobs
* Inventory Updates
* System Jobs
* AdHoc Commands

* Notifications
* Fact Cache
* proot
2019-03-18 14:21:47 -04:00
softwarefactory-project-zuul[bot]
889dae357b Merge pull request #3235 from ryanpetrello/sql-profiling
add a custom DB backend that provides system-level SQL profiling

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-02-15 21:56:28 +00:00
Ryan Petrello
eed94b641e add a custom DB backend that provides system-level SQL profiling
run this command on _any_ node in an awx cluster:

$ awx-manage profile_sql --threshold=2.0 --minutes=1

...and for 1 minute, the timing for _every_ SQL query in _every_ awx
Python process that uses the Django ORM will be measured

queries that run longer than (in this example) 2 seconds will be
written to a per-process sqlite database in /var/lib/awx/profile, and
the file will contain an EXPLAIN VERBOSE for the query and the full
Python stack that led to that SQL query's execution (this includes not
just WSGI requests, but background processes like the runworker and
dispatcher)

$ awx-manage profile_sql --threshold=0

...can be used to disable profiling again (if you don't want to wait for
the minute to expire)
2019-02-14 15:04:46 -05:00
Ryan Petrello
9bebf3217e remove usage of import * and enforce F405 in our linter
import * is a scourge upon the earth
2019-02-13 17:10:33 -05:00
Ryan Petrello
daeeaf413a clean up unnecessary usage of the six library (awx only supports py3) 2019-01-25 00:19:48 -05:00
Tyler Cross
0da0a8e67b CORS Support
Added the django-cors-headers app and middleware to make CORS possible.
2019-01-18 12:49:00 -05:00
Ryan Petrello
f223df303f convert py2 -> py3 2019-01-15 14:09:01 -05:00
AlanCoding
cccc038600 Updates to logging, specifically for unit tests 2019-01-15 11:34:54 -05:00
softwarefactory-project-zuul[bot]
aa8cda0001 Merge pull request #2801 from ryanpetrello/more-robust-isolated-capacity
collect isolated capacity using a cache plugin, not stdout parsing

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-12-20 20:01:00 +00:00
AlanCoding
65e110cdbf catch python error when unable to find user 2018-12-13 11:47:54 -05:00
chris meyers
d1705dd0cc more sane default log handlers
* Removed the emailing of admins on request error. When turned on, the
handler will include all django settings in the email. This is not
desirable from a security standpoint.
2018-12-05 09:38:27 -05:00
Ryan Petrello
d5c6c589b2 add an AWX_ISOLATED_VERBOSITY setting for debugging isolated connections 2018-11-26 23:47:16 -05:00
AlanCoding
53716a4c5a include migration middleware in timings and profiling 2018-11-18 10:55:37 -05:00
Ryan Petrello
661cc896a9 add a user agent for requests to Insights 2018-11-16 16:25:08 -05:00
AlanCoding
7417f9925f Minor cleanup of task environment vars 2018-11-16 13:28:42 -05:00
softwarefactory-project-zuul[bot]
b9f35e5b50 Merge pull request #2536 from ryanpetrello/deprecated_auth_token_middleware
remove DeprecatedAuthTokenMiddleware

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2018-10-26 14:27:29 +00:00
Ryan Petrello
28512e042b remove DeprecatedAuthTokenMiddleware 2018-10-26 10:11:53 -04:00
AlanCoding
482395eb6a reduce default verbosity of devel-specific callback logging 2018-10-26 10:03:46 -04:00
Ryan Petrello
ff1e8cc356 replace celery task decorators with a kombu-based publisher
this commit implements the bulk of `awx-manage run_dispatcher`, a new
command that binds to RabbitMQ via kombu and balances messages across
a pool of workers that are similar to celeryd workers in spirit.
Specifically, this includes:

- a new decorator, `awx.main.dispatch.task`, which can be used to
  decorate functions or classes so that they can be designated as
  "Tasks"
- support for fanout/broadcast tasks (at this point in time, only
  `conf.Setting` memcached flushes use this functionality)
- support for job reaping
- support for success/failure hooks for job runs (i.e.,
  `handle_work_success` and `handle_work_error`)
- support for auto scaling worker pool that scale processes up and down
  on demand
- minimal support for RPC, such as status checks and pool recycle/reload
2018-10-11 10:53:30 -04:00