Commit Graph
100 Commits
Author SHA1 Message Date
Jeff Bradberry 1a7148dc80 Prevent search on the NotificationTemplate.notification_configuration field 2019-09-26 14:37:04 -04:00
Jeff Bradberry ee27313b42 Change the visibility of the Grant Permission button on the team edit page
In the case where MANAGE_ORGANIZATION_AUTH = False, an Org admin is
still supposed to have the capability of adding resource roles to a
team.  This was in fact still doable directly in the API, or via the
organization edit page.
2019-09-26 11:28:25 -04:00
Jeff Bradberry ed1c667418 Fix asserts in test_project.py to use the id directly off of the job template
test_no_changing_overwrite_behavior_if_used, specifically.
2019-08-20 16:42:34 -04:00
Jeff Bradberry 10200fced0 Add patch to the list of system packages installed into the container
since it is a requirement of the new updater.sh Python requirements script.
2019-08-01 10:41:49 -04:00
Jeff Bradberry 2926d0198d Bump the version of Django to 2.2.4
This is a security release.
2019-08-01 10:41:36 -04:00
Jeff Bradberry d32394f1b6 Update the make clean command to clear out the parallelized sqlite3 files 2019-07-17 17:06:10 -04:00
Jeff Bradberry dd8ca5acc4 Ensure that the Postgres client is installed 2019-07-12 16:22:52 -04:00
Jeff Bradberry 172864a3a1 Force the username and password to be strings under the Radius backend
The base Radius backend encodes them as utf-8 bytes, which causes the
User object that we create to get the repr of the username, including
the b prefix and single quotes, e.g. "b'foo'".
2019-07-12 15:11:22 -04:00
Jeff Bradberry a691340986 Update authenticate method on auth backends to add required request param
This became mandatory in Django 2.1.
2019-07-12 15:11:22 -04:00
Jeff Bradberry 261f1427e9 Break up a too-long line in migrations 2019-07-12 15:11:22 -04:00
Jeff Bradberry 9383512772 Remove no longer needed check for override of WSGIHandler 2019-07-12 15:11:22 -04:00
Jeff Bradberry 2d81923e22 Fix up changes in fields in the migrations
Particularly the now-required on_delete parameter for ForeignKey and
OneToOneField.
2019-07-12 15:11:22 -04:00
Jeff Bradberry 1093a662f1 Fix a problem with a change in results from User.has_usable_password 2019-07-12 15:11:22 -04:00
Jeff Bradberry 210517eeb1 Fix a couple of tests trivially affected by the upgrades
- is_anonymous may no longer be called as a method, so no need to mock it
- the message on uniqueness constraint failures has apparently changed
2019-07-12 15:11:22 -04:00
Jeff Bradberry 2ffe3d9a85 Give the 4xx error handler views the correct positional arguments 2019-07-12 15:11:22 -04:00
Jeff Bradberry 6737bd4c19 Replace {} as field default values with the callable dict 2019-07-12 15:11:22 -04:00
Jeff Bradberry 29ad847544 Deal with a change in truncation of strings in Django
which now uses a proper ellipsis character instead of 3 dots.
2019-07-12 15:11:22 -04:00
Jeff Bradberry b3ef2c928a Remove the custom add and remove methods from OrderedManyToManyDescriptor 2019-07-12 15:11:22 -04:00
Jeff Bradberry 43c552c7c6 Some flake8 changes 2019-07-12 15:11:21 -04:00
Jeff Bradberry e0357d53f5 Bump Django to 2.2.2 2019-07-12 15:11:21 -04:00
Jeff Bradberry beb1dd5ae7 Replace use of the deprecated staticfiles template library with static 2019-07-12 15:11:21 -04:00
Jeff Bradberry d464df557b Fix another direct assignment of a sequence to a related manager 2019-07-12 15:11:21 -04:00
Jeff Bradberry 5e9f790554 Bump to Django 2.1.9 2019-07-12 15:11:21 -04:00
Jeff Bradberry 47b325896d Remove the django_db mark from TransactionTestCase classes
pytest-django's documentation indicates that it isn't necessary, and
it turns out in Django 2.0+ that this double application of the
transaction machinations was causing the Django ContentType table to
lose its items.
2019-07-12 15:11:21 -04:00
Jeff Bradberry c85d58e28d The interactive flag for management commands doesn't seem to be a thing anymore 2019-07-12 15:11:21 -04:00
Jeff Bradberry bcbb768dd3 Remove the use of the deprecated Field.rel attribute
Also, rename a number of variables named `rel` for ease of searching.
2019-07-12 15:11:21 -04:00
Jeff Bradberry e0693d3746 is_anonymous and is_authenticated no longer support being called as methods 2019-07-12 15:11:21 -04:00
Jeff Bradberry a6edc46cc3 Field.from_db_value no longer supports the context param in 2.0 2019-07-12 15:11:21 -04:00
Jeff Bradberry f24b08316d Django's url resolver and pattern classes have been renamed in 2.0+
They are now URLResolver and URLPattern, respectively.  The API has
changed as well, but fortunately it looks like what we are doing here
doesn't depend on anything that was changed.
2019-07-12 15:11:21 -04:00
Jeff Bradberry 25c14382db Update the monkey patch of Django's column name digest to work with 2.0+
BaseDatabaseSchemaEditor no longer has a `_digest` classmethod,
instead there is a call out to a new `names_digest` utility function.
2019-07-12 15:11:21 -04:00
Jeff Bradberry 796d7bf67f Replace the use of the 3rd party jsonbfield library
which was just a backport of Django's built-in JSONField.  Also, bump
the version of django-jsonfield.
2019-07-12 15:11:21 -04:00
Jeff Bradberry ddef41d394 Bump Django to 2.0.13
This is _very_ broken.
2019-07-12 15:11:21 -04:00
Jeff Bradberry 758ad164fe Include defined fields from all parent classes of a HybridDictField
since our settings registry adds a mixin class when doing validation on these.

