mysql router #17

Supports: eoan focal
Add to new model

Description

MySQL Router proxying communication between application clients and MySQL InnoDB Clusters.


Overview

The mysql-router charm provides a MySQL 8 Router; it
proxies database requests from a principle application to a MySQL 8 InnoDB
Cluster. MySQL Router handles cluster communication and understands the cluster
schema.

It is a subordinate charm that is used in conjunction with the
mysql-innodb-cluster charm. It is also used with
a principle charm that supports the 'mysql-shared' interface. The current list
of such charms can be obtained from the Charm
Store
(the charms officially supported by the
OpenStack Charms project are published by 'openstack-charmers').

Important: The eoan series is the first series supported by the
mysql-innodb-cluster and mysql-router charms. These charms replace the
percona-cluster charm starting with the focal
series.

Usage

The charm is deployed as a subordinate to a principle application and then
related to the central mysql-innodb-cluster application:

principle charm A <---> mysql-router A <--->
principle charm B <---> mysql-router B <---> mysql-innodb-cluster
principle charm C <---> mysql-router C <--->

Configuration

See file config.yaml for the full list of configuration options, along with
their descriptions and default values.

Deployment

To deploy a MySQL 8 Router:

juju deploy mysql-router

Add a relation to a principle application (via the shared-db
endpoint):

juju add-relation keystone:shared-db mysql-router:shared-db

Then add a relation to the mysql-innodb-cluster application (via the
db-router endpoint):

juju add-relation msyql-router:db-router mysql-innodb-cluster:db-router

Scale out is accomplished by adding units to the principle application:

juju add-unit keystone

Actions

This section lists Juju actions supported by the charm.
Actions allow specific operations to be performed on a per-unit basis. To
display action descriptions run juju actions mysql-router. If the
charm is not deployed then see file actions.yaml.

  • stop-mysqlrouter
  • start-mysqlrouter
  • restart-mysqlrouter

Bugs

Please report bugs on Launchpad.

For general charm questions refer to the OpenStack Charm Guide.


Configuration

base-port
(int) Base port number for RW interface. RO, xRW and xRO will increment from base_port.
3306
source
(string) Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, or a supported Ubuntu Cloud Archive e.g. . cloud:<series>-<openstack-release> cloud:<series>-<openstack-release>/updates cloud:<series>-<openstack-release>/staging cloud:<series>-<openstack-release>/proposed . See https://wiki.ubuntu.com/OpenStack/CloudArchive for info on which cloud archives are available and supported.
distro
ssl_ca
(string) TLS CA to use to communicate with other components in a deployment. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
ssl_cert
(string) TLS certificate to install and use for any listening services. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
ssl_key
(string) TLS key to use with certificate specified as ``ssl_cert``. . __NOTE__: This configuration option will take precedence over any certificates received over the ``certificates`` relation.
use-syslog
(boolean) Setting this to True will allow supporting services to log to syslog.