1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-27 17:55:10 +03:00
Commit Graph

41 Commits

Author SHA1 Message Date
Seth Foster
09e5093b96
flake 8 version test 2020-05-13 13:32:11 -04:00
Ryan Petrello
4a6147d4c2
add the ability to generate dot graphs for per-request profiling 2020-01-04 07:09:42 -05:00
Ryan Petrello
15111dd24a
pin to runner==1.4.4 2019-10-27 09:17:10 -04:00
Ryan Petrello
adaa4148c6
include awxkit CI in zuul runs
additionally, fix up some flake8 failures
2019-08-09 10:07:40 -04:00
AlanCoding
8c2b3e9b84
Fix Django 2.0 deprecation warnings 2019-04-22 14:17:14 -04:00
Ryan Petrello
ce2fc1a9dd
fix more py3 centos7 issues 2019-04-04 18:35:59 -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
Matthew Jones
3a8bacb8ef
Add an initial check and gate job configuration for zuul
Updates for running ui tests and linters
2018-10-05 13:39:59 -04:00
adamscmRH
227960e3ea pin pluggy at 0.6.0 2018-08-27 16:55:40 -04:00
adamscmRH
3b36f85989 update dev pytest 2018-06-25 13:22:17 -04:00
chris meyers
97ab6449b9 parallelize test running 2018-05-16 14:29:15 -04:00
Ryan Petrello
d743b77353 replace our rdb tooling w/ the sdb PyPI package 2018-02-26 19:05:50 -05:00
Ryan Petrello
57c22c20b2
add support for building swagger/OpenAPI JSON
to build, run `make swagger`; a file named `swagger.json` will be
written to the current working directory
2018-02-06 10:12:57 -05:00
Ryan Petrello
51f7907a01
optimize OutputEventFilter for large stdout streams
update our event data search algorithm to be a bit lazier in event data
discovery; this drastically improves processing speeds for stdout >5MB

see: https://github.com/ansible/awx/issues/417
2018-01-16 14:41:35 -05:00
Chris Meyers
2ed97aeb0c implement multiple ldap servers 2018-01-11 09:03:14 -05:00
Ryan Petrello
1e8c89f536
implement support for per-playbook/project/org virtualenvs
see: https://github.com/ansible/awx/issues/34
2018-01-09 22:47:01 -05:00
Matthew Jones
da0b686369
Adding jupyter notebook support to the AWX development environment
* Jupyter starts alongside the other awx services and is available on
  0.0.0.0:8888
* make target: make jupyter
* default settings in settings/development.py
* Added jupyter, matplotlib, numpy to dev dependencies
2017-12-05 23:46:18 -05:00
Ryan Petrello
45bdd9f747 improve readability of the honcho console logs in the dev environment
* colorize uwsgi and celery logs; DEBUG lines are green, WARN lines
  are yellow, ERROR lines (and tracebacks) are red
* pretty-print fact callback receiver JSON
* simplify the uwsgi log format so it's more legible
2017-06-22 09:19:32 -04:00
Matthew Jones
a39b1e8436 Fix ipython version in dev container to 5.2.1 2017-04-26 09:57:51 -04:00
Matthew Jones
fa0780b9d0 Optimize uwsgi launching in dev container and prod
* Set --master flag so we have a preforking master process to manage
  subprocs
* Set max-requests to 1000 so uwsgi will recycle processes after 1000
  requests
* Set --no-orphans so uwsgi will track child processes and clean them up
  in order to respawn children
* Turn stats on in the container and install uwsgitop in dev
  requirements so we can track uwsgi stats
2016-11-04 13:38:23 -04:00
Chris Meyers
bf3c68d8b4 Merge pull request #3497 from chrismeyersfsu/fix-flake8_deps
Fix flake8 deps
2016-09-15 13:33:41 -04:00
Matthew Jones
f5d2c5c18a Merge branch 'ramparts_and_ha' into devel
* ramparts_and_ha: (21 commits)
  Rename database migrations for devel integration
  Integrate callback receiver refactoring
  Fix an issue running jobs in the cluster
  Implement a more dynamic celery queue system
  Purge old munin monitors and tools
  Refactor Tower HA Instance logic and models
  Docker compose improvements
  Initial Docker Compose workflow for Tower cluster
  Add memcached role for setup playbook
  Removing qpid from deb packaging
  Refactor rabbitmq role
  Integrate memcached into setup playbook
  Remove mongodb shutdown task
  Remove dependency on erlang_sd_notify
  Add initial rabbitmq role
  Initial rabbitmq setup playbook integration
  Update development environment for rabbit
  Replace qpid with rabbitmq
  Remove redis role from setup playbook
  Update qpid packaging, remove migrations
  ...
2016-09-15 10:19:57 -04:00
Chris Meyers
0dfe3b197a bump pyflakes version 2016-09-12 12:45:01 -04:00
Matthew Jones
807cced571 Implement a more dynamic celery queue system
* Meant to be a starting point to more efficiently manage work routing
  and to balance work across all tower nodes
