9039 Commits

Author SHA1 Message Date
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
799f321760 Fix an issue running jobs in the cluster
The old VENV_PATH settings were still in place
2016-09-12 10:43:40 -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
13a0fd749f Purge old munin monitors and tools 2016-09-09 15:17:16 -04:00
Matthew Jones
0c1e1fa2fb Refactor Tower HA Instance logic and models
* Gut the HA middleware
* Purge concept of primary and secondary.
* UUID is not the primary host identifier, now it's based mostly on the
  username.  Some work probably still left to do to make sure this is
  legit.  Also removed unique constraint from the uuid field.  This
  might become the cluster ident now... or it may just deprecate
* No more secondary -> primary redirection
* Initial revision of /api/v1/ping
* Revise and gut tower-manage register_instance
* Rename awx/main/socket.py to awx/main/socket_queue.py to prevent
  conflict with the "socket" module from python base
* Revist/gut the Instance manager... not sure if this manager is really
  needed anymore
2016-09-08 13:37:53 -04:00
Matthew Jones
eafb6c92b5 Docker compose improvements
* Make sure we explicitly set a hostname for tower nodes
* Switch rabbit vhost to use the root
2016-09-08 11:02:51 -04:00
Matthew Jones
ebf103f345 Initial Docker Compose workflow for Tower cluster
The goal is to share a common pattern with the existing development work
2016-09-08 10:18:14 -04:00
Matthew Jones
f3b7fe18ce Integrate memcached into setup playbook 2016-09-01 11:41:20 -04:00
Matthew Jones
f0b7622672 Update development environment for rabbit 2016-08-31 14:47:20 -04:00
Matthew Jones
c112fc3cf4 Update qpid packaging, remove migrations
* Remove old system migrations
* Update qpid install deps for RH
2016-08-30 10:46:13 -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
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
b507dc53ea Putting a bow on some of the new dev workflow
* Documentation of the developer variety
* Defaulting the COMPOSE_TAG to develop, can be overridden
* Automatic docker login assuming gcr login
* Including a manual build step as an alternative to gcr
* Make qpid container shut the f**k up when it's running
2016-08-25 11:57:31 -04:00
Matthew Jones
c8e2f73d48 Support pulling the dev container image from gcr
This will be branch-relative.  If you are ont he `devel` branch then it
will pull that tag, it will try to pull the branch you are on and can be
overridden with the COMPOSE_TAG environment variable
2016-08-24 22:45:20 -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
Leigh Johnson
25fa05da81 enable less sourcemaps, add cleanup for npm cmds run with --prefix 2016-08-19 13:16:24 -04:00
Matthew Jones
8893f8278a Merge branch 'release_3.0.2' into devel
* release_3.0.2: (126 commits)
  Disable permissions tab in Credential > Edit form if Credential is private (#3288)
  Tweaked the popover text for job and skip tags on JT add/edit
  Workaround a cascade setnull polymorphic issue
  flake8
  Fixed old test expectations
  Made it so the credential organization field can't be changed
  Skip some unit tests
  Fixed org auditor visibility of team credentials
  Fix sosreport
  fix credential kind options for list
  interpret any code below 300 as success
  bail when status code is over 300
  Make CloudForms inventory_script work
  Use no_log when handling passwords
  Prevent ignored task from being displayed as failing.
  making ec2 cred optional on group->edit
  making ec2 credential optional for ec2 inventory
  Revert "Fix to ensure org auditors can see team credentials"
  Fixed team credential list to work with corrected permissions
  Making the username and password fields optional
  ...
2016-08-18 22:52:55 -04:00
Leigh Johnson
fc1ca378d1 Disable permissions tab in Credential > Edit form if Credential is private (#3288)
* disable permissions tab in credential > edit view if credential is private, resolves #3265

* add tooltip indicating why permissions tab is disabled if cred is private
2016-08-18 13:49:05 -04:00
Michael Abashian
b25cf0b5cb Merge pull request #3299 from mabashian/3196-skip-tags-help-text
Tweaked the popover text for job and skip tags on JT add/edit
2016-08-18 11:39:38 -04:00
Michael Abashian
52803d2f04 Tweaked the popover text for job and skip tags on JT add/edit 2016-08-17 16:38:29 -04:00
Leigh Johnson
ce61fe4a42 Refactor UI Build System (#3203)
* initial build trial, clean up awx/ui

* fix hardcoded refs to ng-toast, add jshint preloader

* remove browserify test

* update grunt-jshint -> jshint module loader, browser-sync, update dev targets to build-docker-machine & build-docker-cid, fix blocking tasks

* less autoprefixer

* sample build commands

* fix release build

* update README

* karma config stub

* webpack config for karma tests

* karma preview for shane

* fix build-docker-machine target

* karma+webpack test pipeline configuration, stub tests

* fix smart/job status icons classes

* fix jquery + jsyaml shims, fix LESS cascade

* fix angular-codemirror dependency, explicitly import style/mode dependencies

* shim jsonlint

* fix angular-scheduler AMD imports, remove jquuery-ui shim, fix release config

* use closed $.fn.datepicker for system-tracking

* remove packaging/node/

* remove old tests

* shrinkwrap fragile dependency sandcastle, update README, lint

* first pass at fixing rrule shim

* update makefile targets

* update gitignore w/ new flag file

* add saucelabs karma config

* add license controller test

* add examples of service and directive tests

* Makefile flubs

* consolidate clean-ui target, compulsively update flag file location

* dep on CJS/AMD/UMD compatible version of rrule lib, fix example tests/config for demo

* boilerplate karma config for saucelabs (should be abstracted to common config after proven to work)

* update docs

* docs feedback

* update Dockerfile with Node 6.x dep
2016-08-17 16:09:54 -04:00
Akita Noek
19fbe4b7fd Merge pull request #3274 from anoek/3081
Prevent private credentials from being to assigned to teams
2016-08-17 15:57:59 -04:00
Matthew Jones
3beef1d988 Workaround a cascade setnull polymorphic issue
See: https://github.com/django-polymorphic/django-polymorphic/issues/229
2016-08-17 12:55:12 -04:00
Akita Noek
6464f6e3d6 flake8 2016-08-16 15:54:12 -04:00
Akita Noek
91cd32d304 Fixed old test expectations 2016-08-16 15:36:07 -04:00
Akita Noek
9c5c09169e Made it so the credential organization field can't be changed
This makes it so the credential organizaiton field can't be changed
through the API (unless the user is a super user). This brings us into
alignment with the original intent.
2016-08-16 15:32:29 -04:00
Akita Noek
fc7d2b6c4e Skip some unit tests
These tests broke because we added some additional checks that utilize
the database within the role assignment code, and because of issue
parsing or forming requets between the unit framework and the django
request code I'd guess (for some reason it looks like the `pk` field
isn't getting parsed out and handed in to the kwargs of a post method..
didn't dig into it though.)
2016-08-16 14:53:53 -04:00
Akita Noek
30451f230b Fixed org auditor visibility of team credentials
And by fix, I mean prevent us from getting into the situation that was
causing the asymetric visiblity by brining us into alignment with the
original intention and spec for how credentials were supposed behave.

 #3081
2016-08-16 14:02:09 -04:00
Akita Noek
db87e3cb30 Merge branch 'release_3.0.2' into 3081 2016-08-16 13:52:57 -04:00
Graham Mainwaring
d51edff8a8 Ubuntu 16 support (#3251) 2016-08-16 13:41:23 -04:00
Aaron Tan
fd26cf6176 Merge pull request #3244 from jangsutsr/3199_ignored_task_result_inconsistent
Prevent ignored task from being displayed as failing.
2016-08-14 20:14:06 -04:00
John Mitchell
5467b233eb fix credential kind options for list 2016-08-12 16:29:11 -04:00
Alan Rominger
e5a1ee8b94 Merge pull request #3215 from AlanCoding/2200_job_survey_pass
Save survey passwords in job as new field
2016-08-12 14:04:29 -04:00
Alan Rominger
b3c8333867 Merge pull request #3230 from ansible/AlanCoding-patch-1
Allow for 201 callback status code
2016-08-12 11:30:11 -04:00
AlanCoding
ba101573d6 interpret any code below 300 as success 2016-08-12 11:25:16 -04:00
Jared Tabor
a7a6aaa8ac Merge pull request #3240 from jaredevantabor/email_notification
Making the username and password fields optional
2016-08-12 07:54:27 -07:00
Jared Tabor
5445940e84 Merge pull request #3243 from jaredevantabor/ec2-inventory-credential
EC2 credential should be optional for an EC2 source group (previously required)
2016-08-12 07:18:31 -07:00
Alan Rominger
95011b1aa0 Merge pull request #3235 from AlanCoding/3234_ev_survey_fix
Fix survey extra_vars processing error
2016-08-12 10:17:40 -04:00
AlanCoding
efb66cad20 bail when status code is over 300 2016-08-12 07:31:01 -04:00
James Laska
ee66fd4aa5 Make CloudForms inventory_script work
Fixes a few flake8 issues while at it.
2016-08-11 18:50:42 -04:00
Aaron Tan
f90b244fe6 Prevent ignored task from being displayed as failing. 2016-08-11 17:34:35 -04:00
Jared Tabor
5e4362da69 making ec2 cred optional on group->edit 2016-08-11 13:09:56 -07:00
Jared Tabor
c21e142929 making ec2 credential optional for ec2 inventory
and fixing the autopopulate for that field (it should not autopopulate)
2016-08-11 12:56:17 -07:00
Alan Rominger
ae1af93551 Merge pull request #3242 from ansible/AlanCoding-patch-2
Upgrade django debug toolbar requirement
2016-08-11 13:14:01 -04:00
Akita Noek
3d218d5fca Revert "Fix to ensure org auditors can see team credentials"
This reverts commit 5dcb0e57d80a3bb0553ca8194890a938257a6e93.

New clarification on what the actual desired behavior of this whole
system means this commit is trash, fixing in a much better way.
2016-08-11 11:00:02 -04:00
Akita Noek
f81d6afe83 Fixed team credential list to work with corrected permissions 2016-08-11 10:17:33 -04:00
Alan Rominger
346564491f upgrade django toolbar requirement 2016-08-11 08:38:54 -04:00
Jared Tabor
d8c713d5ef Making the username and password fields optional
for email notifications
2016-08-10 14:08:33 -07:00
Akita Noek
d181aefddf Fix to ensure org auditors can see team credentials
#3081
2016-08-10 16:58:39 -04:00
Akita Noek
e55de3d073 Fixed team credential creation through API 2016-08-10 16:58:12 -04:00