ff156664e6
Introduced changes: - pre-commit config and rules - Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks. - Applying fixes for pre-commit compliance in all code. Also commit hash will be used instead of version tags in pre-commit to prevend arbitrary code from running in developer's machines. pre-commit will be used to: - trailing whitespace; - Replaces or checks mixed line ending (mixed-line-ending); - Forbid files which have a UTF-8 byte-order marker (check-byte-order-marker); - Checks that non-binary executables have a proper shebang (check-executables-have-shebangs); - Check for files that contain merge conflict strings (check-merge-conflict); - Check for debugger imports and py37+ breakpoint() calls in python source (debug-statements); - Attempts to load all yaml files to verify syntax (check-yaml); - Run flake8 checks (flake8) (local) For further details about tests please refer to: https://github.com/pre-commit/pre-commit-hooks Change-Id: I9b979afcd45e6a51252ccccb686b01beeb9157f8 Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
155 lines
4.8 KiB
ReStructuredText
155 lines
4.8 KiB
ReStructuredText
===========================
|
|
Create and manage databases
|
|
===========================
|
|
|
|
The Database service provides scalable and reliable cloud provisioning
|
|
functionality for both relational and non-relational database engines.
|
|
Users can quickly and easily use database features without the burden of
|
|
handling complex administrative tasks.
|
|
|
|
.. _dashboard_create_db_instance:
|
|
|
|
Create a database instance
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
**Prerequisites.** Before you create a database instance, you need to
|
|
configure a default datastore and make sure you have an appropriate
|
|
flavor for the type of database instance you want.
|
|
|
|
#. **Configure a default datastore.**
|
|
|
|
Because the dashboard does not let you choose a specific datastore to
|
|
use with an instance, you need to configure a default datastore. The
|
|
dashboard then uses the default datastore to create the instance.
|
|
|
|
#. Add the following line to ``/etc/trove/trove.conf``:
|
|
|
|
.. code:: ini
|
|
|
|
default_datastore = DATASTORE_NAME
|
|
|
|
Replace *``DATASTORE_NAME``* with the name that the administrative
|
|
user set when issuing the **trove-manage** command to create the
|
|
datastore. You can use the trove **datastore-list** command to
|
|
display the datastores that are available in your environment.
|
|
|
|
For example, if your MySQL datastore name is set to ``mysql``,
|
|
your entry would look like this:
|
|
|
|
.. code:: ini
|
|
|
|
default_datastore = mysql
|
|
|
|
#. Restart Database services on the controller node:
|
|
|
|
.. code:: bash
|
|
|
|
# service trove-api restart
|
|
# service trove-taskmanager restart
|
|
# service trove-conductor restart
|
|
|
|
#. **Verify flavor.**
|
|
|
|
Make sure an appropriate flavor exists for the type of
|
|
database instance you want.
|
|
|
|
**Create database instance.** Once you have configured a default
|
|
datastore and verified that you have an appropriate flavor, you can
|
|
create a database instance.
|
|
|
|
#. Log in to the dashboard, choose a project, and click :guilabel:`Databases`.
|
|
|
|
#. Click :guilabel:`Database Instances`. This lists the instances that already
|
|
exist in your environment.
|
|
|
|
#. Click :guilabel:`Launch Instance`.
|
|
|
|
#. In the :guilabel:`Launch Database` dialog box, specify the following values.
|
|
|
|
Details
|
|
|
|
:guilabel:`Database Name`: Specify a name for the database instance.
|
|
|
|
:guilabel:`Flavor`: Select an appropriate flavor for the instance.
|
|
|
|
:guilabel:`Volume Size`: Select a volume size. Volume size is expressed in
|
|
GB.
|
|
|
|
:guilabel:`Initialize Databases`: Initial Database
|
|
|
|
Optionally provide a comma separated list of databases to create, for
|
|
example:
|
|
|
|
``database1``, ``database2``, ``database3``
|
|
|
|
:guilabel:`Initial Admin User`: Create an initial admin user. This user will
|
|
have access to all the databases you create.
|
|
|
|
:guilabel:`Password`: Specify a password associated with the initial admin
|
|
user you just named.
|
|
|
|
:guilabel:`Host`: Optionally, allow the user to connect only from this host.
|
|
If you do not specify a host, this user will be allowed to connect from
|
|
anywhere.
|
|
|
|
#. Click the :guilabel:`Launch button`. The new database instance appears in the
|
|
databases list.
|
|
|
|
Backup and restore a database
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
You can use Database services to backup a database and store the backup
|
|
artifact in the Object Storage module. Later on, if the original
|
|
database is damaged, you can use the backup artifact to restore the
|
|
database. The restore process creates a database instance.
|
|
|
|
This example shows you how to back up and restore a MySQL database.
|
|
|
|
To backup the database instance
|
|
-------------------------------
|
|
|
|
#. Log in to the dashboard, choose a project, and click
|
|
:guilabel:`Databases`.
|
|
|
|
#. Click :guilabel:`Database Instances`. This displays the existing
|
|
instances in your system.
|
|
|
|
#. Click :guilabel:`Create Backup`.
|
|
|
|
#. In the :guilabel:`Backup Database` dialog box, specify the following
|
|
values:
|
|
|
|
Name
|
|
|
|
Specify a name for the backup.
|
|
|
|
Database Instance
|
|
|
|
Select the instance you want to back up.
|
|
|
|
#. Click Backup. The new backup appears in the backup list.
|
|
|
|
To restore a database instance
|
|
------------------------------
|
|
|
|
Now assume that your original database instance is damaged and you
|
|
need to restore it. You do the restore by using your backup to create
|
|
a new database instance.
|
|
|
|
#. Log in to the dashboard, choose a project, and click
|
|
:guilabel:`Databases`.
|
|
|
|
#. Click :guilabel:`Database Backups`. This lists the available backups.
|
|
|
|
#. Check the backup you want to use and click :guilabel:`Restore Backup`.
|
|
|
|
#. In the :guilabel:`Launch Database` dialog box, specify the values you
|
|
want for the new database instance.
|
|
|
|
#. Click the :guilabel:`Restore From Database` tab and make sure that this
|
|
new instance is based on the correct backup.
|
|
|
|
#. Click :guilabel:`Launch`.
|
|
|
|
The new instance appears in the database instances list.
|