| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Bump cryptography to latest.
|
| |
|
|
|
|
|
|
| |
Add comments for Ansible requirements to note where they're used.
Remove our custom docutils fork, as the fix was merged upstream.
|
| |
|
| |
|
|\
| |
| |
| |
| | |
replace the celery-based task queue with a kombu-based implementation
Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this commit implements the bulk of `awx-manage run_dispatcher`, a new
command that binds to RabbitMQ via kombu and balances messages across
a pool of workers that are similar to celeryd workers in spirit.
Specifically, this includes:
- a new decorator, `awx.main.dispatch.task`, which can be used to
decorate functions or classes so that they can be designated as
"Tasks"
- support for fanout/broadcast tasks (at this point in time, only
`conf.Setting` memcached flushes use this functionality)
- support for job reaping
- support for success/failure hooks for job runs (i.e.,
`handle_work_success` and `handle_work_error`)
- support for auto scaling worker pool that scale processes up and down
on demand
- minimal support for RPC, such as status checks and pool recycle/reload
|
|/
|
|
| |
see: https://github.com/jazzband/django-oauth-toolkit/pull/629
|
|
|
|
| |
boto is still used by AWX itself.
|
| |
|
|
|
|
| |
Updates for running ui tests and linters
|
| |
|
|
|
|
| |
All SCM based requirements need to go into this file because of how we built Ansible Tower (offline).
|
|
|
|
| |
see: https://github.com/jazzband/django-oauth-toolkit/issues/625
|
|
|
|
|
|
|
|
| |
This was causing offline pip installs to fail for some weird reason:
The 'setuptools_scm>=1.15.0' distribution was not found and is required by the application
Even though it is there. v2.x still works.
|
| |
|
|\
| |
| | |
Upgrade Django-oauth-toolkit to 1.1.2
|
| | |
|
|/ |
|
|
|
|
| |
Closes #1763
|
|
|
|
|
| |
see: https://github.com/pexpect/pexpect/pull/492
see: https://github.com/ansible/tower/issues/1797
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
chrismeyersfsu/i_like_parallel_tests_and_I_can_not_lie
parallelize test running
|
| | |
|
|/ |
|
|
|
|
|
| |
see: https://github.com/ansible/tower/issues/861
see: https://github.com/pexpect/pexpect/pull/474
|
|
|
|
|
| |
related: https://github.com/ansible/awx/commit/4f585dd09e35c2ab1011e8ea93e6533be8877329
related: https://github.com/boto/botocore/pull/1433
|
|
|
|
| |
related: dateutil/dateutil#649
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
* Configures NGINX for the network-ui websocket.
* Configures supervisor.conf for network_ui websocket.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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%.
|
|
|
|
| |
see: https://github.com/ansible/ansible-tower/issues/7966
|
|
|
|
|
|
| |
boto decided to pin python-dateutil on a version _lower than_ what we
need for the TZID= bug fix:
https://github.com/boto/botocore/commit/90d7692702be1a423af15e0f49b58365f2a400f2#diff-b4ef698db8ca845e5845c4618278f29a
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|\
| |
| | |
celery 4.x to 3.x roll back
|
| | |
|
| | |
|
|/
|
|
|
|
| |
Relates #21. Please see acceptance docs for feature details.
Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
|