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
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