From 295138dafd9cca3a5ac9f5b462925bb592cedcf7 Mon Sep 17 00:00:00 2001 From: yangyapeng Date: Mon, 13 Feb 2017 10:00:09 +0800 Subject: [PATCH] Add cindernative mode to backup volume Change-Id: I1ec7807cdcbf463a23f5d33e1c06157c7a691ccd --- freezer/common/config.py | 8 +++++--- freezer/mode/cindernative.py | 37 ++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 freezer/mode/cindernative.py diff --git a/freezer/common/config.py b/freezer/common/config.py index ab58262c..2405e441 100644 --- a/freezer/common/config.py +++ b/freezer/common/config.py @@ -109,9 +109,11 @@ _COMMON = [ dest='mode', default=DEFAULT_PARAMS['mode'], help="Set the technology to back from. Options are, fs " - "(filesystem),mongo (MongoDB), mysql (MySQL), sqlserver " - "(SQL Server), cinder(OpenStack Volume), nova " - "(OpenStack Instance). Default set to fs"), + "(filesystem),mongo (MongoDB), mysql (MySQL), " + "sqlserver(SQL Server), " + "cinder(OpenStack Volume backup by freezer), " + "cindernative(OpenStack native cinder-volume backup)" + "nova(OpenStack Instance). Default set to fs"), cfg.StrOpt('engine', short='e', choices=['tar', 'rsync', 'nova'], diff --git a/freezer/mode/cindernative.py b/freezer/mode/cindernative.py new file mode 100644 index 00000000..f8e4de2e --- /dev/null +++ b/freezer/mode/cindernative.py @@ -0,0 +1,37 @@ +# (c) Copyright 2016 Hewlett-Packard Enterprise Development , L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from freezer.mode import mode + + +class CindernativeMode(mode.Mode): + """ + Execute a cinder-volume native backup/restore + """ + def __init__(self, conf): + self.conf = conf + + @property + def name(self): + return "cindernative" + + @property + def version(self): + return "1.0" + + def release(self): + pass + + def prepare(self): + pass