1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 08:21:15 +03:00
Commit Graph

377 Commits

Author SHA1 Message Date
Bill Nottingham
6622e6bbd6 Bump pexpect version on isolated node. 2018-05-15 11:24:27 -04:00
Ryan Petrello
f0d3713e99 use select.poll() instead of select.select() for file descriptors
see: https://github.com/ansible/tower/issues/861
see: https://github.com/pexpect/pexpect/pull/474
2018-04-25 16:29:55 -04:00
Ryan Petrello
19d5d71937 unpin botocore now that an upstream dependency issue is resolved
related: 4f585dd09e
related: https://github.com/boto/botocore/pull/1433
2018-04-23 14:43:09 -04:00
Ryan Petrello
a2a246a834 update to a newer python-dateutil with more bug fixes we were vendoring
related: dateutil/dateutil#649
2018-03-26 17:12:01 -04:00
Ben Thomasson
b29a605800
Cleans up feature set for 3.3
This removes the experimental features that were not selected
for 3.3 release.

* Removes dpath requirement
* Removes generated action_plugins
* Removes network UI v1 api
* Removes unused network management commands
* Removes network UI CLI client
* Removes templates
* Removes unused DataBinding models
* Removes obsolete test
* Removes unused admin and tests
* Removes experimental UndoPersistence, RedoPersistence, and auto-layout functions
* Removes API endpoints for network visualization
* Removes unused consumer routes
* Removes group, site, and rack features for 3.3
* Removes unused tables controller
* Removes undo/redo
* Removes group code and scale checks
2018-03-23 17:00:24 -04:00
Ben Thomasson
701150bd1a
Adds configuration for the network-ui websocket
* Configures NGINX for the network-ui websocket.
* Configures supervisor.conf for network_ui websocket.
2018-03-23 17:00:14 -04:00
Ben Thomasson
48d801271c
Imports prototype from ansible-network-ui
The ansible-network-ui prototype project builds a standalone Network UI
outside of Tower as its own Django application. The original prototype
code is located here:
https://github.com/benthomasson/ansible-network-ui.

The prototype provides a virtual canvas that supports placing
networking devices onto 2D plane and connecting those devices together
with connections called links.  The point where the link connects
to the network device is called an interface.  The devices, interfaces,
and links may all have their respective names.  This models physical
networking devices is a simple fashion.

The prototype implements a pannable and zoomable 2D canvas in using SVG
elements and AngularJS directives.   This is done by adding event
listeners for mouse and keyboard events to an SVG element that fills the
entire browser window.

Mouse and keyboard events are handled in a processing pipeline where
the processing units are implemented as finite state machines that
provide deterministic behavior to the UI.

The finite state machines are built in a visual way that makes
the states and transitions clearly evident.  The visual tool for
building FSM is located here:
https://github.com/benthomasson/fsm-designer-svg.   This tool
is a fork of this project where the canvas is the same.  The elements
on the page are FSM states and the directional connections are called
transitions.   The bootstrapping of the FSM designer tool and
network-ui happen in parallel.  It was useful to try experiemental
code in FSM designer and then import it into network-ui.

The FSM designer tool provides a YAML description of the design
which can be used to generate skeleton code and check the implementation
against the design for discrepancies.

Events supported:

* Mouse click
* Mouse scroll-wheel
* Keyboard events
* Touch events

Interactions supported:

* Pan canvas by clicking-and-dragging on the background
* Zooming canvas by scrolling mousewheel
* Adding devices and links by using hotkeys
* Selecting devices, interaces, and links by clicking on their icon
* Editing labels on devices, interfaces, and links by double-clicking on
  their icon
* Moving devices around the canvas by clicking-and-dragging on their
  icon

Device types supported:

* router
* switch
* host
* racks

The database schema for the prototype is also developed with a visual
tool that makes the relationships in the snowflake schema for the models
quickly evident.  This tool makes it very easy to build queries across
multiple tables using Django's query builder.

See: https://github.com/benthomasson/db-designer-svg

The client and the server communicate asynchronously over a websocket.
This allows the UI to be very responsive to user interaction since
the full request/response cycle is not needed for every user
interaction.

