Jeff Bradberry
d45e258a78
Wait until the end of the fix script to clean up orphaned roles
2024-06-10 16:36:22 -04:00
Jeff Bradberry
d16b69a102
Add output of the update and deletion counts to fix.py
2024-06-10 16:36:22 -04:00
Jeff Bradberry
8b4efbc973
Do not throw away the container of cross-linked parents
...
Since we use it twice, the second time to get the id field of each.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
4cb061e7db
Add a readme file with instructions
2024-06-10 16:36:22 -04:00
Jeff Bradberry
31db6a1447
Fix another instance where a bad resource->Role fk could throw a traceback
2024-06-10 16:36:22 -04:00
Jeff Bradberry
ad9d5904d8
Adjusted foreignkeys.sql for correctness
...
Some relationships known to be handled by the special mapping sql file
were being caught as false positives.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
b837d549ff
Split the foreign key sql script into an 'into' and 'from' portion
...
Also, make use of up-front defined arrays of the tables involved, for
ease of editing in the future.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
9e22865d2e
Filter out the relations within the known topology tables
2024-06-10 16:36:22 -04:00
Jeff Bradberry
ee3e3e1516
First cut at detecting which foreign keys enter and exit the topology tables
2024-06-10 16:36:22 -04:00
Jeff Bradberry
4a8f6e45f8
Move the "test" files into their own directory
2024-06-10 16:36:22 -04:00
Jeff Bradberry
6a317cca1b
Remove the role_chain.py module
...
it wound up being unworkable, and I think ultimately we only need to
check the immediate parentage of each role.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
d67af79451
Attempt to correct any crosslinked parents
...
I think that rebuild_role_ancestor_list() will then correctly update
all of the affected Role.ancestors.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
fe77fda7b2
Exclude more files in the .gitignore
2024-06-10 16:36:22 -04:00
Jeff Bradberry
f613b76baa
Modify the role parent check logic to stay in the roles as much as possible
...
since the foreign keys to the roles from the resources can make us go
wrong almost immediately.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
054cbe69d7
Exclude the team grant false positives
...
The results in my test now look correct.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
87e9dcb6d7
Attempt to more thoroughly check the parents of each Role
...
This version, however, has false positives because Roles become
children of Team.member_role when a Role is granted to a Team.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
c8829b057e
First cut at checking the role hierarchy
...
Checking if parents and implicit_parents are consistent with ancestors.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
a0b376a6ca
Set up a scenario where IG.use_role_id points to something no longer there
...
This is actually happening for one customer, though it seems like it
shouldn't be if the foreign key constraint is set back up properly.
In order to recreate it, I had to add the constraint back with 'NOT
VALID' added on to prevent the check.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
d675207f99
Handle the case where a resource points to a Role which isn't in the db
2024-06-10 16:36:22 -04:00
Jeff Bradberry
20504042c9
Graph out only the parent/child chains from a given Role
...
Doing the entire graph is too much on any system with real amounts of Roles.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
0e87e97820
Check for a broken ContentType -> model and log and skip
...
Apparently this has happened to a customer, per Nate Becker.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
1f154742df
Make the role_chain.py script emit a Graphviz file
...
of the Role relationships.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
85fc81aab1
Start a new script that can be used to examine a Role's ancestry
2024-06-10 16:36:22 -04:00
Jeff Bradberry
5cfeeb3e87
Treat resources with null role fks differently
...
The underlying role should be re-linked, instead of treated as orphaned.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
a8c07b06d8
Set up an enhanced version of Seth's bad role scenario
2024-06-10 16:36:22 -04:00
Jeff Bradberry
53c5feaf6b
Set up Seth's bad role scenario
2024-06-10 16:36:22 -04:00
Jeff Bradberry
6f57aaa8f5
When checking reverse links, treat duplicate Roles different from bad ones
...
Also, null out the generic foreign key on orphaned roles before deleting.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
bea74a401d
Attempt to be more efficient about grouping the content types
...
Also, attempt to rebuild the role ancestors in the fixup script.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
54e85813c8
First full check script
...
This version emits the first fix-up script as its output.
2024-06-10 16:36:22 -04:00
Jeff Bradberry
b69ed08fe5
Specifically examine the InstanceGroup roles
2024-06-10 16:36:22 -04:00
Jeff Bradberry
de25408a23
Print out details of all of the crosslinked roles
2024-06-10 16:36:22 -04:00
Jeff Bradberry
b17f0a188b
Initial check
2024-06-10 16:36:22 -04:00
Julen Landa Alustiza
8c9c02c975
awxkit: allow to modify api base url ( #14835 )
...
Signed-off-by: Julen Landa Alustiza <jlanda@redhat.com>
2024-02-07 12:26:42 +01:00
Hao Liu
6440e3cb55
Send SIGKILL to rsyslog if hard cancellation is needed
2023-12-14 10:41:48 -05:00
Hao Liu
6e5e1c8fff
Recover rsyslog from 4xx error
...
Due to https://github.com/ansible/awx/issues/7560
'omhttp' module for rsyslog will completely stop forwarding message to external log aggregator after receiving a 4xx error from the external log aggregator
This PR is an "workaround" for this problem by restarting rsyslogd after detecting that rsyslog received a 4xx error
2023-12-14 10:41:48 -05:00
Alan Rominger
8feeb5f1fa
Allow saving github creds in user folder ( #14435 )
2023-09-12 15:47:12 -04:00
John Westcott IV
07e30a3d5f
Refined release documentation ( #14221 )
2023-07-10 19:45:34 +00:00
John Westcott IV
a665d96026
Replacing psycopg2.copy_expert with psycopg3.copy
2023-06-14 17:40:15 -04:00
John Westcott IV
e47d30974c
Removing psycopg2 references
2023-06-14 17:40:15 -04:00
lucas-benedito
434595481c
AAP-8038 - enable/disable services on reboot ( #13415 )
...
Co-authored-by: Lucas Benedito <lbenedit@redhat.com>
2023-05-31 19:24:30 +00:00
Alan Rominger
85e7189ee3
Add error handling to scm_version.py script ( #13521 )
...
raise Exception in the case that return code is non-zero
this approach has shown itself to be the most consistently reliable across multiple ecosystems
2023-05-10 14:20:56 -04:00
Shane McDonald
0d097964be
Automatically install setuptools-scm in script called from Makefile
2022-07-22 12:59:39 -04:00
Aditya Mulik
df38650aee
Localization Scripts for AWX UI & API
2022-07-08 11:44:56 -04:00
Shane McDonald
6a3f9690b0
Remove setup.py entirely
2022-06-27 14:15:32 -04:00
Shane McDonald
cbea36745e
Transition from setup.py to setup.cfg
2022-06-27 13:30:01 -04:00
John Westcott IV
593eebf062
Adding awx_ as well as tower_ variable names for webhooks ( #11925 )
...
Adding utility to ease testing webhooks from command line
Modifying all variables to use a constants list of variable names
2022-03-24 11:58:15 -04:00
Jeff Bradberry
028f09002f
Fix the cleanup_jobs management command
...
It previously depended on a private Django internal class that changed
with Django 3.1.
I've switched here instead to disabling the django-polymorphic
accessors to get the underlying UnifiedJob object for a Job, which due
to the way they implement those was resulting in N+1 behavior on
deletes. This gets us back most of the way to the performance gains
we achieved with the custom collector class. See
https://github.com/django-polymorphic/django-polymorphic/issues/198 .
2022-03-07 18:11:36 -05:00
Jeff Bradberry
04568ea830
Fix the firehose job creation script
...
to account for the changes made due to the job event table partitioning work.
2022-02-09 09:49:17 -05:00
Sarabraj Singh
ec7e4488dc
adding event handler specific to when awx-rsyslog throws PROCESS_LOG_STDERR errors based on 4XX http errors; increased clarity in stderr log messages; removed useless None intializations
2022-02-04 11:18:45 -05:00
Satoe Imaishi
ac540d3d3f
Remove tower-setup script - no longer used
2022-02-01 12:51:02 -05:00