Commit Graph
100 Commits
Author SHA1 Message Date
Rebeccah Hunter bd7635e74e Merge pull request #13146 from ansible/dedup-timeout
de-duplicate default settings
2022-11-01 16:47:00 -04:00
Rebeccah Hunter 50614b961e Merge pull request #13001 from kdelee/moooore-dashboard
Moooore 🐮 dashboard
2022-10-12 14:08:17 -04:00
Rebeccah Hunter 6b86c450b1 Merge pull request #12967 from rebeccahhh/fix_grafana_dashboard
I Grafana's dashboard visuals, so now I am fixing it.
2022-09-28 08:09:06 -04:00
Rebeccah eaad749cc9 I broke grafana with my rename, so now I'm fixing it, and adding a better name in overall that is less focused on alerts. 2022-09-27 11:58:43 -04:00
Rebeccah Hunter a66b27edff Merge pull request #12908 from rebeccahhh/devel
new example grafana alert rule
2022-09-26 10:49:49 -04:00
RebeccahandElijah DeLee 88f0ab0233 add new alert rule for when error rate is over a certain rate, also fix
typo in URL and in grafana alert rule

Important learning: no newlines in rules/equations

turns out datasourceUid can be set in prometheus_source.yml, and it can be anything we want. So I have set it to awx_alert, the PBFAnumbersetc value it was set to before was an autogenerated UID, and it would actually work just with that generated value, but because we want it to make sense, we're setting the value in prometheus_source.yml

finally, update the docs to be reflective of grafana docs and how to export new rules a user might want to add.

Co-authored-by: Elijah DeLee <kdelee@redhat.com>
2022-09-23 15:05:57 -04:00
Rebeccah Hunter 67f1ab2237 Merge pull request #12609 from john-westcott-iv/oracle_awx_triage_reply
Adding triage response for inquaries around Oracles version of AWX
2022-08-01 13:53:02 -04:00
Rebeccah Hunter 76ffdbb993 Merge pull request #12308 from rebeccahhh/job_event_lag
Metrics for callback receiver job event lag
2022-06-07 11:50:17 -04:00
Rebeccah 5f9326b131 added average event processing metric (in seconds) that can be served to
grafana via prometheus.

This metric is a good indicator of how far behind the callback receiver
is. The higher the load the further behind/the greater the number of
seconds the metric will display.