The server provides persistence of the UI state in the database
using event handlers for events generated in the UI.  The UI
processes mouse and keyboard events, updates the UI, and
generates new types of events that are then sent to the server
to be persisted in the database.

UI elements are tracked by unique ids generated on the client
when an element is first created.  This allows the elements to
be correctly tracked before they are stored in the database.

The history of the UI is stored in the TopologyHistory model
which is useful for tracking which client made which change
and is useful for implementing undo/redo.

Each message is given a unique id per client and has
a known message type.  Message types are pre-populated
in the MessageType model using a database migration.

A History message containing all the change messages for a topology is
sent when the websocket is connected.  This allows for undo/redo work
across sessions.

This prototype provides a server-side test runner for driving
tests in the user interface.  Events are emitted on the server
to drive the UI.  Test code coverage is measured using the
istanbul library which produces instrumented client code.
Code coverage for the server is is measured by the coverage library.

The test code coverage for the Python code is 100%.
2018-03-23 17:00:14 -04:00
Ryan Petrello
918f372c20 add uwsgitop as a dependency
see: https://github.com/ansible/ansible-tower/issues/7966
2018-03-19 08:53:30 -04:00
Ryan Petrello
4f585dd09e pin botocore to avoid dependency hell re: latest python-dateutil
boto decided to pin python-dateutil on a version _lower than_ what we
need for the TZID= bug fix:
90d7692702 (diff-b4ef698db8ca845e5845c4618278f29a)
2018-03-16 16:08:03 -04:00
adamscmRH
8d460490c1 add xmlsec flag to docker installs 2018-03-14 14:28:35 -04:00
Ryan Petrello
44adab0e9e bump python-dateutil to latest
this change provides support for numerous bug fixes, along with
support for parsing TZINFO= from rrule strings

related: https://github.com/ansible/ansible-tower/issues/823
related: https://github.com/dateutil/dateutil/issues/614
2018-03-12 12:20:03 -04:00
AlanCoding
4a01805a19
add shade back into AWX requirements
Last round of dependency updates showed that AWX
depended on packages which came implicitly from shade
decorator is added as an explicit dependency
and all of the rest of shade requirements are
added back in here.
2018-03-08 10:32:19 -05:00
AlanCoding
556e6c4a11
Dependency Updates
Upgrades of minor dependency upgrades
Inventory scripts were upgraded in separate commit

Major exclusions from this update
- celery was already downgraded for other reasons
- Django / DRF major update already done, minor bumps here
- asgi-amqp has fixes coming independently, not touched
- TACACS plus added features not needed

Removals of note
- remove shade from AWX requirements
- remove kombu from Ansible requirements

Other notes

Add note about pinning setuptools and pip,
done but not mentioned previously

Stop pinning gevent-websocket and twisted

upgrade Azure to Ansible core requirements

more detailed notes
https://gist.github.com/AlanCoding/9442a512ab6977940bc7b5b346d4f70b

