1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-02 18:21:12 +03:00
Commit Graph

146 Commits

Author SHA1 Message Date
Chris Church
6ebe45b1bd Configure Tower in Tower:
* Add separate Django app for configuration: awx.conf.
* Migrate from existing main.TowerSettings model to conf.Setting.
* Add settings wrapper to allow get/set/del via django.conf.settings.
* Update existing references to tower_settings to use django.conf.settings.
* Add a settings registry to allow for each Django app to register configurable settings.
* Support setting validation and conversion using Django REST Framework fields.
* Add /api/v1/settings/ to display a list of setting categories.
* Add /api/v1/settings/<slug>/ to display all settings in a category as a single object.
* Allow PUT/PATCH to update setting singleton, DELETE to reset to defaults.
* Add "all" category to display all settings across categories.
* Add "changed" category to display only settings configured in the database.
* Support per-user settings via "user" category (/api/v1/settings/user/).
* Support defaults for user settings via "user-defaults" category (/api/v1/settings/user-defaults/).
* Update serializer metadata to support category, category_slug and placeholder on OPTIONS responses.
* Update serializer metadata to handle child fields of a list/dict.
* Hide raw data form in browsable API for OPTIONS and DELETE.
* Combine existing licensing code into single "TaskEnhancer" class.
* Move license helper functions from awx.api.license into awx.conf.license.
* Update /api/v1/config/ to read/verify/update license using TaskEnhancer and settings wrapper.
* Add support for caching settings accessed via settings wrapper.
* Invalidate cached settings when Setting model changes or is deleted.
* Preload all database settings into cache on first access via settings wrapper.
* Add support for read-only settings than can update their value depending on other settings.
* Use setting_changed signal whenever a setting changes.
* Register configurable authentication, jobs, system and ui settings.
* Register configurable LDAP, RADIUS and social auth settings.
* Add custom fields and validators for URL, LDAP, RADIUS and social auth settings.
* Rewrite existing validator for Credential ssh_private_key to support validating private keys, certs or combinations of both.
* Get all unit/functional tests working with above changes.
* Add "migrate_to_database_settings" command to determine settings to be migrated into the database and comment them out when set in Python settings files.
* Add support for migrating license key from file to database.
* Remove database-configuable settings from local_settings.py example files.
* Update setup role to no longer install files for database-configurable settings.

f 94ff6ee More settings work.
f af4c4e0 Even more db settings stuff.
f 96ea9c0 More settings, attempt at singleton serializer for settings.
f 937c760 More work on singleton/category views in API, add code to comment out settings in Python files, work on command to migrate settings to database.
f 425b0d3 Minor fixes for sprint demo.
f ea402a4 Add support for read-only settings, cleanup license engine, get license support working with DB settings.
f ec289e4 Rename migration, minor fixmes, update setup role.
f 603640b Rewrite key/cert validator, finish adding social auth fields, hook up signals for setting_changed, use None to imply a setting is not set.
f 67d1b5a Get functional/unit tests passing.
f 2919b62 Flake8 fixes.
f e62f421 Add redbaron to requirements, get file to database migration working (except for license).
f c564508 Add support for migrating license file.
f 982f767 Add support for regex in social map fields.
2016-09-26 22:14:47 -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
Matthew Jones
ab395b0009 Integrate callback receiver refactoring
* Drop ZMQ as the communication mechanism between job_event_callback and
  callback_receiver
* Setup queue and exchange for callback broker communication
* Refactor event plugin and callback receiver to efficiently handle
  message submission and processing
* Integrate django caching for parent processing
2016-09-14 11:42:13 -04:00
Matthew Jones
b1b9967be0 Merge pull request #3220 from nitzmahone/req_update
update requirements versions for requests,azure
2016-09-13 09:48:31 -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
Matthew Jones
3f0311a969 Integrate packaging for qpid/memcached
Also

* Remove redis packaging
* Fix typo in contributing
2016-08-26 14:59:43 -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
3382736e70 Put some redis reqs back in until we make the packaging changes 2016-08-25 12:03:33 -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
nitzmahone
43e4e45ea5 update requirements versions
- current Ansible stuff (2.1.1) requires azure SDK 2.0.0rc5
- requests 2.10.0 is the published minimum version for pywinrm, as it contains a bugfix for catastrophic SSL tunnel failure on large payloads that pywinrm hits frequently, 2.11.0 is best tested.
2016-08-08 10:45:01 -07:00
Chris Church
891e06d6ef Add config for using Redis as cache, add memoize function to store results in cache. 2016-08-08 11:58:54 -04:00
Shane McDonald
5c516b60b3 ¯\_(ツ)_/¯
¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯
¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯
¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯
¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯
¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯
¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯  ¯\_(ツ)_/¯
2016-07-22 13:19:57 -04:00
Chris Meyers
b2dd7990c2 fixes openstack functools failure for py2.6 2016-06-22 15:39:25 -04:00
Matthew Jones
ebbadbf8da Upgrade python-saml for security issue 2016-06-09 14:23:10 -04:00
Matthew Jones
ad0915a6d0 Add libcloud dependency to tower venv 2016-06-09 14:20:34 -04:00
Matthew Jones
870175555f Remove pywinrm from tower venv 2016-06-07 16:51:43 -04:00
Matthew Jones
3b2a6eda4e Upgrade pywinrm per @nitzmahone's recommendation 2016-06-07 16:51:20 -04:00
Matthew Jones
79cbd68a13 Rev boto and add ap-northeast-2 to ec2 regions 2016-06-01 14:22:08 -04:00
Matthew Jones
fda5563aa8 Add azure module dependency to tower venv 2016-05-10 16:21:55 -04:00
Chris Meyers
ae73be12f1 remove statsd 2016-05-10 11:56:04 -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
ea25742ea5 Bump cryptography vendored library version 2016-05-06 11:52:02 -04:00
Matthew Jones
c453adbc30 Bump libcloud version for ansible tasks 2016-05-03 14:47:46 -04:00
Matthew Jones
062ace975c Add the super-handy pprofile to dev reqs 2016-05-03 12:01:58 -04:00
Wayne Witzel III
f0b4e18159 updating requests version 2016-04-22 12:07:34 -04:00
Matthew Jones
cf7b71ae2c Merge branch 'release_2.4.5' into devel
* release_2.4.5:
  Remove distribute from the setup virtualenv if installed (#1631)
  Update changelogs for 2.4.5 release
  Only export changed targets in reprepro
  Improve the efficiency of the stdout dump database migration
  Added logic to not show the loop summary events in the UI by looking at event_data.event_loop.
  Handle runner items from ansible v2
  bump boto
  fix case of Ansible v2 _result.cmd is list for release 2.4.5
  Handle both string and list hosts in our hosts->name conversion
  Default play names to the hosts the play was run against
  Use better isinstance(x) type checking
  Backporting test fixes from PR #1020: Fix error with ad hoc command events when running in check mode.
  Fix for tasks breaking when using 'yum' with ansible 1.9.4
  Bump 2.4.5 version, changelogs, and reprepo
2016-04-22 10:54:23 -04:00
Matthew Jones
0cd4b52582 Remove azure dependency from tower venv 2016-04-21 14:03:27 -04:00
Matthew Jones
296f70ce17 Implement Azure RM creds and inventory
* Vendor ansible's azure_rm inventory script
* Add new inventory type
* Add new credential type
* Expand host instance_id column from varchar 100 to 1024 to accept the
  long instance ids returned by Azure
* Make the inventory_import azure match rename more explicit.
2016-04-21 13:51:30 -04:00
Matthew Jones
b4ef0304e3 Add funcsigs as a direct dependency for the venvs 2016-04-12 10:48:49 -04:00
Matthew Jones
f437d39d06 Add psutil to ansible venv dependencies 2016-04-11 12:57:56 -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
Graham Mainwaring
ba916ed25f Preliminary EL6 SCL Python 2.7 support 2016-03-23 15:46:00 -04:00
Matthew Jones
46bbc83d0d Changes for Tower virtualenv support
* Break requirements down into ansible and tower reqs
* Generate separate Ansible and Tower virtual environments
* Install appropriate requirements files into each one
* Modify development tools to use these venvs instead of our old
  site-packages
* Modify settings to indicate venv enablement and location of venvs
* Modify tasks to use the proper virtual environment for its purpose
2016-03-21 12:11:19 -04:00
Chris Meyers
48d3aa2bc1 bump boto 2016-03-03 17:17:55 -05:00
Chris Meyers
88bf44bfcb Update requirements_jenkins.txt 2016-03-03 11:10:43 -05: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
356b9c99b3 Merge branch 'mongoectomy_implementation' into devel 2016-03-01 08:22:40 -05:00
Matthew Jones
533c629040 Add irc requirements dependency 2016-02-29 23:50:16 -05:00
Matthew Jones
99ec07b8a5 Merge branch 'notifications_work' into devel
* notifications_work: (23 commits)
  Updates to notification unit tests after @wwitzel3's feedback
  Fix some notifications issues and write some tests
  Add notification system documentation
  Clean up flake8 related issues
  Fixing up some unicode issues
  Implement tower ui view url on models
  Sanity check and force proper types in admin check
  Proper type for in check
  Adding migration and base notification type
  Add a periodic administrative notification
  Refactor message generator
  Support notification password field encryption
  Notification configuration type checking
  Refactor NotificationTemplate to Notifier
  Implement irc notification backend
  Add webhook notification backend
  Pagerduty and Hipchat backends plus some cleanup
  Notification serializers, views, and tasks
  Implement notification serializer and validations
  Notification endpoints and url expositions
  ...
2016-02-29 16:50:33 -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 Meyers
61fd645d25 Revert "add error to requirements.txt for jenkins testing"
This reverts commit b1543763a4c195c857ec82bda058e06a0becf816.
2016-02-23 12:49:28 -05:00
Chris Meyers
3535cf3b08 add error to requirements.txt for jenkins testing 2016-02-23 12:35:54 -05:00
Chris Meyers
3013bcbebb remove duplicate shade 2016-02-23 12:27:51 -05:00
Chris Meyers
244d1ac73d keystone dep fix 2016-02-23 11:47:26 -05:00