Commit Graph
100 Commits
Author SHA1 Message Date
Chris Church b85c98afd2 Split job event data between callback queue and stdout. Send most of event data directly over queue and capture only stdout/counter/start_line/end_line in celery task; recombine into single event in callback receiver. 2016-12-12 16:34:36 -05:00
Chris Church 08286d6d06 Add valid 1px GIF as placeholder. 2016-12-12 14:57:13 -05:00
Chris Church c52366e580 Merge pull request #4312 from cchurch/saml-error-handling
SAML error handling fixes
2016-12-12 12:29:17 -05:00
Chris Church ae16cadcc2 Ignore exception in sitecustomize. 2016-12-07 23:50:58 -05:00
Chris Church 27a3bae5dc Merge pull request #4319 from cchurch/remove-cached-validated-license-data
Remove caching of validated license data.
2016-12-07 13:47:58 -05:00
Chris Church 9a68f48e4d Merge pull request #4320 from cchurch/api-config-check-permissions
Add check_permissions method to ApiV1ConfigView.
2016-12-07 13:47:39 -05:00
Chris Church f2e2ca30ab Skip settings field validation for encrypted fields if submitted value is the $encrypted$ placeholder. 2016-12-06 19:36:31 -05:00
Chris Church 9feef6e76a Add default AzureAD settings. 2016-12-06 19:03:05 -05:00
Chris Church 2727bbcf52 Add check_permissions method to ApiV1ConfigView. 2016-12-06 18:54:49 -05:00
Chris Church f55c47e927 Remove caching of validated license data. 2016-12-06 17:57:23 -05:00
Chris Church 1e157c2255 Display error instead of raising 500 for invalid SAML config to generate metadata. 2016-12-06 12:57:01 -05:00
Chris Church 417d7c29ee Allow SAML entity ID to be any string, not required to be a URL. 2016-12-06 12:56:25 -05:00
Chris Church 4295ab3e4a Show SAML errors that aren't tied to a specific IdP. 2016-12-06 12:55:51 -05:00
Chris Church 96e923361e Merge pull request #4251 from cchurch/workflows-license-feature
Add workflows as a licensed feature
2016-12-02 22:03:02 -05:00
Chris Church a231ef0608 Only enforce workflows once. 2016-12-02 17:00:08 -05:00
Chris Church 36dc0d7059 Add workflows as a licensed feature, add mixin for workflow and activity stream license enforcement on views, update mixins to consistently come before base classes. 2016-12-02 16:54:24 -05:00
Chris Church 15bffdf861 Merge pull request #4168 from cchurch/encrypt-that-ctit
Add support for encrypting settings that are passwords.
2016-12-02 16:50:23 -05:00
Chris Church 0cf5b025ec Merge pull request #4213 from cchurch/optimize-job-events
Optimize query for job events to speed up loading job details page.
2016-12-02 16:27:25 -05:00
Chris Church 2e7e424109 Add missing host_qs. 2016-12-02 16:14:16 -05:00
Chris Church 4f058506f7 Merge pull request #4142 from cchurch/fix-azuread-auth
AzureAD auth updates.
2016-12-02 11:36:11 -05:00
Chris Church 1ce81f9640 Optimize query for job events for a single job to speed up loading job details page. 2016-12-01 18:33:05 -05:00
Chris Church 8911766eea Don't truncate job event stdout for playbook_on_ events. 2016-12-01 18:08:26 -05:00
Chris Church a5c0d5a0f9 Merge pull request #4201 from cchurch/callback-shenanigans
Fix callback plugin issues
2016-12-01 15:18:21 -05:00
Chris Church d6d5d4263a Only run ssh control persist cleanup from main process, flush after writing end marker for job event data. 2016-12-01 14:47:24 -05:00
Chris Church 6a5abd53e9 Merge pull request #4186 from cchurch/cleanup-jobs-output
Display count of skipped/deleted for cleanup jobs
2016-12-01 14:38:52 -05:00
Chris Church 4d372b1f90 Mock Project.playbooks for functional tests. 2016-12-01 03:18:23 -05:00
Chris Church 558d80bec2 Fix playbook validation when saving job template using a manual project. 2016-12-01 02:16:20 -05:00
Chris Church 9a0df88769 Add output of skipped/deleted to cleanup_jobs, so there is always some kind of output. 2016-12-01 00:15:00 -05:00
Chris Church efadd1a954 Return list of playbook files from the filesystem for manual projects. 2016-11-30 23:20:08 -05:00
Chris Church 6a02ca1de0 Add support for encrypting settings that are passwords. 2016-11-30 11:22:39 -05:00
Chris Church 2efe178fd4 Flake8 can suck it. 2016-11-29 21:30:40 -05:00
Chris Church 0bde7bf920 Merge pull request #4141 from cchurch/multiple-ldap-servers
Allow specifying multiple LDAP servers.
2016-11-29 17:07:55 -05:00
Chris Church 9c2ae43ac6 Clear cache between tests to prevent cached settings sticking around. 2016-11-29 11:50:24 -05:00
Chris Church 48391dfa5e Don't prompt for basic auth if AUTH_BASIC_ENABLED is False. 2016-11-28 23:09:14 -05:00
Chris Church 2e8faeaf0d AzureAD auth updates. Add auth backend to settings, add microsoft icon to fontcustom, add azuread support to login modal. 2016-11-28 22:12:50 -05:00
Chris Church 934da3c425 Allow specifying multiple LDAP servers. 2016-11-28 16:54:16 -05:00
Chris Church cbc52c7b69 Update elapsed in real time when job is running. 2016-11-28 14:35:37 -05:00
Chris Church 01f59b4696 Update defaults for SAML info/contact settings. 2016-11-28 13:16:29 -05:00
Chris Church 7889e07229 Use the right base class for super(). 2016-11-28 13:10:45 -05:00
Chris Church f15144807f Merge pull request #4093 from cchurch/tower-url-base-reset
Reset TOWER_URL_BASE to the hostname used for the request
2016-11-22 14:51:09 -05:00
Chris Church 8ba2c57b1e Merge pull request #4092 from cchurch/custom-logo-custom-login-info
Add support for CUSTOM_LOGO and CUSTOM_LOGIN_INFO settings
2016-11-22 14:50:59 -05:00
Chris Church eabc497f46 Merge pull request #4084 from cchurch/hide-settings-based-on-licensed-features
Hide settings based on whether features are enabled in the license
2016-11-22 14:50:47 -05:00
Chris Church 0b76546ea6 Merge pull request #4080 from cchurch/event-stdout-max-bytes-display
Add configurable limit to size of stdout shown for a single job event
2016-11-22 14:50:38 -05:00
Chris Church f007046e2b Reset TOWER_URL_BASE to the hostname used for the request when setting is deleted. 2016-11-21 16:35:53 -05:00
Chris Church a35ed0a09d Add support for CUSTOM_LOGO and CUSTOM_LOGIN_INFO settings, add support to migrate from local_settings.json and custom_console_logo.png. 2016-11-21 15:33:07 -05:00
Chris Church 5b1df83fcc Add support for hiding settings based on whether features are enabled in the license. 2016-11-21 14:15:41 -05:00
Chris Church 06510ce4b9 Merge pull request #4073 from cchurch/hide-user-settings
Hide user settings category if no user settings are registered.
2016-11-21 14:09:53 -05:00
Chris Church 9538ad2983 Merge pull request #4072 from cchurch/what-even-are-tuples
No tuples for API config, mention JavaScript regular expression support.
2016-11-21 11:35:12 -05:00
Chris Church b9eb619697 Add configurable limit to size of stdout shown for a single job event in list view. 2016-11-21 11:30:11 -05:00
Chris Church ac298ba2e2 Apply #4009 to #3910. 2016-11-20 11:02:22 -05:00
Chris Church 798c8b631d Hide user settings category if no user settings are registered. 2016-11-19 21:26:35 -05:00
Chris Church b5e5ed1fd4 No tuples for API config, mention JavaScript regular expression support. 2016-11-19 21:06:54 -05:00
Chris Church dcbf91fc4a Merge pull request #4051 from cchurch/no-more-gibberish
Add multiprocessing RLock around job event data output
2016-11-17 15:37:58 -05:00
Chris Church 1db697e4eb Add multiprocessing RLock around event data output to ensure only one process is writing to stdout at a time. 2016-11-17 09:09:19 -05:00
Chris Church 77a0e1445a Merge pull request #4009 from cchurch/fix-callback-url-fields
Fix callback URL fields to update when TOWER_URL_BASE changes
2016-11-15 18:28:44 -05:00
Chris Church fa29ce6382 Update AWX_ANSIBLE_CALLBACK_PLUGINS help text. 2016-11-15 12:36:29 -05:00
Chris Church dac208f384 Merge pull request #4010 from cchurch/job-timeout-defaults
Add default values for job timeouts.
2016-11-15 10:59:44 -05:00
Chris Church 21753ce49c Merge pull request #4008 from cchurch/conf-jsonfield-fixes
Fix configure Tower in Tower to work with updated django-jsonfield.
2016-11-15 10:57:42 -05:00
Chris Church 3eb6f55a80 Default JSONField to empty dict if field does not allow None. 2016-11-15 10:21:34 -05:00
Chris Church 443f100b5f Add default values for job timeouts. 2016-11-15 01:12:06 -05:00
Chris Church 89c629e796 Never return database values for read-only fields. 2016-11-15 00:59:10 -05:00
Chris Church e22b0f75b8 Fix social auth callback URLs to depend on TOWER_URL_BASE so they are updated when it changes. 2016-11-15 00:58:33 -05:00
Chris Church 8dc5e7725c Fix configure Tower in Tower to work with updated django-jsonfield. 2016-11-15 00:22:55 -05:00
Chris Church 90769eedbc Add AzureAD OAuth2 support. Implements #3902. 2016-11-08 10:22:44 -05:00
Chris Church 5760654671 Fix warning from v2_playbook_on_task_start with ad hoc commands. 2016-11-07 21:42:39 -05:00
Chris Church 2afb0695bf Merge pull request #3756 from cchurch/job-event-stdout
Capture stdout associated with job and ad hoc command events.
2016-10-29 10:25:22 -04:00
Chris Church 31faca2b4f Add option to use callback queue for job events. 2016-10-28 22:32:49 -04:00
Chris Church c43334f8f4 Update job events based on how they are used in Ansible 2.x. 2016-10-28 21:58:24 -04:00
Chris Church 908eef13f6 Renamed job event migration. 2016-10-28 21:58:24 -04:00
Chris Church 440f0539b0 Flake8 fixes. 2016-10-28 21:58:24 -04:00
Chris Church c18b6c1352 Add support for capturing stdout associated with job events and ad hoc command events.
* New event types for stdout lines not associated with a callback event.
* New stdout, start_line, end_line and verbosity fields for job/ahc events.
* Callback plugins to wrap Ansible default/minimal stdout callbacks and embed callback event data using ANSI escape sequences.
* Callback plugin library to wrap ansible.display.Display class methods.
* Output filter to extract event data from stdout and create job/ahc events.
* Update stdout formats to strip new ANSI escape sequences.
2016-10-28 21:58:24 -04:00
Chris Church 5e8a7eeb8a Return empty dict if no license present (or invalid key). 2016-10-18 00:22:15 -04:00
Chris Church e02d945e1d Merge pull request #3703 from cchurch/allow-file-scm-urls
Enable support for file scheme in SCM URLs.
2016-10-17 23:51:10 -04:00
Chris Church f988e3791c Merge pull request #3648 from cchurch/no-filter-on-password-fields
Prevent filtering on password fields.
2016-10-14 14:19:43 -04:00
Chris Church 58b434e08a Enable support for file scheme in SCM URLs. 2016-10-12 15:29:20 -04:00
Chris Church bedb363613 Merge pull request #3665 from cchurch/prevent-removing-license-via-system-settings
Prevent removing license via settings
2016-10-12 14:54:49 -04:00
Chris Church 8883738a7c Fix issue when string list settings field is null. Resolves #3683. 2016-10-12 14:47:22 -04:00
Chris Church 2488e1e3f0 Show actual settings module in use. 2016-10-12 13:40:05 -04:00
Chris Church 0992e354e3 Prevent removing license via PUT/PATCH/DELETE to /api/v1/settings/system/. 2016-10-07 14:13:51 -04:00
Chris Church 9fc30643ca Prevent filtering on password fields. 2016-10-03 16:18:41 -04:00
Chris Church 70e489d62f Save settings.LICENSE as dict instead of str. 2016-09-30 15:30:34 -04:00
Chris Church 17f70fbc21 Merge pull request #3606 from cchurch/fix-ldap-saml-defaults
Fix default value validation for LDAP/SAML settings to prevent warnings.
2016-09-28 11:11:46 -04:00
Chris Church 7e7b9fb095 Merge pull request #3603 from cchurch/fix-3602
Allow skipping errors when migrating to database settings
2016-09-28 11:10:35 -04:00
Chris Church 0ce7b31502 Fix default value validation for LDAP/SAML settings to prevent warnings. 2016-09-28 11:04:35 -04:00
Chris Church 0007ef2546 Add --skip-errors option to migrate_to_database_settings command, allow any false/null value for 'off' in pendo setting. 2016-09-28 09:58:19 -04:00
Chris Church d76fd9b860 Merge pull request #3525 from cchurch/tower-db-settings
Configure Tower in Tower
2016-09-27 23:17:14 -04:00
Chris Church 41d05b0ae8 Flake8 fixes. 2016-09-26 22:15:26 -04:00
Chris Church 5ed59a4c52 For #3529, show trial in /api/v1/config/ even when false. 2016-09-26 22:15:20 -04:00
Chris Church 16a7c1e493 Based on customer config example, entity ID doesn't have to be a URL. 2016-09-26 22:15:12 -04:00
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 Church b7a6aa01a3 Fixes to get flake8 and unit/functional tests passing. 2016-09-18 19:11:29 -04:00
Chris Church eb70d8d32e Merge pull request #3255 from cchurch/my-saml-done-froze-up
Initialize xmlsec once to prevent SAML auth from hanging.
2016-08-25 23:32:19 -04:00
Chris Church ff9945037f Initialize xmlsec once to prevent SAML auth from hanging. 2016-08-15 14:50:53 -04:00
Chris Church 146e724930 Merge pull request #1018 from cchurch/redis-cache
Use Redis as cache backend.
2016-08-08 14:19:56 -04:00
Chris Church 3bb14e2f72 Clear cache between tests or when license is updated. 2016-08-08 11:59:55 -04:00
Chris Church 0687168e5e Don't use Redis as cache when running tests. 2016-08-08 11:58:54 -04: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
Chris Church 3850b96da2 Re-enable API settings URLs. 2016-08-03 14:56:09 -04:00
Chris Church 1caa5d01b8 Prevent populate_user from being registered multiple times. 2016-07-25 17:39:19 -04:00
Chris Church 574462b4f2 Fix for populating teams for LDAP user. 2016-07-25 17:39:19 -04:00