Commit Graph
100 Commits
Author SHA1 Message Date
Matthew Jones e99466efc2 Fix a bug in the callback receiver where we weren't properly
initializing the parent signal handler
2014-11-17 13:28:09 -05:00
Matthew Jones 2d4efc1aa9 Don't strictly require a max or min when the other is included and
parsing surveys
2014-11-13 14:05:05 -05:00
Matthew Jones 300396c7ce Extend cache timeout to schedule runner also, block running a schedule
of an inventory update or a project update if its schedule places
it within that time also
2014-11-13 13:47:23 -05:00
Matthew Jones 04ec19023f Only consider active schedules for excluding multiple system job schedules 2014-11-13 13:03:47 -05:00
Matthew Jones fa702a7a59 Remove registration of instance from develop makefile target... on new
installations the database isn't available at this point
2014-11-11 15:51:13 -05:00
Matthew Jones 8bf66f01c4 Add System Job to OPTIONS get for job types under unified jobs 2014-11-11 15:51:13 -05:00
Matthew Jones ba1b9b9136 Add timestamp to logs for prints in management commands so we pick them
up the supervisor logs
2014-11-11 11:47:12 -05:00
Matthew Jones c4e2463db1 Sanity check for tower version metadata file in wsgi bootstrap 2014-11-10 15:12:14 -05:00
Matthew Jones 0de53886da Disallow multiple schedules for System Job Templates 2014-11-10 14:44:34 -05:00
Matthew Jones 309dba9693 Wording changes for the system job descriptions as proposed by @mpdehaan 2014-11-10 13:58:29 -05:00
Matthew Jones 4e494469c9 Use the normal version checker from tower manage 2014-11-10 12:22:20 -05:00
Matthew Jones ce9434314f Add a metadata file to the tower home directory that lists the version
of Tower
2014-11-10 12:17:11 -05:00
Matthew Jones 8916863cd3 Tweaks for Job Template based permissions covering delete and read
operations when the license has expired. Fix an issue where users
without the appropriate permissions could still delete job templates
2014-11-10 10:58:08 -05:00
Matthew Jones db6a068c4a Make the credential requirement information more consistent 2014-11-09 19:42:21 -05:00
Matthew Jones 902ef1a7ab Read and run permission tweaks for new deployment permission type 2014-11-07 13:18:01 -05:00
Matthew Jones 2258425710 Denote whether a credential is required on the launch endpoint if it was
not provided on the job template
2014-11-07 11:37:37 -05:00
Matthew Jones 9873bd2bc2 Add created_by and modified_by to some serializers 2014-11-07 10:45:53 -05:00
Matthew Jones 27fd173e72 Custom inventory script environment variable blacklist 2014-11-06 11:17:44 -05:00
Matthew Jones ede6142cea New permission for users and teams that allow creating job templates,
this makes Deployment permissions more granular.  Includes unit tests
and a migration to promote existing "run" permissions to "create".

