Mirantis/fuel-plugin-backup

Name: fuel-plugin-backup

Owner: Mirantis Inc.

Description: null

Created: 2015-12-02 16:36:16.0

Updated: 2016-11-14 07:21:07.0

Pushed: 2015-12-23 08:08:28.0

Homepage: null

Size: 87

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Fuel infrastructure backup plugin

Compatible versions:

Mirantis Fuel 6.1 Ubuntu 14.04 server

Purpose

It creates backups of sensitive cloud data.

You can change the following options from Fuel UI:
  1. Backup folder location

  2. Number copies to store

  3. And what to backup:

3.1. ETC Backup from cloud-nodes. Just to have information about all nodes in case of disaster recovery.

3.2. FUEL-backup. It is necessary to have information about all cloud nodes their roles and configuration to be able to add/remove nodes, manage clusters.

3.3. CEPH-RBD incremental backup (if enabled as a storage). When we use ceph-rbd for all cloud needs such as volumes, images, ephemeral storages in couple with mysql db backup, we have full information about all virtual storages, and have the ability to restore cloud in case of disaster.

3.4. MySQL db backup.

Building and installation

How to build plugin:

You can build plugin using the Fuel plugin builder tool: https://pypi.python.org/pypi/fuel-plugin-builder.

Install fpb Python module:

al-workstation]$ pip install fpb

Install system packages fpb module relies on:

Clone plugin repository and run fpb there:

al-workstation]$ git clone git@github.com:Mirantis/fuel-plugin-backup.git
al-workstation]$ fpb --build fuel-plugin-backup

Check if rpm file was created:

al-workstation]$ ls -al fuel-plugin-backup | grep rpm
rw-r--.  1 user user 656036 Jun 30 10:57 backup-1.0-1.0.0-1.noarch.rpm

Upload rpm file to fuel-master node and install it. Assuming you've put rpm into /tmp directory on fuel-master:

l-master]# cd /tmp
l-master]# fuel plugins --install backup-1.0-1.0.0-1.noarch.rpm

Check if Fuel sees plugin:

l-master]# fuel plugins list
 name              | version | package_version
-------------------|---------|----------------
 backup            | 1.0.0   | 2.0.0

You can uninstall plugin using the following command:

l-master]# fuel plugins --remove backup==1.0.0

Please note you can't uninstall the plugin if it is enabled for an environment. You'll have to remove an environment first, this action destroys all stored data and settings for this environment.

Deployment process

  1. Create new environment, enable Backup plugin in 'Options' section of environment interface, modify settings if needed.
  2. Navigate to 'Nodes' section of UI, press 'Add nodes button'
  3. Assign controller/compute roles to the respective nodes.
  4. Push Deploy Changes button.
  5. After deployment process primary-controller node (node with controller role with minimal node-id) will be created folder that contains folders etc, fuel, mysql, ceph each folder contains corresponding bash-script that is responsible for creation of backup. Scripts will be managed by crontab-rule once a day(at 4:38, 5:38, 6:38, 7:38).

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.