upgrade version of Django for Exception
2018-03-06 16:04:01 -05:00
Demin, Petr
f4a241aba2
Constrain requests 2018-03-06 12:47:34 -05:00
Ryan Petrello
13672cc88c
fix busted shippable builds 2018-03-05 14:16:42 -05:00
Wayne Witzel III
73f0a0d147 Update to latest asgi-amqp 2018-02-28 14:43:37 -05:00
Chris Meyers
d551566b4d
Merge pull request #1372 from chrismeyersfsu/old-celery3
celery 4.x to 3.x roll back
2018-02-27 15:26:46 -05:00
Ryan Petrello
d743b77353 replace our rdb tooling w/ the sdb PyPI package 2018-02-26 19:05:50 -05:00
Aaron Tan
1c2621cd60 Implement session-based and OAuth 2 authentications
Relates #21. Please see acceptance docs for feature details.

Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
2018-02-22 15:18:12 -05:00
Wayne Witzel III
91c6d406c5 Rollback celery 2018-02-22 09:37:14 -05:00
Ryan Petrello
2a168faf6a
upgrade to the latest pexpect
see: https://github.com/ansible/awx/issues/417
2018-02-12 09:18:14 -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
Matthew Jones
67d927121d
Merge pull request #940 from ryanpetrello/multivenv
implement support for per-playbook/project/org virtualenvs
2018-01-10 12:15:38 -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
Wayne Witzel III
1690938dfb Update asgi-amqp requirement 2018-01-09 23:54:30 +00:00
Matthew Jones
9dbcc5934e
Merge remote-tracking branch 'tower/release_3.2.2' into devel 2017-12-13 12:25:47 -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
Shane McDonald
ec14ae1930 Add m2r to setup requirements file
We `pip download` this file for offline installs. Automat lists this package as a setup_requires, but `pip download` doesn’t resolve these dependencies (distutils will attempt to install them via easy_install when setup.py is invoked).
2017-12-05 15:26:56 -05:00
Wayne Witzel III
a858093db8 Update to asgi_amqp 1.0.1 2017-11-27 19:41:30 +00:00
Wayne Witzel III
f118e27047
Flake8 fixes and URL updates 2017-11-10 17:04:33 -05:00
Wayne Witzel III
8faf588775
Update package versions, settings, and tooling 2017-11-09 17:17:30 -05:00
Ryan Petrello
e06d4d7734 don't install pycurl from pypi; use a system package instead
the ovirt4 sdk relies on pycurl, which is complicated to install w/ pip;
rely on pycurl to be provided by a system package instead
2017-10-10 14:38:44 -04:00
Ryan Petrello
7438062b97 add ovirt sdk dependency for ovirt4 support 2017-10-10 14:38:44 -04:00
Ryan Petrello
768c7ba3dc
bump azurerm dependencies to support Ansible 2.4
see: https://github.com/ansible/ansible-tower/issues/7470
2017-09-01 15:15:53 -04:00
Shane McDonald
5af04e3164 Add pycrypto to Tower's requirements files
This is needed for GCE inventory syncs to work. Inventory Syncs run through the Tower virtual environment.
2017-08-10 09:10:10 -04:00
Shane McDonald
ac9fcdb63e Bump setuptools version
This addresses a bug I was seeing when running `pip download setuptools --no-binary=:all:`.
2017-08-01 10:13:04 -04:00
Ryan Petrello
ad66ff9938 pin kombu to a known working version (from tower 3.1.4)
we're encountering some *really* gnarly bugs with newer version of
celery and kombu; pin to *exactly* what works in 3.1.4 to try to avoid
them, because we can't upgrade celery to 4.0 (where this bug *may* be
fixed)

see: https://github.com/ansible/ansible-tower/issues/6534
see: https://github.com/celery/celery/issues/3712
see: https://github.com/celery/kombu/pull/760
2017-07-28 10:59:06 -04:00
Ryan Petrello
9784633728 pin websocket-client to a known working version
websocket-client 0.43.0 has a bug in its https client that breaks
requests:
https://github.com/websocket-client/websocket-client/issues/326

slackclient is affected by this bug:
https://github.com/slackapi/python-slackclient/issues/189

this commits also upgrades slackclient to add proxy support

