Ask Your Question
0

kolla-ansible how to manage/modify configuration files

asked 2018-04-07 10:11:58 -0600

theque42 gravatar image

updated 2018-04-11 02:26:11 -0600

How are you supposed to manage(i.e MODIFY/UPDATE) service configuration files in a deployed cloud and its containers?

The latest documentation hardly says anything about the command kolla-ansible genconfig, but my successfully(?) deployed cloud(about 1 out of every 10 attempts), still doesnt have a policy.json file configured for keystone?! How can such an important file be missing? What else is missing that I have to add manually??

Should I run "genconfig"? What is its purpose? What about the reconfigure action?

What I was initially after was enabling domain-specific logic in horizon/dashboard, but I get the feeling that the r/w files in the containers /etc/openstack-dashboard/ are NOT used, since I can find a reference to

"Binds": [
                "kolla_logs:/var/log/kolla/:rw",
                "/etc/localtime:/etc/localtime:ro",
                "/tmp:/tmp:rw",
                "/etc/kolla//horizon/:/var/lib/kolla/config_files/:ro"
            ],

with "docker inspect", and in the HOST i have a /etc/kolla/horizon/ with additional files. I've been trying to read up on docker volumes and bind mounts, but I wish that kollas OWN documentation could at least say SOMETHING about how I reconfigure a service and restart with that new service configuration?

I was thinking about using the /etc/kolla/config/ directory for deploying different settings for horizon, but wondering if this is supported for the local_settings file for horizon, since it doesn't follow the same syntax as the normal [Default]-type config files. And since I found the documentation saying:

As of now kolla only supports config overrides for ini based configs. // Queens docs

But the simple question, if I just want to change a simple .conf files, or add the policy.json file to keystone, WHERE should I add it, and what commands should I run, to integrate/activate it, into what I assume would be a restarted container?

Surely I cant be the FIRST to want to do this?!? TQ

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2018-04-11 08:35:01 -0600

Hi,

kolla-ansible genconfig only generates the configuration files/ merge with your own configs and put it in the remote hosts. After genconfig need to restart the containers.

Custom config options

To implement custom options into config files, a folder in your deployment node with the following layout is required:

Assuming a change to nova.conf

  1. /etc/kolla/config/nova.conf (apply change to all nova services/hosts)
  2. /etc/kolla/config/<inventory_hostname>/nova.conf (apply change to nova.conf in specific host)
  3. /etc/kolla/config/nova-compute/nova.conf (apply change to all nova-compute containers)

This only apply to INI type files.

After adding your custom configs will need:

  • kolla-ansible reconfigure (Apply change and restart required containers)
  • kolla-ansible genconfig and restart manually the containers

Policy.json

All services using policy.json uses defaults defined in the project code base. We do not apply our own policies, however we allow users to add their own full policy.json or policy.yaml file into the containers.

To copy your custom policy.json file, put it at /etc/kolla/config/<service>/policy.json, in example /etc/kolla/config/neutron/policy.json. Then do a kolla-ansible reconfigure (or deploy if first installation).

Documentation on how to customize the services and policy.json are at: https://docs.openstack.org/kolla-ansible/latest/admin/advanced-configuration.html#openstack-service-configuration-in-kolla

edit flag offensive delete link more

Comments

Thanks a bundle! I did find (and updated my question) parts of the information you gave me, and unfortunately it doesnt solve my exakt problem, since I wanted to tweak the configuration of local_settings, used by horizon.

theque42 gravatar imagetheque42 ( 2018-04-11 08:56:23 -0600 )edit

It seems though that editing the <node>:/etc/kolla/<component <config-file="">, and then restarting the relevant docker container, will copy that config file into the container, from the docker volume. If i just now could get rid off the continuous issue with mysql problems during deploy....

theque42 gravatar imagetheque42 ( 2018-04-11 08:57:47 -0600 )edit

local_settings is a python file, not an INI, is not possible to make merge config files now. For now there is not a clean option to add new options into the file, a change is being worked. The only way to put your config is with whole file.

Eduardo Gonzalez gravatar imageEduardo Gonzalez ( 2018-04-11 09:20:59 -0600 )edit
1
  • "{{ node_custom_config }}/horizon/{{ inventory_hostname }}/local_settings"
    • "{{ node_custom_config }}/horizon/local_settings"
  • "local_settings.j2"
Eduardo Gonzalez gravatar imageEduardo Gonzalez ( 2018-04-11 09:21:03 -0600 )edit

Regarding the change into the hosts volume, if you do a reconfigure/upgrade/deploy/genconfig. The config options will be overriden, proper way is using /etc/kolla/config in deploy hosts

Eduardo Gonzalez gravatar imageEduardo Gonzalez ( 2018-04-11 09:22:00 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2018-04-07 10:11:58 -0600

Seen: 1,238 times

Last updated: Apr 11