related #4099
2019-07-08 16:05:03 -04:00
Jeff Bradberry 1a72ff4c47 Use the in operator to test against the Organization membership subquery
If more than one Organization were selected by this subquery, then
Postgres would complain with "more than one row returned by a subquery
used as an expression".  We needed to allow for that case.

Annoyingly SQLite3 doesn't seem to care, so writing a py.test test to
exercise this isn't feasible under our current development setup.
2019-06-19 14:49:02 -04:00
Jeff Bradberry aa548442ce Ensure the request is on the Metadata object
in order to correctly populate the default for the TOWER_URL_BASE
field, which is specific to the host and preferred scheme.
2019-06-12 14:12:59 -04:00
Jeff Bradberry ab587e7e6c Update get_view_description to conform to changes in DRF's version
related encode/django-rest-framework#5605
2019-06-12 14:12:59 -04:00
Jeff Bradberry 3f5c018c8a Replace the load of the staticfiles template library with static
The staticfiles library will be going away before too long.
2019-06-12 14:12:59 -04:00
Jeff Bradberry 12e3d0aebf Remove rest_framework/base.html 2019-06-12 14:12:59 -04:00
Jeff Bradberry ba4ad191fc Add the csrf token to window.drf
In the same manner as the current version of base.html from DRF.  This
is part 2 of the removal of base.html.
2019-06-12 14:12:59 -04:00
Jeff Bradberry 34d76422d6 Move the endpoint deprecation warning out of base.html
This is part 1 of the removal of awx/templates/rest_framework/base.html.
2019-06-12 14:12:59 -04:00
Jeff Bradberry 2a81643308 Refactor the SSO serializer fields to follow the DRF idioms more closely
and fix the tests to handle the newer nested validation checks properly.
2019-06-12 14:12:59 -04:00
Jeff Bradberry 76d4de24df Handle a change in the error message for BooleanField
related encode/django-rest-framework#5881
2019-06-12 14:12:59 -04:00
Jeff Bradberry ed7a7e5f7b Support parse_requirements out of pip < 10 and >= 10 2019-06-12 14:12:59 -04:00
Jeff Bradberry f94959d120 Remove the custom get_view_name function
It appeared to not be doing anything that we were making use of that
couldn't already be done, slightly differently, using DRF's built-in
one.
2019-06-12 14:12:59 -04:00
Jeff Bradberry b5728fc548 Bump Django Rest Framework from 3.7.7 to 3.9.4 2019-06-12 14:12:59 -04:00
Jeff Bradberry 44907b33dc Fix the middleware ordering 2019-05-17 14:40:33 -04:00
Jeff Bradberry 3579584ffc i18n 2019-05-13 11:20:15 -04:00
Jeff Bradberry 05cae23180 Add help text to the ActivityStreamSerializer m2m relationship fields 2019-05-13 11:10:33 -04:00
Jeff Bradberry d6e89092d3 Instead of exposing Role.content_type, create a new serializer field
called `object_type`, which is constructed based on manipulating the
string value of ActivityStream.object_relationship_type.  Since that
field does have the full class name, this manipulation should match
the manipulation that is done to construct the values of object1 and
object2 when ActivityStream is created.
2019-05-10 17:31:33 -04:00
Jeff Bradberry 250484339b Expose the role's content_type field and reorder the objects in the UI
when the resource was stored on ActivityStream as object1 instead of object2.