* Integrate flower as a dev tool that starts alongside other nodes.
  Helpful for observing and monitoring the queues/exchanges
* For the moment, force the task manager to only run on one node (not
  sure if this is needed)
* Define queues and routes for all task work
* Bump celery version to 3.1.23
* Expose flower through haproxy
2016-09-09 15:18:18 -04:00
Matthew Jones
27ab6705e7 Merge branch 'ramparts_and_ha' into devel
* ramparts_and_ha:
  Removing qpid from deb packaging
  Refactor rabbitmq role
  Integrate memcached into setup playbook
  Remove mongodb shutdown task
  Remove dependency on erlang_sd_notify
  Add initial rabbitmq role
  Initial rabbitmq setup playbook integration
  Update development environment for rabbit
  Replace qpid with rabbitmq
  Remove redis role from setup playbook
  Update qpid packaging, remove migrations
  Integrate packaging for qpid/memcached
2016-09-06 09:47:11 -04:00
Matthew Jones
f0b7622672 Update development environment for rabbit 2016-08-31 14:47:20 -04:00
AlanCoding
1372623080 temporarily pin the pytest version until the ldap error can be fixed 2016-08-26 14:03:41 -04:00
Matthew Jones
dcb4959443 Initial qpid development work
* Switch base tower devel image from u14.04 to c7
* Switch container image to build python dependencies into itself
  instead of forcing it to be built on startup
* Upgrade venv pip to 8.1.2
* Neuter queue.py which was heavily tied to redis and was basically
  orphaned code
* Alter local_settings to override default cache settings and use
  memcached
* Alter local settings to refer to qpid instead of redis for celery
  broker
* Purge redis python dependencies and add qpid and memcached
* Update docker-compose to purge redis and add qpid and memcached
2016-08-24 16:23:47 -04:00
Alan Rominger
346564491f upgrade django toolbar requirement 2016-08-11 08:38:54 -04:00
Matthew Jones
01ea3b602d Add ipython to dev dependencies
So tower-manage gets ipython instead of the vanilla interpreter
2016-05-10 10:34:26 -04:00
Matthew Jones
062ace975c Add the super-handy pprofile to dev reqs 2016-05-03 12:01:58 -04:00
Chris Meyers
01d323fd06 fix dev container pip init process 2016-04-06 14:28:34 -04:00
Matthew Jones
0a6df40066 Improvements to docker compose workflow with new packaging changes 2016-04-06 12:24:19 -04:00
Chris Meyers
9d24236632 pin pyflakes to allow flake8 to succeed
* flake8 monkeypatches pyflakes to add codes to linting results. It
would seem that pyflakes 1.1.0 adds more checks but flake8 doesn't
monkeypatch to expose them. I've submitted a PR to add error code 405 to
be able to express that we ignore it in our setup.cfg
 https://gitlab.com/pycqa/flake8/merge_requests/56
2016-03-02 09:30:52 -05:00
Chris Meyers
7ffe46fc74 add postgres Fact model, update views, tests
* awx.main.models Fact added
* view host fact and timeline updated to use new Postgres Fact model instead of Mongo
* Removed license set start Mongo logic
* added View tests
* added Model tests
* Removed mongo fact unit tests
* point at modified jsonbfield that supports sqlite storage driver
* postgresify fact cache receiver
* test OPTIONS endpoint
* Note: single fact view not implemented yet.
2016-02-24 14:38:54 -05:00
Chris Church
4f3dea92fe Remove dev dependency on django-devserver. 2016-02-02 22:55:58 -05:00
Chris Church
60224cdbe4 Update Django to 1.8 and DRF to 3.3, add new Django migrations, update serializers/pagination/metadata, update browsable API styling. 2016-02-02 17:48:04 -05:00
Wayne Witzel III
3d4580611e added pytest to requirements_dev
reworking test strucutre

reworked pytest.ini, removed functional imports, updated req_dev

remove unneeded __init__ files

add testing checker to local_settings examples

adding testing packages to system Python for docker
2016-02-01 18:37:56 -05:00
Chris Meyers
e71189466c pin django debug toolbar for django dep reason
* fix IPy dep
* new django debug toolbar released today, broke things. Pin to our old
version of django to ensure success.
2015-10-06 20:26:33 -04:00
Chris Meyers
9f33127919 fixes jenkins failures
* include requirements.txt in requirements_jenkins.txt
* include requirements.txt in requirements_dev.txt
* alter Makefile to NOT call the requirements rule in the requirements_*
rules. Again, this is now handled by the -r requirements.txt in the
respective _*.txt file.
* install jenkins requirements "globally" (in the virtualenv)
2015-09-02 08:23:11 -04:00
Chris Meyers
99fb641b1b all vendor dependencies expressed in requirements.txt 2015-08-17 11:17:53 -04:00