This number being high may indicate the need for horizontal scaling in
the control plane or vertically scaling the number of callback
receivers.
2022-06-06 15:14:56 -04:00
Rebeccah Hunter 0d97a0364a Merge pull request #12170 from ansible/give_us_the_deets
Update triage_replies give us more info
2022-05-09 15:22:57 -04:00
Rebeccah Hunter b73078e9db Merge pull request #11373 from rebeccahhh/fix-settings_cache_threading_awx
add lock to cachetools usage
2022-05-09 13:56:16 -04:00
Rebeccah Hunter 507b1898ce Update triage_replies.md 2022-05-04 15:28:28 -04:00
Rebeccah HunterandAlicia Cozine a3e29317c5 default saved replies for triages (#12047)
* create a singular page with listed replies that can be copy and pasted for mailing list and bug scrub purposes

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
2022-04-18 16:28:22 +00:00
Rebeccah Hunter ac8204427e Merge pull request #11914 from ansible/instances_list_filtering
add ID as default filter if no other filtering criteria is provided as well as some tests that should cover order integrity for future scenarios
2022-04-08 18:24:41 -04:00
Rebeccah f6b8ce18d0 I don't think these tests actually add anything, so I am removing them even though I wrote them in the first place. 2022-04-08 18:04:34 -04:00
Rebeccah 44cc934c2b add projects to test that ordering functions correctly and when it gets a value it cannot order by it falls back to ID
add tests that check ordering for projects, organizations, inventories, groups, and hosts
2022-04-08 17:18:57 -04:00
Rebeccah 933956eccb have instances be filtered by ID in case of no filtering criteria passed in
and then switch from using order by ID as a fallback for all ordering and instead
just set instances ordering to ID as default to prevent
OrderedManyToMany fields ordering from being interrupted.
2022-04-08 17:01:58 -04:00
Rebeccah 6b60edbe5d filter out both hop and control nodes instead of just one or the other 2022-02-16 18:32:41 -05:00
Rebeccah Hunter b26c1c16b9 Merge pull request #11728 from ansible/node_state_unhealthy_to_error
[mesh viz] change the term unhealthy to error
2022-02-11 16:02:43 -05:00
Rebeccah c2bf9d94be change the term unhealthy to error 2022-02-11 15:42:33 -05:00
Rebeccah Hunter 96a5540083 Merge pull request #11632 from ansible/minikube-docs-part-2
update minikube dev env docs with newer keywords for instantiate-awx-deployment.yml
2022-02-09 11:44:43 -05:00
Rebeccah Hunter 848ddc5f3e Merge pull request #10912 from rh-dluong/add_org_alias_to_org_mapping
Add organization_alias to Org Mapping as intended
2022-02-01 11:44:48 -05:00
Rebeccah a9f4f53f92 change logical ANDs into logical ORs for filtering based on status in the JobsList 2021-12-15 15:15:33 -05:00
Rebeccah Hunter 0ae67edaba Merge pull request #11267 from ziegenberg/add-tests-for-webhook-notifications
Add unit tests for webhook notifications
2021-11-11 09:55:38 -05:00
Rebeccah Hunter b5fac4157d Merge pull request #11281 from ziegenberg/update-docs-to-include-openssl-as-requirement
add OpenSSL to the list of prerequisites
2021-11-01 13:02:52 -04:00
Rebeccah Hunter e447b667e5 Merge pull request #11246 from ziegenberg/fix-http-headers-for-rocketchat-notifications
Use the AWX HTTP client headers for rocketchat notifications
2021-10-27 10:20:58 -04:00
Rebeccah Hunter e5dbb592fa Merge pull request #11074 from rebeccahhh/no_duplicate_uuids
prevent duplicate UUIDs from being created and allow users to update hostnames based on uuid
2021-09-24 11:52:55 -04:00
Rebeccah a9f4011a45 defensive code for getting instance added, also simplified nested if
statements, rewrote some comments add a logger warning that the instance is being grabbed by the hostname and not the UUID
2021-09-21 16:54:11 -04:00
Rebeccah 55f2125a51 if the user provides a uuid and it exists, allow that to tie to the instance, which allows the user to update the instance based on the UUID (includeding updating the hostname) should they choose to do so. 2021-09-21 16:54:11 -04:00
Rebeccah Hunter d89719c740 Merge pull request #10757 from rebeccahhh/instance_node_type
add a node_type field to the instance model
2021-07-28 17:52:27 -04:00
Rebeccah fd6ce66906 edit the provision_instance awx-manage command to include node_type when provisioning a new instance. 2021-07-26 16:36:44 -04:00
Rebeccah f11b73da12 update node_type to be read-only 2021-07-26 16:13:57 -04:00
Rebeccah 706f3f97ea add a new field to the instance model for use with receptor changes (incoming) 2021-07-26 15:53:56 -04:00
Rebeccah baade775ab remove changes to root.py to keep the custom virtualenvs listed in api/config 2021-06-04 09:11:23 -04:00
Rebeccah bd2da80cea restructure so the -q is actually completely quiet 2021-06-04 09:11:22 -04:00
Rebeccah 550ab82f63 add the conditionals for incorrect paths and helpful info for if a user does that
and remove unused import
2021-06-04 09:11:22 -04:00
Rebeccah cece7ff741 add a -q flag to make scripting easier and general improvements for readability 2021-06-04 09:11:22 -04:00
Rebeccah c0b812c47a split unified job templates out into jts and projects because workflows
don't have custom virtualenvs & rename file so the command is shorter

update copypasta and add sanity check
2021-06-04 09:11:22 -04:00
Rebeccah b256e5b79d adding in a 3rd command that shows the associated templates, orgs, and invs the venv is tied to 2021-06-04 09:11:22 -04:00
Rebeccah 2ed3038a5c fixed what would be a rather embarrassing misspeeeling 2021-06-04 09:11:21 -04:00
Rebeccah 779ca8b260 split the one command into two for clarity and remove unused imports 2021-06-04 09:11:21 -04:00
Rebeccah dfaa69be51 add an awx-manage command that gets pip freeze data from custom_venvs and outputs to command line stdout
remove analytics tests for counts of custom venvs, bump collector version, and remove list of custom venvs from API
2021-06-04 09:11:16 -04:00
Rebeccah 0d2ab5f61e add in OR to the UI label for editing a registry credential 2021-04-13 11:54:44 -04:00
Rebeccah e61d0c5cb7 credential validation for execution envs to allow only registry credentials to be associated with them, also adding security precautions for authfile and password, also combined token & password into one term to align with Quay, and added handling to account for users not filling in credential data and add a has_inputs function to simplify checking if the host, username, and password are present in the credential 2021-04-13 11:54:33 -04:00
Rebeccah 7c57aebd46 if there is a credential associated with an EE, create a JSON structure and write it to a file, then use that file to pull from protected registries from quay and edit the credential type for registries so that they combine the password and token fields into one field 2021-04-13 11:50:29 -04:00
Rebeccah 4d2fcfd8c1 add a functional test for creating an EE, remove bum copy function because it's not needed, copy works from the base class
moved AWXKit pull additions to separate PR and made some changes that were causing linting errors in tests and add copy to show_capabilities for the ee serializer
2021-03-03 18:52:55 -05:00
Rebeccah 0921de5d2b adding needed url endpoint for copy functionality and the beginning of some testing that can be fleshed out more fully in later work 2021-03-03 18:52:55 -05:00
Rebeccah 41fb21911e add execution_environment_admin_role to the an organizations read role, which access.py uses for determining access to reading an ee within an organization,
add migration file for execution_env_admin role addition to read_roles within an organization,

and set check related to mandatory
2021-03-03 18:52:55 -05:00
Rebeccah eaa74b40c1 add org admins as able to control EEs even if they don't have the ee_admin role for the specific ee and prevent managed_by_tower EEs from being edited/deleted 2021-03-03 18:52:55 -05:00
Rebeccah b1361c8fe2 edit original migration file, add blank string as acceptable to model 2021-03-03 18:52:55 -05:00
Rebeccah 20ee73ce73 default pull options for container images to None, also adding pull options to awxkit 2021-03-03 18:52:55 -05:00
Rebeccah 4b40cb3abb changed the field name from 'container_options' to simply 'pull' 2021-03-03 18:52:55 -05:00
RebeccahandShane McDonald 31e7e10f30 migration for container options for EE model
Co-authored-by: Shane McDonald <me@shanemcd.com>
2021-03-03 18:52:55 -05:00
Rebeccah 92f0af684c execution model pull container options added 2021-03-03 18:52:55 -05:00
Rebeccah ee111be261 move away from signals towards the origin of the POST to see if I can impact the data sent within the POST so that it can impact the User model, this may not work because the POST is related only to the Roles model 2020-12-10 12:26:31 -05:00
Rebeccah b3f15a1e61 added function in signals to corroborate the RBAC to the database, prior it was only corroborating from the DB to RBAC and we need both ways 2020-12-10 12:26:31 -05:00
Rebeccah a929e82060 replacing capabilities prefetch definition with empty braces and removing the dunder. Explanation: Originally _capabilities_prefetch was populated with: ['admin', 'execute', {'copy': ['jobtemplate.project.use', 'jobtemplate.inventory.use', 'organization.workflow_admin']}]
This was problematic because it was overwriting the original values that had been defined in the other serializers. Additionally, there are no other dunders for other capabilities prefetch
this was likely added because UnifiedJobTemplateSerializer does not have it's own capabilities, but rather derives them from JTSerializer and WFJTSeralizer, but it worked better without the dunder once I removed the data that was overwriting the data from the WFJT and JT serializers.
2020-10-20 11:58:53 -04:00
Rebeccah 5df37d4279 switched exit_json to be fail_json so it didn't trigger an error when attempting to utilize the missing_required_lib from ansible. Additionally fixed it for the second usage for correct usage. Given that it is an exception the correct one would not be to exit without failure, as exit_json does, but instead to use fail_json and be able to present the error 2020-10-01 18:28:26 -04:00
Rebeccah 9a6f641df0 adding in inventory to unified job query for analytics 2020-08-26 16:32:02 -04:00
Rebeccah 118e1b8df1 removing memchache mentions in comments
remove memcached folder as it is no longer needed, also address a couple grammatical errors
2020-06-18 15:52:59 -04:00
Rebeccah d7f9e66710 added changelog entry 2020-06-09 11:09:04 -04:00
Rebeccah 60800d6740 add license file for django-redis 2020-06-09 10:24:23 -04:00
Rebeccah 02cf4585f8 remove memcache license file 2020-06-09 10:24:23 -04:00
Rebeccah 669d4535b1 adding isolate db location and ingore for django_redis exceptions 2020-06-09 10:24:23 -04:00
Rebeccah HunterandShane McDonald b09d9cbe41 removed django-redis as a dependency
Co-authored-by: Shane McDonald <me@shanemcd.com>
2020-06-09 10:24:23 -04:00
Rebeccah d2bbe7aa1a remove memcache from everywhere and add djagno-redis to cover it 2020-06-09 10:24:23 -04:00
Rebeccah 867475ad49 added in (what I believe to be) the correct links 2020-04-28 14:14:40 -04:00
Rebeccah 5bfe89be6e removed the to_representation and replaced with get_summary_fields per suggestion in PR comments 2020-03-23 14:57:07 -04:00
Rebeccah 47661fad51 added in summary fields into logging which will solve several issues related to needing more data in logging outputs 2020-03-23 14:57:07 -04:00
Rebeccah 457dc956f1 added a check for the field of finished making sure it's not none, and then breaking the DateTime function 2020-03-04 15:56:46 -05:00
Rebeccah 07752f48f6 formatted finished time to match microsecond expected output as is in the API. 2020-03-03 11:05:28 -05:00
Rebeccah e11ff69f3e Added in check for the unified_job_template_id attribute to be present and populated in the object.
For anyone reading this later, know that AdHocCommands still have unified_job_template and unified_job_template_id fields, they are just nonetypes because they don't get used by the AdHocCommand objects. Which means you have to actually get the object, not just check that it's there, to use it the way I am in this change.
2020-03-03 11:05:28 -05:00
Rebeccah 6d6d99bcf8 fixed the spelling of cancelled to be canceled, note to us later -> we need to stick with a single spelling of the word 2020-03-03 11:05:28 -05:00
Rebeccah 1fe28463da added finished job timestamp to websocket emit 2020-03-03 11:05:28 -05:00
Rebeccah 98f5525d28 added unified job template ID to websocket emits 2020-03-03 11:05:28 -05:00
Rebeccah eca516f8ce removed 'self' from positional arguemnt of workflow attribute 'all_parents_must_converge' per Alans suggestion, since django takes it to be verbose_name, which is not needed 2020-02-05 17:38:36 -05:00
Rebeccah fd60cd1a35 fixed copy functionality to include convergence as is instead of reseting ALL nodes to be default ANY nodes 2020-02-05 15:34:54 -05:00
Rebeccah ad8bcd0de2 moved migration dependency from 0106 to 0107 2020-02-05 14:28:35 -05:00
Rebeccah fdc29eebb7 expanded unit test to include 3 root nodes meeting on a convergence node and successfully marking that to node. 2020-02-05 14:28:35 -05:00
Rebeccah 63ae2cac38 Jake McDermott found some behavior that revealed a logical bug that would have caused issues later with ALL convergence nodes in sequential order via the API, although not the UI, and was causing existing issues with Root Nodes spawning repeatedly. To fix this I refactored the code from marking DNR nodes into it's own function that checks parents convergence criteria and leveraged that in bfs_nodes_to_run so that root nodes and convergence nodes can be differentiated but both can be correctly processed, also so that children of convergence nodes can be properly traversed by the function 2020-02-05 14:28:35 -05:00
Rebeccah 4e787cc079 made marking nodes as DNR more 'eager', added more unit tests, and added convergence check to bfs_nodes_to_run with new changes to the eagerness of DNR marking since it needs it to prevent convergence nodes from running too quickly 2020-02-05 14:28:35 -05:00
Rebeccah a419547731 redid some formatting and syntax per personal preferences, comments on PR, and suggestions from @jrb 2020-02-05 14:28:35 -05:00
Rebeccah 1b3fbee38d workflow convergence toggle migration 2020-02-05 14:28:35 -05:00
Rebeccah 6d2a2ab714 drastically improved performance by removing unnecessary iteration over children of parent nodes, additionally added an extra check that the node didn't already have a job so that it wasn't cycling over nodes that had already run when running through all_nodes 2020-02-05 14:28:35 -05:00
Rebeccah 82dd4a3884 remove node_object comparison and use the full dict to eliminate issues comparing obj and compare instead the whole node object with the node objects in the list 2020-02-05 14:28:35 -05:00
Rebeccah 86a39938fe fixed issue where successful convergence wasn't being met due to the not quite correct leveraging of get_children 2020-02-05 14:28:35 -05:00
Rebeccah 70cf4cf5d4 added in handling for a parent being DNR so status is only checked if the parent isn't a DNR parent (in which case the parent has no status, which was breaking the logic) also edited a comment and added in a DNR check that @alancoding suggested to cut out duplicates in the DAG list 2020-02-05 14:28:34 -05:00
Rebeccah 2d3172f648 added in support for existing workflow unit tests 2020-02-05 14:28:34 -05:00
Rebeccah b2c33e3204 redid migration dependency 2020-02-05 14:28:34 -05:00
Rebeccah f7f648b956 included all_parents_must_converge in the get_workflow_job_fieldnames so that the true/false is copied into the job node and not just in the template node. Also added in the migration for the DB, also relocated logic from bfs_nodes_to_run down into mark_dnr_nodes to prevent nodes not being marked as DNR but not being marked to run, causing them to run anyways 2020-02-05 14:28:34 -05:00
Rebeccah 780f104ab2 shifted from dependants/dependencies to children/parents for clarity in function names, also added in toggle logic 2020-02-05 14:28:34 -05:00
Rebeccah 4c35adad6c added logic to include workflow convergence nodes to nodes to run or not run based on their parents successful statuses 2020-02-05 14:28:34 -05:00
Rebeccah cf24c81b3e updated syntax from python2 to 3 2020-02-05 14:28:34 -05:00
Rebeccah 6f38edf9a3 add in testing to see that when an instance group is containerized that the policy field values are set to default 2019-11-12 13:13:34 -05:00
Rebeccah 1f05372ac9 change the logic to not break existing policy_instance testing 2019-11-12 13:13:34 -05:00
Rebeccah d0327fc044 added onto the when saved function for instance groups that sets policy variables to their default. 2019-11-12 13:13:34 -05:00
Rebeccah e4a21b67c7 remove u markers in assertion statements, they are unnecessary in python3 2019-10-30 15:52:14 -04:00
Rebeccah 2e6c484a50 added in testing for updating(or not allowing updates of) policy_instance variables in instance and container groups 2019-10-30 15:51:55 -04:00
Rebeccah 54ac1905b3 pinning pytest-mock to version 1.11.1 2019-10-29 11:24:16 -04:00
Rebeccah 220354241b added in check to see if the the current check has an instance or not to prevent nonetype errors 2019-10-29 11:24:15 -04:00