d3b9696f0d
This patch adds the local LVM control code from Cinder into os-brick. Nova has it's own copy of code that does basically the same thing. This patch is the first step to migrating both Cinder and Nova to using the same exact code for managing local lvm volume groups and volumes. This is NOT a replacement for the Cinder lvm volume driver, but the low level lvm management code. Change-Id: I80a1ac859b9f3aa50262a8d0db750a00cb3e2dc4 implements blueprint: local-dev-lvm-to-os-brick
64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
# 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.
|
|
|
|
|
|
class FakeBrickLVM(object):
|
|
"""Logs and records calls, for unit tests."""
|
|
|
|
def __init__(self, vg_name, create, pv_list, vtype, execute=None):
|
|
super(FakeBrickLVM, self).__init__()
|
|
self.vg_size = '5.00'
|
|
self.vg_free_space = '5.00'
|
|
self.vg_name = vg_name
|
|
|
|
def supports_thin_provisioning():
|
|
return False
|
|
|
|
def get_volumes(self):
|
|
return ['fake-volume']
|
|
|
|
def get_volume(self, name):
|
|
return ['name']
|
|
|
|
def get_all_physical_volumes(vg_name=None):
|
|
return []
|
|
|
|
def get_physical_volumes(self):
|
|
return []
|
|
|
|
def update_volume_group_info(self):
|
|
pass
|
|
|
|
def create_thin_pool(self, name=None, size_str=0):
|
|
pass
|
|
|
|
def create_volume(self, name, size_str, lv_type='default', mirror_count=0):
|
|
pass
|
|
|
|
def create_lv_snapshot(self, name, source_lv_name, lv_type='default'):
|
|
pass
|
|
|
|
def delete(self, name):
|
|
pass
|
|
|
|
def revert(self, snapshot_name):
|
|
pass
|
|
|
|
def lv_has_snapshot(self, name):
|
|
return False
|
|
|
|
def activate_lv(self, lv, is_snapshot=False, permanent=False):
|
|
pass
|
|
|
|
def rename_volume(self, lv_name, new_name):
|
|
pass
|