see: #7088
see: #7093
2017-07-17 12:04:30 -04:00
Ryan Petrello
0239cd37fe pin celery to a known version that works
newer celery 3.x seems to a bug which causes forked celery worker
interprocess communication to hang (see: #6534)
2017-07-13 16:24:30 -04:00
Ryan Petrello
5f6ed1bd6c upgrade to the latest version of tacacs_plus 2017-07-12 13:52:37 -04:00
Chris Meyers
f1b1c4ee97 avoid instance record deadlock by using pglock 2017-07-05 09:38:19 -04:00
Aaron Tan
9aa4ea8e61 Add boto3 dependency and remove requests freezing 2017-06-29 16:03:07 -04: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
Ryan Petrello
44e0c8621a isolated ramparts: replace systemd unit with a tower-expect binary
instead of launching isolated tasks via `systemctl`, treat
`awx.main.isolated.run` as an executable that knows how to daemonize

additionally, add `setup.py isolated_build` for isolated Tower source
distribution
2017-06-16 09:59:21 -04:00
Ryan Petrello
422950f45d Support for executing job and adhoc commands on isolated Tower nodes (#6524) 2017-06-14 11:47:30 -04:00
Shane McDonald
dfdf59bcf5 Fix RPM builds
The version of setuptools bundled with virtualenv is broken. This fixes things for both online and offline pip installs.
2017-05-11 14:26:52 -04:00
Aaron Tan
cfb633e8a6 Dependency Updates
* Dynamic Inventory Source
Template against ansible 2.3 dynamic inventory sources.
The major change is removal of `rax.py`. Most upstream scripts except
`foreman.py` has quite trivial coding style changes, or minor functional
extensions  that does not affect Tower inventory update runs.
`foreman.py`, on the other hand, went through quite a major refactoring,
but functionalities stay the same.

Major python dependency updates include apache-libcloud (1.3.0 -->
2.0.0), boto (2.45.0 --> 2.46.1) and shade (1.19.0 --> 1.20.0). Minor
python dependency updates include indirect updates via `pip-compile`,
which are determined by base dependencies.

Some minor `task.py` extensions:
 - `.ini` file for ec2 has one more field `stack_filter=False`, which
   reveals changes in `ec2.py`.
 - `.ini` file for cloudforms will catch these four options from
   `source_vars_dict` of inventory update: `'version', 'purge_actions',
   'clean_group_keys', 'nest_tags'`. These four options have always been
   available in `cloudforms.py` but `cloudforms.ini.example` has not
   mentioned them until the latest version. For consistency with upstream
   docs, we should make these fields available for tower user to customize.
 - YAML file of openstack will catch ansible options `use_hostnames`,
   `expand_hostvars` and `fail_on_errors` from `source_vars_dict` of
   inventory update as a response to issue #6075.

* Remove Rackspace support
Supports of Rackspace as both a dynamic inventory source and a cloud
credential are fully removed. Data migrations have been added to support
arbitrary credential types feature and delete rackspace inventory
sources.

Note also requirement `jsonschema` has been moved from
`requirements.txt` to `requirements.in` as a primary dependency to
reflect it's usage in `/main/fields.py`.

Connected issue: #6080.

* `pexpect` major update
`pexpect` stands at the very core of our task system and underwent a
major update from 3.1 to 4.2.1. Although verified during devel, please
still be mindful of any suspicious issues on celery side even after this
PR gets merged.

* Miscellaneous
 - requests now explicitly declared in `requirements.in` at version 2.11.1
   in response to upstream issue
 - celery: 3.1.17 -> 3.1.25
 - django-extensions: 1.7.4 -> 1.7.8
 - django-polymorphic: 0.7.2 -> 1.2
 - django-split-settings: 0.2.2 -> 0.2.5
 - django-taggit: 0.21.3 -> 0.22.1
 - irc: 15.0.4 -> 15.1.1
 - pygerduty: 0.35.1 -> 0.35.2
 - pyOpenSSL: 16.2.0 -> 17.0.0
 - python-saml: 2.2.0 -> 2.2.1
 - redbaron: 0.6.2 -> 0.6.3
 - slackclient: 1.0.2 -> 1.0.5
 - tacacs_plus: 0.1 -> 0.2
 - xmltodict: 0.10.2 -> 0.11.0
 - pip: 8.1.2 -> 9.0.1
 - setuptools: 23.0.0 -> 35.0.2
 - (requirements_ansible.in only)kombu: 3.0.35 -> 3.0.37
2017-05-08 12:03:02 -04:00
Matthew Jones
a39b1e8436 Fix ipython version in dev container to 5.2.1 2017-04-26 09:57:51 -04:00
Chris Meyers
5a7b78220d pin twisted and asgiref for asgi-amqp
* asgi-amqp translation layer needs a specific version of channels which
requires a specific version of daphne and all of the fall out.
2017-04-19 13:56:36 -04:00
Chris Meyers
42a4bfa926 Merge pull request #5944 from chrismeyersfsu/improvement-pyparsing
add pyparsing a top level dep and fix other deps
2017-04-17 14:26:31 -04:00
Ryan Petrello
9f46b3c704 add tacacs_plus package as a dependency 2017-04-12 15:39:11 -04:00
Chris Meyers
67633b2387 add pyparsing a top level dep and fix other deps
* bump shade
* remove pyrax as a dep
* pin daphne so channels doens't pick up the wrong, too new, version
2017-04-03 16:17:05 -04:00
Shane McDonald
93dda555f1 Get offline pip installs working
I had to pull the git urls out of the main requirements files because in order to install offline (--no-index), we need pip to install from local package archives rather than cloning repo.

The weird `cat` thing going on in the Makefile is because we need to install everything as part of a single `pip install` transaction. Without this, installing only requirements_git.txt will result in dependencies getting unintentionally updated.
2017-03-29 14:30:58 -04:00
Shane McDonald
f79cd028f0 Add separate requirements file for setup_requires stuff
pip doesnt know how to resolve setup_requires dependencies.

we need this for offline pip installs when building in brew
2017-03-15 11:04:54 -04:00
Shane McDonald
4742cede0d Add pip and setuptools to requirements files
These packages were getting silently updated, making vendoring these dependencies difficult.

This ensures that the expected versions of these packages are installed in the virtualenvs.
2017-03-15 11:04:54 -04:00
Wayne Witzel III
9eed328107 update asgi_amqp version 2017-02-28 14:03:52 -05:00
Ryan Petrello
30a3439aa9 pin appdirs==1.4.2
setuptools requires appdirs >= 1.4.0
ff371f18f0 (diff-2eeaed663bd0d25b7e608891384b7298)
2017-02-27 12:06:35 -05:00
Wayne Witzel III
4d02ee9445 Make current_groups a set to easily avoid duplicates, update asgi-amqp requirement 2017-02-24 16:59:39 -05:00
Matthew Jones
7ca496b6ef Merge branch 'release_3.1.0' into multi_worker_callbacks 2017-01-18 20:39:15 -05:00
Matthew Jones
1cdeb4d2af Refactor event emitter to not use event partials
event emitter now caches to memcache where it is eventually picked up
by the stdout event emitter. This obviates event reassembly in the
callback receiver.
2017-01-17 15:59:43 -05:00
Bill Nottingham
f3ade65ac6 Vendor pywinrm and deps for Ansible. 2017-01-10 14:27:55 -05:00
Bill Nottingham
acaa8a75b2 Update boto to 2.45.0, add eu-west-2 and ca-central-1 2016-12-20 16:24:57 -05:00
Chris Meyers
f5ccdde508 pip prefers - not _ 2016-12-20 15:15:10 -05:00
Chris Meyers
6373642a67 explicitly install ssl backport for gce libcloud 2016-12-20 11:08:51 -05:00
Chris Meyers
139d80bcbb deps for new vmware inv script 2016-12-19 17:03:18 -05:00
AlanCoding
08bdbe6eca general update of requirements 2016-12-16 13:13:52 -05:00
AlanCoding
ce56a5e824 documentation feedback from pip-complie tool incorporated 2016-12-16 12:46:33 -05:00
AlanCoding
42713c9916 add requirements for service identity module causing warning messages 2016-12-16 11:47:35 -05:00
Chris Meyers
b533a9eb7b purge make requirements_jenkins 2016-12-14 10:30:28 -05:00
Chris Meyers
6348ed97dd uninstall certifi if installed in venv's 2016-12-14 09:53:24 -05:00
Chris Meyers
44c6127a48 fix gce and maybe azure cert issues 2016-12-13 17:11:44 -05:00
Chris Meyers
35fe4c8448 remove pyzmq 2016-12-09 14:34:32 -05:00
Chris Meyers
49a5c136dd add vmware deps to ansible venv 2016-12-06 13:29:53 -05:00
Ryan Fitzpatrick
69e7ef7110 Include pyrax in ansible requirements (#4283)
* Include pyrax in ansible requirements

* generate requirements_ansible.txt

* Add secretstorage backend in requirements_ansible.in
2016-12-05 16:14:46 -05:00
Matthew Jones
e5195032f6 Add back in some older dependencies that we had un-tracked
We'll need to figure out why dm.xmlsec.binding is segfaulting without these
2016-12-03 15:51:56 -05:00
Matthew Jones
1921f8cf04 Re-sync tower and ansible dependencies 2016-11-29 15:02:20 -05:00
Matthew Jones
7df11c59c0 Adding requests-futures dependency 2016-11-29 13:40:35 -05:00
Matthew Jones
cad112e8da Add python-logstash dependency 2016-11-29 13:29:13 -05:00
Ryan Fitzpatrick
d77cc5c984 Replace dropped psutil in ansible requirements (#4118) 2016-11-28 10:19:42 -05:00
Matthew Jones
95f3eacf25 Remove -e flags from requirements to fix build
These cause some odd behavior with egg-info links
2016-11-23 04:50:43 -05:00
Chris Meyers
bd78ff0a42 bump ansible requirements 2016-11-21 17:33:36 -05:00
Chris Meyers
1049b0bfd5 removed, seemingly, uneeded base packages 2016-11-21 17:33:36 -05:00
Chris Meyers
f2fac1fa91 factored out base python requirements
* use pip-tools to programatically build requirements.txt
2016-11-21 17:33:35 -05:00
Chris Meyers
4ec8a2f429 selectively bump base requirements 2016-11-21 17:33:14 -05:00
Chris Meyers
9f56d39644 factored out base requirements
* bumped all dependent packages that are not base
2016-11-21 17:33:14 -05:00
Chris Meyers
4a1a3bd1e8 do not coerce jsonbfield to string in db
* functional tests do coerce because they assume they are running on
sqlite
2016-11-18 11:29:42 -05:00
Chris Meyers
edaf018f2c Revert "factored out base requirements"
This reverts commit c5129a054c272a5e59008b3dc4d8a2f287f310a6.
2016-11-16 13:39:44 -05:00
Chris Meyers
827b4e1537 factored out base requirements
* bumped all dependent packages that are not base
2016-11-16 13:35:35 -05:00
Chris Meyers
1883485724 towards virtualenv being exactly requirements.txt
* Ignore already installed (usually global) packages when installing
requirements.txt into the virtualenv.
2016-11-15 09:19:29 -05:00
Chris Meyers
81720a6a2a bump cellery billiard requirement 2016-11-15 08:43:51 -05:00
Chris Meyers
f1f92deb1f bump up django-jsonfield 2016-11-14 14:34:46 -05:00
Chris Meyers
0c2d9e09b9 use known working django-jsonfield 2016-11-14 13:26:24 -05:00
Chris Meyers
ec83a1cb47 use django-jsonfield not jsonfield 2016-11-14 12:18:29 -05:00
Chris Meyers
356b0af3cd bump channels version 2016-11-14 11:11:29 -05:00
Chris Meyers
1d513252e4 fix up requirements 2016-11-14 09:16:26 -05:00
Chris Meyers
545412a6b5 remove inline requirements comment 2016-11-14 08:46:46 -05:00
Chris Meyers
241019568c use jsonfield instead of django-jsonfield 2016-11-11 15:47:41 -05:00
Chris Meyers
697ff11e3b move python dep git repos to ansible org 2016-11-10 09:27:44 -05:00
Chris Meyers
b9462bfad6 remove, not used, gevent-socketio 2016-11-10 09:10:26 -05:00
Chris Meyers
5d205f1e1b remove deprecated mongo fact code and deps
* We have the requirements that users with Tower < 3.0.x must upgrade to
3.0.x before > 3.0.x. Thus, we are save to delete all mongo migration
code and deps.
2016-11-09 16:25:27 -05:00
Chris Meyers
766e4af38e low hanging fruit requirements spring cleaning
* django-jsonfield PR accepted upstream
* django-rest-framework-mongoengine legacy system tracking dep
* python-social-auth PR accepted upstream
2016-11-09 16:12:27 -05:00
Bill Nottingham
eab6511682 Sort requirements 2016-11-04 16:48:18 -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
13c89ab78c HAify job schedules and more task_manager renaming 2016-11-01 13:50:42 -05:00
Chris Meyers
4ef4b4709b workflow execution added 2016-11-01 13:50:42 -05:00
Matthew Jones
96355854a8 Bump django version for CVE
https://www.djangoproject.com/weblog/2016/nov/01/security-releases/
2016-11-01 14:40:32 -04:00
Matthew Jones
c6cf02a602 Merge branch 'release_3.0.3' into devel
* release_3.0.3: (55 commits)
  Revert "Revert "Add needed types for selinux change""
  Revert "Add needed types for selinux change"
  interpret backslash escapes when displaying url in welcome message
  Bump the SELinux policy version
  Add needed types for selinux change
  Update SELinux policy to allow httpd_t to execute files in lib_t and var_lib_t
  Bumping changelog for 3.0.3
  Update rax.py inventory
  Revert "filter internal User.admin_roles from the /roles API list view"
  fix spelling of disassociated
  Resolves 404 when assigning resources/users to organizations in card view. Sidesteps a bug in the Refresh() utility, where pagination calculations are not made against filtered results.
  Sync azure changes to Tower virtual environment
  Add regions here as well.
  Also bump boto for new regions, per ryansb.
  More regions!
  Revert "bump shade version"
  bump shade version
  Hack copying of job_template.related.survey_spec into ui job copy flow, resolves #3737
  Revert "bump shade version"
  bump shade version
  ...
2016-11-01 11:49:28 -04:00
Chris Meyers
0f0d9953b3 bump os-client-config for shade 2016-10-22 09:51:12 -04:00
Bill Nottingham
5b45f5b6b9 Merge pull request #3753 from wenottingham/azure-oops
Sync azure changes to Tower virtual environment
2016-10-20 13:49:04 -04:00
Bill Nottingham
40fdd3eba5 Sync azure changes to Tower virtual environment 2016-10-19 16:49:49 -04:00
Bill Nottingham
94b20d4fc6 Also bump boto for new regions, per ryansb. 2016-10-19 16:16:05 -04:00
Chris Meyers
5b60b14227 bump shade version 2016-10-19 14:18:00 -04:00
Chris Meyers
49c90b8f2d Revert "bump shade version"
This reverts commit 0125d114fdf8be5f3a5fdab856c92d82a2988607.
2016-10-19 14:17:04 -04:00
Chris Meyers
8a4d6b6f35 bump shade version 2016-10-19 14:07:20 -04:00
Chris Meyers
b43945b0f2 Revert "bump shade version"
This reverts commit d0a7313a4ccb1cfca3c7655b34b61c6cb6861909.
2016-10-19 12:33:53 -04:00
Chris Meyers
54683cbff4 fix amqp dep 2016-10-18 18:42:12 -04:00
Chris Meyers
6d07699b29 bump shade version 2016-10-18 18:02:30 -04:00
Wayne Witzel III
4220246400 use uwsgi/daphne/nginx for dev 2016-10-14 01:45:08 -04:00
Ryan Fitzpatrick
d57c0152fb Include defaul channel layer route and upgrade amqp version (#3675) 2016-10-10 13:32:34 -04:00
Wayne Witzel III
163ec843fd update channels reqs 2016-10-06 16:32:35 -04:00
Wayne Witzel III
39f337d933 added model for holding channel group information, updating asgi_amsqp req 2016-10-06 16:16:27 -04:00
Wayne Witzel III
1a9843d5d1 adding initial channels integration 2016-10-04 14:04:52 -07:00
Wayne Witzel III
0088c5a410 add asgi_amqp req 2016-10-03 10:43:44 -04:00
Wayne Witzel III
530a5c0c88 merging devel 2016-10-03 10:35:50 -04:00
Matthew Jones
a648beba90 Rev django security version 2016-09-29 12:03:06 -04:00
nitzmahone
839c2877c8 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-09-28 16:10:14 -04:00
Wayne Witzel III
258ddba333 add channels to reqs and defaults 2016-09-27 18:39:19 -04:00
Wayne Witzel III
74f9372c69 updating pyOpenSSL and cffi versions for django-channels 2016-09-27 18:39:02 -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 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
AlanCoding
50ec9ca259 temporarily pin the pytest version until the ldap error can be fixed 2016-08-24 15:54:33 -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