Containerized MySQLClient

Bug #1692317 reported by Damien Ciabrini on 2017-05-21
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Damien Ciabrini

Bug Description

Create the template for generating the MySQL client configuration for containerized services. The documentation for the architecture can be found here[0] and some examples in the source tree[1]


Dan Prince (dan-prince) wrote :

What did you have in mind here? Is this for debugging or for initializing the various services?

Damien Ciabrini (dciabrin) wrote :

There is a dedicated puppet module [1] to be called for generating a
specific client MySQL configuration which controls client bind address
and SSL connection. It is not being used yet in containers.

We could update all the services to include this puppet module during
the puppet config step, but in this case, if one needs to change this
file during minor updates, all services need to regenerate their
config, which I believe will cause outage.

The other solution I see is to generate the configuration file in its
dedicated location /var/log/config-data/mysql_client, and let all
services bind mount it. This way, config file change during minor
update will be taken into account at next service restart.

Any thought on that approach?

[1] /var/lib/config-data/mysql_client/etc/my.cnf.d/tripleo.cnf

Changed in tripleo:
assignee: nobody → Damien Ciabrini (dciabrin)
status: New → In Progress
Changed in tripleo:
importance: Undecided → Wishlist
milestone: none → pike-2
tags: added: containers
Dan Prince (dan-prince) wrote :

Damien: we just spoke but I'm wondering if perhaps this is something we could add into docker/services/containers-common.yaml. It might end up getting bind mounted into containers where we don't always need it but so long as there isn't a security concern there I think it would be fine to add it this way.

Changed in tripleo:
assignee: Damien Ciabrini (dciabrin) → Michele Baldessari (michele)
Changed in tripleo:
milestone: pike-2 → pike-3
Changed in tripleo:
assignee: Michele Baldessari (michele) → Damien Ciabrini (dciabrin)

Submitter: Jenkins
Branch: master

commit 80f6907054f4e2683de5e54a1635ab56d8b3aa4e
Author: Damien Ciabrini <email address hidden>
Date: Tue Jun 6 08:50:54 2017 -0400

    Configuration for containerized MySQL clients

    This service generates the /etc/my.cnf.d/tripleo.cnf file which is
    being used to configured MySQL clients (e.g. client bind address,
    client SSL configuration...)

    We generate the config file in this service and let containerized MySQL clients
    mount /var/lib/config-data/mysql_client/etc/my.cnf.d/tripleo.cnf it in their
    own container. This way, when this MySQLClient service is updated, the other
    containers will automatically pick the updated configuration at next restart.

    Partial-Bug: #1692317
    Change-Id: Idc56d27fb9645ad3b07df8ef08b7e2ce29e6d499

Changed in tripleo:
milestone: pike-3 → pike-rc1
Changed in tripleo:
milestone: pike-rc1 → queens-1

Change abandoned by Damien Ciabrini (<email address hidden>) on branch: master
Reason: Superseded by I0dab1dc9caef1e749f1c42cfefeba179caebc8d7

Damien Ciabrini (dciabrin) wrote :

Review got merged and fixes it.

Changed in tripleo:
milestone: queens-1 → pike-rc1
importance: Wishlist → High
Changed in tripleo:
status: In Progress → Fix Committed
Changed in tripleo:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers