aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDaneyon Hansen <danehans@cisco.com>2015-02-25 05:49:40 +0000
committerDaneyon Hansen <danehans@cisco.com>2015-03-20 16:17:51 +0000
commit5547b5fe786b7491d2e33f92c4082535f2bb56cf (patch)
treec90551eafcd645f37de33e051913b91f5a126026 /docs
parentfb425db56db16ec4ac061a2ee49054eed4fc284a (diff)
downloadkolla-5547b5fe786b7491d2e33f92c4082535f2bb56cf.tar.gz
kolla-5547b5fe786b7491d2e33f92c4082535f2bb56cf.zip
Implements: blueprint Implement a database container set
Previously, the database container was configured for use with Kubernetes. This patch removed any k8s dependencies, adds a script to manage mysql server.cnf settings and splits data and app containers. Splitting the containers provides additional portability and operational efficiencies compared to host mounts. Change-Id: I80656450c02dda5f2959d187eec20d5877dc54a2
Diffstat (limited to 'docs')
-rw-r--r--docs/database-container-set.md50
-rw-r--r--docs/integration-guide.md5
2 files changed, 52 insertions, 3 deletions
diff --git a/docs/database-container-set.md b/docs/database-container-set.md
new file mode 100644
index 000000000..b4a16388a
--- /dev/null
+++ b/docs/database-container-set.md
@@ -0,0 +1,50 @@
+MariaDB Container Set
+=====================
+
+The MariaDB database application has been organized into two containers,
+known as a [container-set][] within the Kolla project. One container runs
+the MariaDB application and the other stores the actual data.
+
+Operational efficiencies and service stability is provided by
+separating the application from the stored data. For example, stored data
+can be backed-up or restored without touching the MariaDB application
+component.
+
+The containers work in a cooperative fashion by using [docker-compose][]
+(aka Fig) to ensure the containers are co-located on the same host.
+With docker-compose, you can manage the containers collectively
+as a single unit.
+
+Here is a sample docker-compose yaml file for using both MariaDB containers:
+
+```
+mariadbdata:
+ image: kollaglue/centos-rdo-mariadb-data
+ volumes:
+ - /var/lib/mysql:/var/lib/mysql
+ - /var/log/mariadb:/var/log/mariadb
+ net: "host"
+ privileged: true
+mariadbapp:
+ image: kollaglue/centos-rdo-mariadb-app
+ env_file:
+ - openstack.env
+ volumes_from:
+ - mariadbdata
+ net: "host"
+ ports:
+ - "3306:3306"
+ privileged: true
+```
+
+In addition to the MariaDB application being organized across two containers, the data
+container follows the [data-only container][] design pattern. In this design pattern,
+a dedicated container is used to perform a host mount and separate application
+container(s) mount volumes from the data-only container instead of performing the host
+mount directly. In the example above, the MariaDbApp container mounts the /var/lib/mysql
+and /var/log/mariadb volumes through the MariaDbData container instead of mounting
+these directly to the Docker host.
+
+[docker-compose]: http://www.fig.sh/
+[container-set]: https://review.openstack.org/#/c/153798/
+[data-only container]: http://www.tech-d.net/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/
diff --git a/docs/integration-guide.md b/docs/integration-guide.md
index d1127896d..19abe6f65 100644
--- a/docs/integration-guide.md
+++ b/docs/integration-guide.md
@@ -42,7 +42,6 @@ all containers. This allows a simple method of ensuring every type of node
### Environment Variable KEY/VALUE pairs
ADMIN_TENANT_NAME=<admin> - tenant name
- DB_ROOT_PASSWORD=<mysql root password> - defines the MYSQL root password
FLAT_INTERFACE=<nova or neutron networking flat interface device name>
GLANCE_API_SERVICE_HOST=<IP> - address where glance API is running>
GLANCE_DB_NAME=<glance> - DB name of glance service
@@ -58,8 +57,8 @@ all containers. This allows a simple method of ensuring every type of node
KEYSTONE_AUTH_PROTOCOL=<http> - The keystone authentication protocol
KEYSTONE_DB_PASSWORD=<password> - The password used to access Keystone in the DB
KEYSTONE_PUBLIC_SERVICE_HOST=<IP> - The IP address where Keystone is running
- MARIADB_SERVICE_HOST=<IP> - The IP Address where mariadb is running
- MYSQL_ROOT_PASSWORD=<password> - The MYSQL password
+ MARIADB_ROOT_PASSWORD=<mariadb root password> - defines the MariaDB root password
+ MARIADB_SERVICE_HOST=<IP> - The IP Address where Mariadb is running
NETWORK_MANAGER=<nova|neutron> - Use Nova or Neutron networking
NOVA_API_SERVICE_HOST=<IP> - The IP Address where the Nova API Service is hosted
NOVA_DB_NAME=<nova> - The name of the nova entry in the database