Also some slight doc updates to denote that this implies "run" and "check"
2014-10-31 15:04:46 -04:00
Matthew Jones 202b511f55 Change returned job start id to system_job in the system job template
launch return data
2014-10-30 10:51:22 -04:00
Matthew Jones 7699faae28 Mo' stringent permissions on the system job and system job template endpoints 2014-10-30 10:24:47 -04:00
Matthew Jones df4366bdba Finish up the job template copying -> job_template/n/launch switch since
the UI implements this correctly now
2014-10-29 15:17:18 -04:00
Matthew Jones 1fae7e6764 Add more customization with data passed to the system job when run 2014-10-28 15:44:14 -04:00
Matthew Jones 08fc24c9e5 Create data migration for new system job templates and revise endpoints 2014-10-28 15:34:47 -04:00
Matthew Jones 098d4dc02e Force stringify shell environment variables 2014-10-28 14:35:09 -04:00
Matthew Jones 010e55289f Include system job details in root api browser 2014-10-28 14:35:09 -04:00
Matthew Jones 43ecfc0a87 Fix a small bug related to return state when determining valid user on
the socket io service
2014-10-27 14:52:21 -04:00
Matthew Jones c6180d3928 Access control on websocket service 2014-10-27 11:40:33 -04:00
Matthew Jones c106ba7bee enable autoescaping of content in the DRF template 2014-10-24 13:55:13 -04:00
Matthew Jones 66f8f88898 Remove the form and multipart parser from the the list of DRF parser classes 2014-10-23 14:52:29 -04:00
Matthew Jones 3918e39723 Make utf-8 encoding conditional based on the type coming into the
license generator function
2014-10-20 15:11:46 -04:00
Matthew Jones 0f068f6127 Fix some encoding issues for custom inventory scripts 2014-10-20 13:04:45 -04:00
Matthew Jones ce50376c7f Updating job list api endpoints to be able to display system jobs if you
can see them and any have run
2014-10-17 14:56:40 -04:00
Matthew Jones 103929c9ee Allow passing variables with schedules to support extra data on system jobs 2014-10-17 14:41:00 -04:00
Matthew Jones 21e4afca14 Relax type checking requirements for floats since javascript passively
converts whole number floats to ints
2014-10-14 15:41:22 -04:00
Matthew Jones c43a7be99e Make it so that we take source_vars with the custom inventory script
when defining the inventory source.  Slight modification to the UI to
make that possible
2014-10-14 15:38:42 -04:00
Matthew Jones 8b8fb2403c Fix some bugs with missing elements in the run system job task 2014-10-14 14:21:18 -04:00
Matthew Jones 6ed9705d91 Small fix for system job serializer 2014-10-14 13:56:58 -04:00
Matthew Jones b3ea148f53 Label the SystemJob Access class with the proper model 2014-10-14 13:54:12 -04:00
Matthew Jones fa0879f15b Add basic access for system jobs (super user only) 2014-10-14 13:47:44 -04:00
Matthew Jones 434144d276 Make min and max optional in the fields they are used in 2014-10-14 13:37:52 -04:00
Matthew Jones fbf9a4957e Initial system job implementation 2014-10-14 11:11:17 -04:00
Matthew Jones 983eb43aec Add new to the list of statuses that will be canceled if a job's parent
is removed
2014-10-14 10:12:01 -04:00
Matthew Jones a7f1202316 Fix spelling error in validation error message 2014-10-10 12:47:54 -04:00
Matthew Jones 62e3b6ad08 Add DELETE to the job template survey spec endpoint 2014-10-09 13:46:03 -04:00
Matthew Jones 681954ab99 Make question_description optional in the survey spec 2014-10-09 09:56:28 -04:00
Matthew Jones 71e87f7a41 Throw away everything but the first line when fetching the ansible version 2014-10-08 13:30:36 -04:00
Matthew Jones 9c81144533 More documentation and validation for job relaunching/template launching 2014-10-07 17:01:12 -04:00
Matthew Jones 6e24131070 Change filtering priority to prevent building a queryset with null
values when examining project activity stream
2014-10-07 16:49:27 -04:00
Matthew Jones ea36e30190 Cancel any running or pending actions when one of the unified job types
is deleted/marked inactive
2014-10-07 16:34:10 -04:00
Matthew Jones d3e5db52cb Adding job template survey documentation 2014-10-07 13:44:33 -04:00
Matthew Jones 7430973234 Add validation for survey elements on the api side 2014-10-07 10:56:45 -04:00
Matthew Jones d6adb1d398 Add a settings that disallows org admins from seeing users outside of
their organization.   See: https://trello.com/c/M74W11hQ
2014-10-06 15:59:05 -04:00
Matthew Jones d55569ed51 Reworded invalide private key data to be more generic 2014-10-06 15:09:21 -04:00
Matthew Jones 2b61048651 Revert "Remove the Amazon AMI license handler from tower proper"
This reverts commit 22c2f0513d5e08d810ea6b14bc9595642def9462.
2014-10-06 09:59:54 -04:00
Matthew Jones be7819e3d7 Make sure that if you have variables being required to start that we
return false when determining if the job can start without input
2014-10-03 14:16:50 -04:00
Matthew Jones d3416336ed Handle the case where the existing extra vars is None 2014-10-03 10:26:24 -04:00
Matthew Jones c609f7a81d Refactor callback receiver
* Move callback socket listener into its own method spawned as a
  seperate process
* launch and manage worker processes from a parent process and isolate
  them such that a fork doesn't inherit the zeromq socket
