ansible / awx

AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.
Other
13.97k stars 3.41k forks source link

Remove 'variables' section from inventories/ api endpoint #4840

Open gamuniz opened 5 years ago

gamuniz commented 5 years ago
ISSUE TYPE
SUMMARY

If using the UI to manage top level inventory variables having a large list of variables can cause performance issues across the network. In some cases the calls are generating 7.2 MB worth of data on every job launch prompt.

This data is already provided in the related section and is extraneous on the inventories/ endpoint

ryanpetrello commented 5 years ago

Only downside is that this represents a backwards-incompatible API change.

@gamuniz are you saying we should remove this from the list view? We're probably not likely to remove it from the detail view.

wenottingham commented 5 years ago

I would note that we include extra_vars on the list view for both jobs and job templates, which is a similar source of unbounded data.

gamuniz commented 5 years ago

@ryanpetrello Yeah the list view is what we're currently using to populate the launch on prompt for inventories, having multiple job templates each prompting for inventories can cause several calls to inventories/ which loads all data as @wenottingham mentioned currently its unbounded data. If removing the variables causes incompatible api changes, perhaps changing the query used in prompts would work.