Jeff Bradberry
c1133b3f6d
Add in more model changes around execution environments
...
- a new unique name field to EE
- a new configure-Tower-in-Tower setting DEFAULT_EXECUTION_ENVIRONMENT
- an Org-level execution_environment_admin_role
- a default_environment field on Project
- a new Container Registry credential type
- order EEs by reverse of the created timestamp
- a method to resolve which EE to use on jobs
2021-03-03 18:52:54 -05:00
Jeff Bradberry
3d233faed8
Expose the user capabilities dict for EEs ( #8208 )
2021-03-03 18:52:54 -05:00
Jeff Bradberry
3cbf384ad1
Run a receptor node in the dev environment
2021-03-03 18:52:54 -05:00
Jeff Bradberry
45a0084f78
Add a sublist api view for the UJTs that use a given execution environment
2021-03-03 18:52:54 -05:00
Jeff Bradberry
f9741b619c
Make changes to support capture by the activity stream
...
Including exposing a new API view for a particular EE's activity
stream objects.
2021-03-03 18:52:54 -05:00
Jeff Bradberry
5ec7378135
Add a new Swagger topic
2021-03-03 18:52:54 -05:00
Jeff Bradberry
c05e4e07ee
Expose execution environments in awxkit and awx-cli
2021-03-03 18:52:54 -05:00
Jeff Bradberry
cc429f9741
Expose an API view for all of the execution environments under an org
2021-03-03 18:52:54 -05:00
Jeff Bradberry
cb766c6a95
Add execution_environment and pull to the fields for UJs and UJTs
2021-03-03 18:52:54 -05:00
Jeff Bradberry
3c637cd54c
Change OrganizationSerializer to show and set default_environment
2021-03-03 18:52:53 -05:00
Jeff Bradberry
61cbd34586
Add in the basic list and detail api views
2021-03-03 18:52:53 -05:00
Jeff Bradberry
9697999ddd
Create the RBAC access class for execution environments
2021-03-03 18:52:53 -05:00
Jeff Bradberry
41613ff544
Add a new ExecutionEnvironment model
2021-03-03 18:52:53 -05:00
Jeff Bradberry
78ccf3c674
Fix the broken paths to the favicon and logo in the API browser
2021-02-19 14:56:26 -05:00
Jeff Bradberry
8fb0b401ce
Bump ansible-runner to get the pexpect fix
2021-02-12 12:08:21 -05:00
Jeff Bradberry
a3723db357
Do not drop inventories marked as has_inventory_sources
2021-01-08 14:32:33 -05:00
Jeff Bradberry
0eff06318f
Update autobahn to address CVE-2020-35678
2021-01-05 13:44:05 -05:00
Jeff Bradberry
cb570a2ba1
Fix the 'absent' state in tower_instance_group
2020-10-30 16:39:56 -04:00
Jeff Bradberry
607bc07887
Rework the export of full dependent objects
...
and include hosts and groups in the export.
2020-10-30 16:39:56 -04:00
Jeff Bradberry
ff7fe2acdf
Fix the 'absent' state in tower_instance_group
2020-10-28 14:27:03 -04:00
Jeff Bradberry
b8b1e3d760
Rework the export of full dependent objects
...
and include hosts and groups in the export.
2020-10-28 13:43:14 -04:00
Jeff Bradberry
d6e39376c8
Improve handling of 0 and negative thresholds in the profile_sql command
...
- output a profiling disabled message when appropriate
- specify that we are doing SQL profiling in the enabled case
- treat negative thresholds the same as zero, disabling profiling
2020-10-22 11:27:21 -04:00
Jeff Bradberry
a07dabae9e
Attempt to infer related pages on export when the link is missing
2020-10-09 14:06:28 -04:00
Jeff Bradberry
6b82ae46bc
Force worker processes to have a different signal handler from the parent
...
Situations have come up where the 5+ minute kill signal for
run_task_manager is emitted to the worker process running it, but
since the worker improperly inherited the AWXConsumerBase().stop()
handler a deadlock ultimately was triggered on the database
connection.
2020-07-23 12:09:59 -04:00
Jeff Bradberry
d8b9d48313
Add a note about import/export
2020-06-23 10:09:32 -04:00
Jeff Bradberry
393369adec
First cut at examples of the import and export commands
2020-06-18 15:32:49 -04:00
Jeff Bradberry
0fda9d2c56
Continue after failures to grant roles
2020-06-11 13:19:24 -04:00
Jeff Bradberry
bf6e8f8e83
Prioritize membership roles
...
since certain role grants will not be accepted by the api unless the user or team is part of the correct organization.
2020-06-10 15:27:15 -04:00
Jeff Bradberry
19b7c91486
Return the changed status of imports
2020-06-09 15:00:06 -04:00
Jeff Bradberry
aeeed4d371
Add more logging
2020-06-09 15:00:06 -04:00
Jeff Bradberry
1f7c1af64e
Fix WFJT nodes endpoint to return node pages when posting
...
not the node list page.
2020-06-09 15:00:06 -04:00
Jeff Bradberry
65fc2db42f
Recursively queue up related assets to be created and/or assigned
2020-06-09 14:59:49 -04:00
Jeff Bradberry
c8288af87f
Make sure we have a cached version of existing objects
...
even if it isn't an object being directly imported. We might need it
for relations of things that are being imported.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
76fb605dcd
Deal with exports involving foreign keys where you don't have permission
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a531b85b31
Redo waiting until Project updates are complete
2020-06-09 13:54:05 -04:00
Jeff Bradberry
86afa5cf42
Make more use of the PageCache for imports
2020-06-09 13:54:05 -04:00
Jeff Bradberry
57aff6394c
Log an error and continue when a related object is not found
2020-06-09 13:54:05 -04:00
Jeff Bradberry
66bc947adb
Reuse _import_list for import of related full objects
...
e.g. WFJT Nodes. Also rename _import_list from _create_assets.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
301f15bfdd
Rename some things for consistency
2020-06-09 13:54:05 -04:00
Jeff Bradberry
9fc1a4bb44
Change the method that exports list views to take a PageList or TentativePage
...
This will allow the related m2m views to also use this method, with a
bit of effort. Also, remove the use of pk_or_name in favor of a new
method that reduces the number of api calls.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
f7825aefeb
Avoid doing an OPTIONS call unless we know it is a related type we export
2020-06-09 13:54:05 -04:00
Jeff Bradberry
14b5f63bd8
Use the new PageCache to store and reuse Page.get results
2020-06-09 13:54:05 -04:00
Jeff Bradberry
1300d38e47
Introduce a new PageCache object
...
and split out get_post_fields into its own utility function.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
bb66e4633d
Split _get_options into two pieces
2020-06-09 13:54:05 -04:00
Jeff Bradberry
201de4e18a
Attempt to deal with foreign keys that get mislabeled as type integer
...
such as through the use of DeprecatedCredentialField.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
471dc2babf
Deal with relations that we cannot resolve
...
such as due to a lack of permissions. If there is a foreign key to
something where we don't have sufficient read permissions, we now drop
the parent object from the export.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6387258da1
Only wait for Project updates
...
not other kinds of objects that have a status.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6958815f6e
Remove the $encrypted$ placeholders from export values
2020-06-09 13:54:05 -04:00
Jeff Bradberry
43b76f4575
Deal with unreadable mandatory foreign keys
...
by dropping the parent object. Also, clarify some of the warning log
messages.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
53d81d42cc
Hook up creation and attachment of related objects
2020-06-09 13:54:05 -04:00
Jeff Bradberry
385725e52a
Fix the _create_assets method to use _get_options
2020-06-09 13:54:05 -04:00
Jeff Bradberry
1b264011a2
Enable interconnections between WFJT Nodes
2020-06-09 13:54:05 -04:00
Jeff Bradberry
719f0b407c
Enable credential relations
...
but only when it is in an attach/detach list view.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a5fa34bd3b
Fall back to parsing the OPTIONS description
...
to determine the needed fields for constructing an object.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
eb10a1873d
Drop objects that cannot be read or do not have a natural key
...
don't fail hard.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ab15349c8c
Remove the NoNaturalKey error
...
It's too awkward, and it makes more sense to return None instead.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e053a58223
Handle some more bad cases when doing OPTIONS calls
...
- deprecated endpoints
- read-only endpoints
- insufficient privileges
The latter case currently just drops it on the floor, but ought to do
something better.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
4262dd38ba
Change the NoNaturalKey exception to no longer derive from Common
...
which seems to be entirely use for response exceptions. Maybe rename
Common?
2020-06-09 13:54:05 -04:00
Jeff Bradberry
0deacc4391
If attempting to link to a resource that is not yet complete, wait
2020-06-09 13:54:05 -04:00
Jeff Bradberry
329293dbf0
Tentatively enable inventory sources
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e92c8cfdcc
Remove the natural key lookup dict and make each Page responsible instead
2020-06-09 13:54:05 -04:00
Jeff Bradberry
07ba521b8b
Enable schedules
2020-06-09 13:54:05 -04:00
Jeff Bradberry
972d3ab535
Export full related objects under some conditions
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a1f7d0b781
Fix a bug with inventory.variables
...
Using Page[key] instead of Page.json[key] causes inner json blob
strings to automatically get parsed, which is not what we want with
this field.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
30a3e3e172
Deal with lack of permissions
2020-06-09 13:54:05 -04:00
Jeff Bradberry
01d575f833
Enable the remaining top-level exportable resources
...
and rearrange the import/export methods a bit.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e0f6af4700
Enable the export of several relation field types
2020-06-09 13:54:05 -04:00
Jeff Bradberry
3860c7597f
Move the import logic into methods on the ApiV2 class
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e4146e9bc7
Move the export logic onto methods on the ApiV2 class
...
making it easier to invoke programmatically.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
19c92a7055
Enable notification templates
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6a9add4fe3
Deal somewhat reasonably with missing fields as part of the natural key
...
- JobTemplate.organization has recently been added, we need to support
with and without
- WorkflowJobTemplateNode is shortly going to get an identifier field,
and we will need to support both with and without
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ad574eb896
Enable credential export
2020-06-09 13:54:05 -04:00
Jeff Bradberry
55f79a4569
Fix a couple of flaws
...
- The dependency ordering may spit out page types that weren't in the import data set. Make sure to be able to map those to resources anyway.
- freeze() needs to be able to deal with nullable foreign keys.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
d20fa03034
Create new Import.dependent_resources method
...
that yields up resource names, even ones that aren't explicitly in the
import data, in dependency order.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
868aafb263
Filter out managed credential types
...
since we cannot patch them upon import.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
3f204659a8
Temporarily disable export of resources that may not work yet
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ea5b810e87
Sort the asset groups to be imported by their dependency relationships
2020-06-09 13:54:04 -04:00
Jeff Bradberry
2c00d42ced
Only use a default password if an import user doesn't already exist
2020-06-09 13:54:04 -04:00
Jeff Bradberry
d191edcaf1
Fix a Python 2 syntax error
...
it doesn't like multiple **kwargs, apparently.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
65e16dc7ae
Get and assign the related objects
2020-06-09 13:54:04 -04:00
Jeff Bradberry
95b22bf05b
Begin to deal with existing matching assets
...
by using a registry allowing the lookup of Page objects by (frozen)
natural keys.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
21e36ad19a
Add the calculated natural key to the export data for each asset
2020-06-09 13:54:04 -04:00
Jeff Bradberry
f53920d3bf
Begin changing Import to work with the structure created by Export
2020-06-09 13:54:04 -04:00
Jeff Bradberry
372570ce8e
Extract out get_natural_key as a standalone function
2020-06-09 13:54:04 -04:00
Jeff Bradberry
6f28361bf5
Make serialize_asset use Pages to a greater extent
2020-06-09 13:54:04 -04:00
Jeff Bradberry
0877e5305c
Modify get_natural_key to work on Pages
2020-06-09 13:54:04 -04:00
Jeff Bradberry
e4383c505f
Make more use of the functionality of Page in get_assets
...
and related methods. Also, rename get_resource_options -> get_options
and enhance_asset -> serialize_asset.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
fb066eb52e
Fold the other methods doing API calls into get_assets()
2020-06-09 13:54:04 -04:00
Jeff Bradberry
6162ff0439
Start to record the role membership
...
but not really, since it still isn't fully capturing the role content_object
2020-06-09 13:54:04 -04:00
Jeff Bradberry
dfe34563aa
Resolve the natural keys of assets we've already collected
2020-06-09 13:54:04 -04:00
Jeff Bradberry
37cbf7691b
Split out separate methods for the OPTIONS call and massaging each asset dict
2020-06-09 13:54:04 -04:00
Jeff Bradberry
9280198b0f
Use a list of exportable resources to build up the parser
...
Also, handle an implicit export of everything.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
2127f3c96d
Add organizations as a resource type to export
2020-06-09 13:54:04 -04:00
Jeff Bradberry
9f7fecf8da
Add basic import command
2020-06-09 13:54:04 -04:00
Jeff Bradberry
c1a07ff00b
Limit export output to only those fields needed to create the resource
2020-06-09 13:54:04 -04:00
Jeff Bradberry
f21d6b1fc4
Actually query the API for the user or users requested
2020-06-09 13:54:04 -04:00
Jeff Bradberry
4312395a3a
Normalize the requested resource into a pk
...
using the pk_or_name helper function. Also, authenticate to the API.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
c1f6fec532
Add skeleton of a custom 'export' resource
...
This only takes a flag for users at the moment, and does nothing in
particular with it.
2020-06-09 13:54:04 -04:00
Jeff Bradberry
ced8f42835
Force worker processes to have a different signal handler from the parent
...
Situations have come up where the 5+ minute kill signal for
run_task_manager is emitted to the worker process running it, but
since the worker improperly inherited the AWXConsumerBase().stop()
handler a deadlock ultimately was triggered on the database
connection.
2020-06-04 15:41:28 -04:00
Jeff Bradberry
6b3befcb94
Optionally add the webhook_credential link to related
...
on JTs and WFJTs.
2020-03-26 16:07:14 -04:00