Where are stored "Advanced configuration" parameters


#1

Hello,
we have multi appliance deployment with distributed roles between appliances.

For appliances with UI role we are able to set custom parameters into “Advanced Configuration”, as http_proxy.
How can we define the “advanced Configuration” parameters for other appliances? As in UI the “Advanced Configuration” tab is shown only for appliance where I am connected. Additionally, changed parameter is valid only for that specific appliance, where was configured.

I found parameter file “/var/www/miq/vmdb/config/settings.yml” but In case I change parameter through UI, it is not changed.

Thanks in advance.


Get web proxy info in automation states
#2

I would recommend keeping the WebUI role enabled for all appliances, even though you don’t intend your users to login to them. In this way at least you (or other administrators) can connect to each appliance directly and change things like the Advanced Configuration parameters.

Hope this helps,
pemcg


#3

Hi Peter,

I hoped there is some central store for advanced configuration. Luckily we have opened https connectivity to all appliances and can enable WebUI role on ad-hoc basis :slight_smile:

Thanks for message!
V.


#4

Advanced Configuration" doesn’t modify settings.yml since darga IIRC.
Now, it stores the settings you changed — and only those — in settings_changes database table.
Those you didn’t change will be taken from settings.yml, which is generally the right thing when upgrading ManageIQ. There is also support for merging several other yml files.
(Configuration Revamp Phase 1 #7432 explains the technical details. The has been more PRs but the overall design remains AFAIK.)

So technically yes these is a central store for configuration (per DB == per region).
One could write the setting to settings_changes for each of the appliances, then notify them to reload settings (not sure if there is easier way than restart?). Yeah, doing it via WebUI sounds safer :slight_smile:

I heard plans to add REST API for settings (don’t see one in API docs) and use it to build centralized config UI, even cross. Don’t know if any of this happened.


#5

I’d be very interested in some sort of API or CLI that could be used to view and modify configurations and settings.

My use case is automated deployments and configuration management using ansible and puppet.

Example:

Server 1 has a “UI” server role. This means that he needs configurations A, B and C

Server 2 has a “Database” server role. This means he needs configurations A and D

Server 3 has a “Worker” server role. This means he needs configurations A and W


#6

Hmm, there is http://localhost:3000/api/settings but all I’m getting is {"product":{"maindb":"ExtManagementSystem","container_deployment_wizard":false,"datawarehouse_manager":false}}.
It’s constrained to only product in config/api.yml, and read-only.

Ooh, @dkorn has WIP PR to expand that, and make it read-write: https://github.com/ManageIQ/manageiq/pull/12814

Then we could add an ansible module for MIQ settings https://github.com/dkorn/manageiq-ansible-module/.