Replace config-external with a json file

Registered by Ryan Hallisey

In order to be more flexible with supporting multiple config files, we need a simple mechanism for config location. Using config-external would require we add by hand config files that will need to be copied from the host. Instead, we should put this work into json file and have all deployment tools who wish to consume kolla add config files to this dictionary so they are mapped into the containers when run.

{
    "files": {
        "source": "/var/lib/kolla/configs/keystone/keystone.conf",
        "dest": "/etc/keystone/keystone.conf",
        "owner": "keystone",
        "perm": "064"
    }
}

Blueprint information

Status:
Complete
Approver:
Steven Dake
Priority:
Essential
Drafter:
Ryan Hallisey
Direction:
Approved
Assignee:
Ryan Hallisey
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon liberty-rc1
Started by
Steven Dake
Completed by
Steven Dake

Related branches

Sprints

Whiteboard

Yes I had suggested this in a Tripleo thread on the mailing list a while back. I think this is best. It also prevents a container rebuild if config files need to be added or changed while still being a 'safe' operation since this isnt executable code, but rather something that can be parsed and checked. -- SamYaple

Keystone will be a challenge because a different service will start given the base OS. The model I'm currently looking at is using a separate JSON file per OS. -- Ryan Hallisey

Gerrit topic: https://review.openstack.org/#q,topic:bp/replace-config-external,n,z

Addressed by: https://review.openstack.org/217880
    WIP:Replace config-external with a JSON file for Galera

Addressed by: https://review.openstack.org/216874
    Replace config-external with a JSON file

Addressed by: https://review.openstack.org/218496
    Replace config-external with a JSON file for Rabbitmq

Addressed by: https://review.openstack.org/218497
    Replace config-external with a JSON file for Keystone

Addressed by: https://review.openstack.org/218501
    Replace config-external with a JSON file for Glance

Addressed by: https://review.openstack.org/218505
    Replace config-external with a JSON file for Nova

Addressed by: https://review.openstack.org/224557
    Refactor set_configs.py

Addressed by: https://review.openstack.org/224829
    Replace config-external with a JSON file for Neutron (thin)

Addressed by: https://review.openstack.org/224872
    Replace config-external with a JSON file for Cinder

Addressed by: https://review.openstack.org/224891
    Replace config-external with a JSON file for Heat

Addressed by: https://review.openstack.org/227242
    Create nova-libvirt directory before copying files

Addressed by: https://review.openstack.org/227437
    Add missing when statments when copying JSON files in ansible

Addressed by: https://review.openstack.org/227775
    Replace config-external - haproxy keepalived

Addressed by: https://review.openstack.org/227776
    Replace config-external - horizon

Addressed by: https://review.openstack.org/227777
    Replace config-external - memcached

Addressed by: https://review.openstack.org/227778
    Replace config-external - murano

Addressed by: https://review.openstack.org/227830
    Replace config-external - swift

Addressed by: https://review.openstack.org/227831
    Remove config-external.sh

Addressed by: https://review.openstack.org/228028
    Fix removal of config-external

Gerrit topic: https://review.openstack.org/#q,topic:bp/ceph-container,n,z

Addressed by: https://review.openstack.org/228244
    Replace config-external - openvswitch

Addressed by: https://review.openstack.org/228245
    Replace config-external - rsyslog

Addressed by: https://review.openstack.org/228246
    Create nova-libvirt directory before copying files

Addressed by: https://review.openstack.org/228247
    remove set_configs

Addressed by: https://review.openstack.org/228248
    Allow conf files to be optional

Addressed by: https://review.openstack.org/228249
    Convert ceph to json

Addressed by: https://review.openstack.org/228448
    Remove config-external for rsyslog

Gerrit topic: https://review.openstack.org/#q,topic:bug/1500566,n,z

Addressed by: https://review.openstack.org/228611
    Neutron Agents json support

Addressed by: https://review.openstack.org/228788
    Fix ceph after config-external removal

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.