Commit Graph
49 Commits
Author SHA1 Message Date
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
Jeff Bradberry cf75ea91a1 Properly use the inventory in the can_start permissions checks 2019-02-28 15:54:09 -05:00
Jeff Bradberry 5e34f6582b Tests for start permissions for JobTemplate and WorkflowJob
when max_hosts is set.
2019-02-28 15:54:09 -05:00
Jeff Bradberry 60008dbd74 Add a test that AWX doesn't care about max_hosts when editing hosts
on an inventory.
2019-02-28 15:54:09 -05:00
Jeff Bradberry 4afd0672a1 Add test that AWX doesn't care about the limit when creating new hosts 2019-02-28 15:54:09 -05:00
Jeff Bradberry 875a1c0b5f Remove the mention of the max_hosts value from the limit check messages 2019-02-28 15:54:09 -05:00
Jeff Bradberry f5d7ca6913 Update the Organization API list and detail tests to check the host counts 2019-02-28 15:54:09 -05:00
Jeff Bradberry df8a66e504 Correct the org limit check for changing hosts to use the host's org
instead of an inventory passed in from the user data, which is not allowed.
2019-02-28 15:54:09 -05:00
Jeff Bradberry 43a0a15f6f Expose the new InventoryUpdate.org_host_limit_error field in the API 2019-02-28 15:54:09 -05:00
Jeff Bradberry 36ed890c14 Add permissions checks for the organization host limit 2019-02-28 15:54:09 -05:00
Jeff Bradberry 0e8e5f65e1 Update to fix tests 2019-02-28 15:54:09 -05:00
Jeff Bradberry 6399ec59c9 Include in the API the count of hosts used by an organization 2019-02-28 15:54:09 -05:00
Jeff Bradberry e44c73883e Expose Organization.max_hosts in the API 2019-02-28 15:54:09 -05:00
Jeff Bradberry c3406748de Add the new fields to the database 2019-02-28 15:54:03 -05:00
Jeff Bradberry 6d70651611 Update the inventory_import management command
to respect the new Organization.max_hosts limit.
2019-02-28 15:51:50 -05:00
Jeff Bradberry 5e13da62a4 Added a max_hosts field to Organization
in order to optionally set a limit to the number of hosts an
organization that is sharing a license is allowed to manage.

related #1542
2019-02-28 15:51:50 -05:00
Jeff Bradberry 46020379aa Expose the known privilege escalation methods in the API config view
so that the UI can obtain them and make use of them for an autocomplete widget.
2019-02-04 11:45:27 -05:00
Jeff Bradberry 6560ab0fab Migrated the inputs schema on existing CredentialTypes
to convert the custom become_method into a plain string.

related #2630

Signed-off-by: Jeff Bradberry <jeff.bradberry@gmail.com>
2019-01-29 15:04:35 -05:00
Jeff Bradberry 6e1deed79e Removed the special-case logic for maintaining the schema of the become_method field
related #2630

Signed-off-by: Jeff Bradberry <jeff.bradberry@gmail.com>
2019-01-29 14:06:26 -05:00
Jeff Bradberry 0ecd6542bf Changed the become_method field into one that takes arbitrary input
related #2630

Signed-off-by: Jeff Bradberry <jeff.bradberry@gmail.com>
2019-01-28 16:53:54 -05:00