related #3841
2019-05-10 14:15:05 -04:00
Jeff Bradberry ae25717700 Make the uwsgi autoreloader reload the dispatcher every time
not just the first time uwsgi is brought up.

related #3846
2019-05-08 11:15:54 -04:00
Jeff Bradberry 0b555e938a Fix typo in the Insights inventory url 2019-04-23 09:39:08 -04:00
Jeff Bradberry 6ff539e6ee Update the front-end Insights urls 2019-04-22 14:17:47 -04:00
Jeff Bradberry 49ba6c6b3d Appease flake8 2019-04-22 14:17:47 -04:00
Jeff Bradberry e2861c6c39 Fix the tests to conform to the new Insights results 2019-04-22 14:17:47 -04:00
Jeff Bradberry 6dae4a1d6d Add the host in as a parameter to the _get_insights call 2019-04-22 14:17:47 -04:00
Jeff Bradberry e66f9241a9 Remove the platform_id from the call to _get_insights
since it is now acquired within _get_insights.
2019-04-22 14:17:47 -04:00
Jeff Bradberry 72da961550 Conform to the new output of the Insights system reports endpoint 2019-04-22 14:17:47 -04:00
Jeff Bradberry 4c86c5065c Fix a typo in the per-system remediations api call 2019-04-22 14:17:47 -04:00
Jeff Bradberry 80a855c57a Do some basic slugification of the remediation playbook name 2019-04-22 14:17:47 -04:00
Jeff Bradberry 11b85250e8 Update more urls 2019-04-22 14:17:47 -04:00
Jeff Bradberry 10cfac2f0e Update the error message when we can't discover the platform ID 2019-04-22 14:17:47 -04:00
Jeff Bradberry 355a83441a Guard against the case where Insights fails to find the system ID 2019-04-22 14:17:47 -04:00
Jeff Bradberry e25adca233 Replace the old unit tests with new functional tests 2019-04-22 14:17:47 -04:00
Jeff Bradberry 7c743904b0 Removed some no longer needed imports 2019-04-22 14:17:47 -04:00
Jeff Bradberry a97865de0c Refactor HostInsights
for better reuse of the error handling of the Insights API calls.
2019-04-22 14:17:47 -04:00
Jeff Bradberry 596a5173ce Modify filter_insights_api_response to take in the separate remediations
since it is accumulated via a different API call.
2019-04-22 14:17:47 -04:00
Jeff Bradberry 63209197dd Iterate over the pages of remediations available 2019-04-22 14:17:47 -04:00
Jeff Bradberry af2484cd97 Update the Insights API urls to use the new url structure 2019-04-22 14:17:47 -04:00
Jeff Bradberry f01a936202 Update the test for filter_insights_api_response()
and fix the data nesting issue that it uncovered.
2019-04-22 14:17:47 -04:00
Jeff Bradberry 05f670a6d9 Update the filter_insights_api_response() utility function
in order to conform the output of the new Insights Advisor report
endpoint to our expections.
2019-04-22 14:17:47 -04:00
Jeff Bradberry f4b0910e98 Call out to the Insights API to get the Platform ID for a host
Since the new reports endpoint requires that, rather than the Insights
system ID that we've been using (and storing on the Host model).
2019-04-22 14:17:47 -04:00
Jeff Bradberry 95b17892ee Factor out the response handling boilerplate from HostInsights.get_insights
We'll want to reuse it for the API call to /hosts as well.
2019-04-22 14:17:47 -04:00
Jeff Bradberry 8fdc53cb21 Update the Insights API endpoint for getting the reports for a host 2019-04-22 14:17:47 -04:00
Jeff Bradberry 04521f5c5c Update the Insights action plugin to make calls against the new API 2019-04-22 14:17:47 -04:00
Jeff Bradberry 0ba87c9729 Add more test checks for the alternate code path to the role checks 2019-04-18 14:53:19 -04:00
Jeff Bradberry 41b476544d Improve test coverage of attaching a user to an organization 2019-04-18 13:35:35 -04:00
Jeff Bradberry 8ad0b3f787 Check the permissions for adding users to orgs/teams in the other direction 2019-04-17 17:45:20 -04:00
Jeff Bradberry 70b0679a0c Adjust the access logic for settings.MANAGE_ORGANIZATION_AUTH = False
so that changing the membership of Organizations and Teams are
disallowed unless you are a superuser, but granting resource
privileges is still permitted.
2019-04-17 15:37:02 -04:00
Jeff Bradberry c6643946c5 Capture the redacted credential env vars separately
and then make use of them specifically to make safe the env vars
coming back from an isolated node.  This will allow us to capture the
safed versions of custom credential values, but without potentially
clobbering normal env var values that vary between the controller and
the node.
2019-04-04 15:22:27 -04:00
Jeff Bradberry 3f6d3506c6 Change the artifact file convention for isolated nodes to 'command'
since that's what landed in the ansible-runner PR.
2019-04-04 14:25:50 -04:00
Jeff Bradberry 467700e4bb Bring the check_callback back into the loop
but try to process it only once.
2019-04-03 16:04:07 -04:00
Jeff Bradberry b4e508f72a Bring the check_callback call out of the loop
We shouldn't need to call it multiple times.
2019-04-03 15:12:29 -04:00
Jeff Bradberry b0f6d2214c Fix a typo: there is no method called check_callback on BaseTask 2019-04-03 14:57:02 -04:00
Jeff Bradberry 4364e00117 Do the env vars redaction for isolated nodes on this side 2019-04-03 14:34:09 -04:00
Jeff Bradberry 32286a9d49 Change the artifact to also capture the actual envvars data 2019-04-02 17:10:26 -04:00
Jeff Bradberry cac48e7cfb Updated IsolatedManager to take a callback that captures the remote command 2019-04-02 15:40:56 -04:00
Jeff Bradberry a803e86a95 Log errors directly from inventory_import.py only if running by hand 2019-03-27 18:02:46 -04:00
Jeff Bradberry e398a0ac5e Remove the isolated_heartbeat setup from settings/defaults.py 2019-03-27 14:12:42 -04:00
Jeff Bradberry bc6df9cab8 Make use of user-defined settings for defining the isolated nodes heartbeat
Just in case the user has created custom settings files which set
AWX_ISOLATED_PERIODIC_CHECK.
2019-03-27 10:47:38 -04:00
Jeff Bradberry efb4fb6fd0 Remove some no longer used imports 2019-03-27 10:06:13 -04:00
Jeff Bradberry f2be4de544 Use Django's own logic to invalidate sessions of users when changing passwords
The key is django.contrib.auth.update_session_auth_hash(), which knows
how to inject a recalculated session hash back into the session if the
requesting user is changing their own password, in order to keep that
user logged in.
2019-03-27 10:06:13 -04:00
Jeff Bradberry e8d93c99a6 Add the ksu, machinectl, and sesu methods to the builtin list of become methods 2019-03-08 11:14:18 -05:00
Jeff Bradberry 2a8e6ecba1 Update the error message when exceeding the organization hosts limit 2019-03-07 14:13:54 -05:00
Jeff Bradberry 046385d72e Make the inventory_import command log an error message on exception
when it happens in the big try/except block in the middle of handle().
Previously it wasn't doing anything with it, except exiting with a
code of 1.
2019-02-28 15:54:09 -05:00
Jeff Bradberry 7eba55fbde Change the wording of the error when adding a host
to "Organization host limit of %s would be exceeded...", since the
host will probably not actually be made active.
2019-02-28 15:54:09 -05:00
Jeff Bradberry 6ac51b7b13 Update the permission error to include max_hosts and the current host count 2019-02-28 15:54:09 -05:00
Jeff Bradberry 97cc467ae1 Restrict edit permissions on the Organization.max_hosts field to superusers 2019-02-28 15:54:09 -05:00
Jeff Bradberry 3312ebcb05 Remove the hosts count from related_field_counts in the org api endpoints
It is probably not needed, and adds an additional db query.
2019-02-28 15:54:09 -05:00
Jeff Bradberry 4d06ae48d3 Deal with the (erroneous) case where a job is missing the inventory
by bailing out of check_org_host_limit early.  Validation catches this
situation later on.
2019-02-28 15:54:09 -05:00