2014-10-03 00:37:08 -04:00
Matthew Jones b37925149b Fix the custom script update to use the normal mechanism for trigger an
inventory update
2014-10-02 12:53:24 -04:00
Matthew Jones 52fc81244d Revert "Use the normal built-ins for testing inventory sources when testing for"
This reverts commit d989b3e438022f565fb17ae7e4ec02b10239d577.
2014-10-02 12:53:23 -04:00
Matthew Jones 27458667ab Use the normal built-ins for testing inventory sources when testing for
custom scripts
2014-10-02 11:33:27 -04:00
Matthew Jones 449c5026b7 Remove socket and context closure and cleanup from zeromq in the
callback receiver
2014-10-02 09:46:16 -04:00
Matthew Jones bd0d4463ef Make sure we setup a license file when running the custom script
inventory update test
2014-10-01 16:26:09 -04:00
Matthew Jones 90bf8966b9 Refetch the group in an attempt to re-materialize the host additions 2014-10-01 15:17:17 -04:00
Matthew Jones 25f8034b79 catch -> except 2014-10-01 13:07:40 -04:00
Matthew Jones 786cc3fa85 Silently return if there isn't valid json passed in as extra data fields 2014-10-01 13:00:06 -04:00
Matthew Jones 8848cbfa1e Add schema migration of custom inventory scripts and related fields 2014-10-01 09:54:12 -04:00
Matthew Jones 56f5c0f402 Use assertEqual in the inventory test 2014-09-30 16:21:39 -04:00
Matthew Jones bf0bbe7580 Remove the Amazon AMI license handler from tower proper 2014-09-30 14:53:19 -04:00
Matthew Jones 7b6c5f68a9 Don't remove script at this point 2014-09-30 11:54:28 -04:00
Matthew Jones 06c75aeecf Implement API side for custom inventory script support with endpoints
and unit tests
2014-09-30 11:50:50 -04:00
Matthew Jones c402d13a73 Merge pull request #14 from tgerla/rabbitpw
add a note about the rabbitmq password requirements to group_vars/all
2014-09-29 16:20:06 -04:00
Matthew Jones ab70539aba Add an indicator to the job template launch GET endpoint to denote when
a survey is enabled
2014-09-29 15:31:34 -04:00
Matthew Jones c35f892e9e Check extra data to make sure it's not just an empty string 2014-09-29 15:17:08 -04:00
Matthew Jones cc6d673e4f Attempt to fix a mysterious zmq crash related to sockets lingering after
a fork
2014-09-29 14:31:14 -04:00
Matthew Jones eabfbd572f Support populating extra vars with post data when launching and
relaunching jobs
2014-09-26 15:47:02 -04:00
Matthew Jones 9064bb3107 Fix a bug where we could potentially not see a hostname that we need to
update instead of create when syncing inventory because its instance id
had changed
2014-09-24 13:35:04 -04:00
Matthew Jones 6f2a33d2b7 title to name for survey metadata 2014-09-22 11:54:28 -04:00
Matthew Jones 259e48df3e Add survey bits to summary fields on job templates.... change "title" to
"name" on survey metadata.
2014-09-22 11:11:18 -04:00
Matthew Jones 28e7fda956 Make job relaunch dispatch csrf exempt 2014-09-12 11:10:52 -04:00
Matthew Jones 71ffb71b87 Fix a bug where I wasn't checking for the right element in a survey when
launching a job
2014-09-11 16:32:04 -04:00
Matthew Jones 9119b40966 Take survey title and description into account 2014-09-10 15:20:06 -04:00
Matthew Jones 55b48204ea More validation and unit tests for api survey mode 2014-09-10 13:25:22 -04:00
Matthew Jones b1463f056d Adding survey_enabled to the expected list of template fields 2014-09-10 10:27:50 -04:00
Matthew Jones fc89ff76b5 Adding some unit tests for api survey mode 2014-09-09 17:08:29 -04:00
Matthew Jones 75cca21525 Survey mode validation when launching job templates 2014-09-09 15:08:49 -04:00
Matthew Jones 514cd4a1db Initial api side implementation of the survey spec 2014-09-09 11:08:40 -04:00
Matthew Jones bdd4290fe7 Create some useful indexes based on UI consideration and overall tower
usage and performance needs
2014-09-08 15:17:03 -04:00
Matthew Jones 0c40ca36f6 Fix up some unit tests where we have slightly changed the meaning of cancel 2014-09-08 11:23:39 -04:00
Matthew Jones 893ece0aa0 Updated with 2.0 release date 2014-09-05 15:52:11 -04:00
Matthew Jones 4f0cd9d160 Make sure cancel can cancel jobs that are in the pending or waiting
state also
2014-09-05 15:13:16 -04:00
Matthew Jones 2da1189a7c Change access to only allow super users to post to the jobs list without
a job template
2014-09-05 14:54:33 -04:00
Matthew Jones 85762c3470 Add tests for job relaunch 2014-09-05 14:27:39 -04:00
Matthew Jones b5763f078d Add relaunch capability to a job. fill in related links for various serializers 2014-09-05 14:02:55 -04:00
Matthew Jones 5548cfd6a8 Silence noisy supervisor tasks, adjust log rotation frequency for all
supervisor tasks
2014-09-04 13:26:32 -04:00
Matthew Jones 58b71ca9f9 Implement /launch endpoint on job template
Partial implementation of:

https://trello.com/c/7uXHs7ze/14-require-admin-to-be-able-to-run-a-job-without-a-job-template
2014-09-04 13:26:00 -04:00
Matthew Jones efab451632 Fix an issue where I wasn't reattaching the signal handlers to the child
worker processes when they were restarted
2014-09-04 09:58:10 -04:00
Matthew Jones 5aebf5508e Roll back part of the change that attempted to correct some of the
memory usage
2014-09-03 17:00:43 -04:00
Matthew Jones b2c77a650b Replace zeromq with multiprocessing queue for worker ipc in the callback
receiever module
2014-09-02 16:07:23 -04:00
Matthew Jones fd97aa85b6 Attempt to work around a bug from old versions of pyzmq where closing
the socket before immediately exiting could cause a crash
2014-08-27 15:23:20 -04:00