OpenStack Study: cinder
OpenStack IndexPreviousNext
def summary(self, request, qos_spec):
def detail(self, request, qos_spec):
def associations(self, request, associates):
def _list_view(self, func, request, qos_specs):
\OpenStack\cinder-2014.1\cinder\api\views\transfers.py
class ViewBuilder(common.ViewBuilder):
def __init__(self):
def summary_list(self, request, transfers):
def detail_list(self, request, transfers):
def summary(self, request, transfer):
def detail(self, request, transfer):
def create(self, request, transfer):
def _list_view(self, func, request, transfers):
\OpenStack\cinder-2014.1\cinder\api\views\types.py
class ViewBuilder(common.ViewBuilder):
def show(self, request, volume_type, brief=False):
def index(self, request, volume_types):
\OpenStack\cinder-2014.1\cinder\api\views\versions.py
def get_view_builder(req):
class ViewBuilder(object):
def __init__(self, base_url):
def build_choices(self, VERSIONS, req):
def build_versions(self, versions):
def build_version(self, version):
def _build_links(self, version_data):
def generate_href(self, version, path=None):
\OpenStack\cinder-2014.1\cinder\api\views\__init__.py
\OpenStack\cinder-2014.1\cinder\api\xmlutil.py
def validate_schema(xml, schema_name):
class Selector(object):
def __init__(self, *chain):
def __repr__(self):
def __call__(self, obj, do_raise=False):
def get_items(obj):
class EmptyStringSelector(Selector):
def __call__(self, obj, do_raise=False):
class ConstantSelector(object):
def __init__(self, value):
def __repr__(self):
def __call__(self, _obj, _do_raise=False):
class TemplateElement(object):
def __init__(self, tag, attrib=None, selector=None, subselector=None, **extra):
def __repr__(self):
def __len__(self):
def __contains__(self, key):
def __getitem__(self, idx):
def append(self, elem):
def extend(self, elems):
def insert(self, idx, elem):
def remove(self, elem):
def get(self, key):
def set(self, key, value=None):
def keys(self):
def items(self):
def unwrap(self):
def wrap(self):
def apply(self, elem, obj):
def getAttrib(self, obj):
def _render(self, parent, datum, patches, nsmap):
def render(self, parent, obj, patches=[], nsmap=None):
def will_render(self, datum):
def _text_get(self):
def _text_set(self, value):
def _text_del(self):
def tree(self):
def SubTemplateElement(parent, tag, attrib=None, selector=None, subselector=None, **extra):
class Template(object):
def __init__(self, root, nsmap=None):
def _serialize(self, parent, obj, siblings, nsmap=None):
def serialize(self, obj, *args, **kwargs):
def make_tree(self, obj):
def _siblings(self):
def _nsmap(self):
def unwrap(self):
def wrap(self):
def apply(self, master):
def tree(self):
class MasterTemplate(Template):
def __init__(self, root, version, nsmap=None):
def __repr__(self):
def _siblings(self):
def _nsmap(self):
def attach(self, *slaves):
def copy(self):
class SlaveTemplate(Template):
def __init__(self, root, min_vers, max_vers=None, nsmap=None):
def __repr__(self):
def apply(self, master):
class TemplateBuilder(object):
def __new__(cls, copy=True):
def construct(self):
def make_links(parent, selector=None):
def make_flat_dict(name, selector=None, subselector=None, ns=None):
\OpenStack\cinder-2014.1\cinder\api\__init__.py
def root_app_factory(loader, global_conf, **local_conf):
\OpenStack\cinder-2014.1\cinder\backup\api.py
def check_policy(context, action):
class API(base.Base):
def __init__(self, db_driver=None):
def get(self, context, backup_id):
def delete(self, context, backup_id):
def get_all(self, context, search_opts=None):
def _is_backup_service_enabled(self, volume, volume_host):
def _list_backup_services(self):
def create(self, context, name, description, volume_id, container, availability_zone=None):
def restore(self, context, backup_id, volume_id=None):
def export_record(self, context, backup_id):
def import_record(self, context, backup_service, backup_url):
\OpenStack\cinder-2014.1\cinder\backup\driver.py
class BackupMetadataAPI(base.Base):
def __init__(self, context, db_driver=None):
def _is_serializable(value):
def _save_vol_base_meta(self, container, volume_id):
def _save_vol_meta(self, container, volume_id):
def _save_vol_glance_meta(self, container, volume_id):
def _filter(metadata, fields):
def _restore_vol_base_meta(self, metadata, volume_id, fields):
def _restore_vol_meta(self, metadata, volume_id, fields):
def _restore_vol_glance_meta(self, metadata, volume_id, fields):
def _v1_restore_factory(self):
def get(self, volume_id):
def put(self, volume_id, json_metadata):
class BackupDriver(base.Base):
def __init__(self, context, db_driver=None):
def get_metadata(self, volume_id):
def put_metadata(self, volume_id, json_metadata):
def backup(self, backup, volume_file, backup_metadata=False):
def restore(self, backup, volume_id, volume_file):
def delete(self, backup):
def export_record(self, backup):
def import_record(self, backup_url):
def verify(self, backup):
\OpenStack\cinder-2014.1\cinder\backup\drivers\ceph.py
class VolumeMetadataBackup(object):
def __init__(self, client, backup_id):
def name(self):
def exists(self):
def _exists(self, obj):
def set(self, json_meta):
def get(self):
def remove_if_exists(self):
class CephBackupDriver(BackupDriver):
def __init__(self, context, db_driver=None, execute=None):
def _validate_string_args(self, *args):
def _ceph_args(self, user, conf=None, pool=None):
def _supports_layering(self):
def _supports_stripingv2(self):
def _get_rbd_support(self):
def _connect_to_rados(self, pool=None):
def _disconnect_from_rados(self, client, ioctx):
def _get_backup_base_name(self, volume_id, backup_id=None, diff_format=False):
def _discard_bytes(self, volume, offset, length):
def _transfer_data(self, src, src_name, dest, dest_name, length):
def _create_base_image(self, name, size, rados_client):
def _delete_backup_snapshot(self, rados_client, base_name, backup_id):
def _try_delete_base_image(self, backup_id, volume_id, base_name=None):
def _piped_execute(self, cmd1, cmd2):
def _rbd_diff_transfer(self, src_name, src_pool, dest_name, dest_pool, src_user, src_conf, dest_user, dest_conf, src_snap=None, from_snap=None):
def _rbd_image_exists(self, name, volume_id, client, try_diff_format=False):
def _snap_exists(self, base_name, snap_name, client):
def _backup_rbd(self, backup_id, volume_id, volume_file, volume_name, length):
def _file_is_rbd(self, volume_file):
def _full_backup(self, backup_id, volume_id, src_volume, src_name, length):
def backup_snapshot_name_pattern():
def get_backup_snaps(cls, rbd_image, sort=False):
def _get_new_snap_name(self, backup_id):
def _get_backup_snap_name(self, rbd_image, name, backup_id):
def _get_most_recent_snap(self, rbd_image):
def _get_volume_size_gb(self, volume):
def _backup_metadata(self, backup):
def backup(self, backup, volume_file, backup_metadata=True):
def _full_restore(self, backup_id, volume_id, dest_file, dest_name, length, src_snap=None):
def _check_restore_vol_size(self, backup_base, restore_vol, restore_length, src_pool):
def _diff_restore_rbd(self, base_name, restore_file, restore_name, restore_point, restore_length):
def _num_backup_snaps(self, backup_base_name):
def _get_restore_point(self, base_name, backup_id):
def _rbd_has_extents(self, rbd_volume):
def iter_cb(offset, length, exists):
def _diff_restore_allowed(self, base_name, backup, volume, volume_file, rados_client):
def _restore_volume(self, backup, volume, volume_file):
def _restore_metadata(self, backup, volume_id):
def restore(self, backup, volume_id, volume_file):
def delete(self, backup):
def get_backup_driver(context):
\OpenStack\cinder-2014.1\cinder\backup\drivers\swift.py
class SwiftBackupDriver(BackupDriver):
def _get_compressor(self, algorithm):
def __init__(self, context, db_driver=None):
def _create_container(self, context, backup):
def _generate_swift_object_name_prefix(self, backup):
def _generate_object_names(self, backup):
def _metadata_filename(self, backup):
def _write_metadata(self, backup, volume_id, container, object_list, volume_meta):
def _read_metadata(self, backup):
def _prepare_backup(self, backup):
def _backup_chunk(self, backup, container, data, data_offset, object_meta):
def _finalize_backup(self, backup, container, object_meta):
def _backup_metadata(self, backup, object_meta):
def backup(self, backup, volume_file, backup_metadata=True):
def _restore_v1(self, backup, volume_id, metadata, volume_file):
def restore(self, backup, volume_id, volume_file):
def delete(self, backup):
def get_backup_driver(context):
\OpenStack\cinder-2014.1\cinder\backup\drivers\tsm.py
def _get_backup_metadata(backup, operation):
def _image_mode(backup_mode):
def _make_link(volume_path, backup_path, vol_id):
def _create_unique_device_link(backup_id, volume_path, volume_id, bckup_mode):
def _check_dsmc_output(output, check_attrs, exact_match=True):
def _get_volume_realpath(volume_file, volume_id):
def _cleanup_device_hardlink(hardlink_path, volume_path, volume_id):
class TSMBackupDriver(BackupDriver):
def __init__(self, context, db_driver=None):
def _do_backup(self, backup_path, vol_id, backup_mode):
def _do_restore(self, backup_path, restore_path, vol_id, backup_mode):
def backup(self, backup, volume_file, backup_metadata=False):
def restore(self, backup, volume_id, volume_file):
def delete(self, backup):
def get_backup_driver(context):
\OpenStack\cinder-2014.1\cinder\backup\drivers\__init__.py
\OpenStack\cinder-2014.1\cinder\backup\manager.py
class BackupManager(manager.SchedulerDependentManager):
def __init__(self, service_name=None, *args, **kwargs):
def driver_name(self):
def _map_service_to_driver(self, service):
def driver(self):
def _get_volume_backend(self, host=None, allow_null_host=False):
def _get_manager(self, backend):
def _get_driver(self, backend=None):
def _setup_volume_drivers(self):
def _init_volume_driver(self, ctxt, driver):
def init_host(self):
def create_backup(self, context, backup_id):
def restore_backup(self, context, backup_id, volume_id):
def delete_backup(self, context, backup_id):
def export_record(self, context, backup_id):
def import_record(self, context, backup_id, backup_service, backup_url, backup_hosts):
\OpenStack\cinder-2014.1\cinder\backup\rpcapi.py
class BackupAPI(object):
def __init__(self):
def create_backup(self, ctxt, host, backup_id, volume_id):
def restore_backup(self, ctxt, host, backup_id, volume_id):
def delete_backup(self, ctxt, host, backup_id):
def export_record(self, ctxt, host, backup_id):
def import_record(self, ctxt, host, backup_id, backup_service, backup_url, backup_hosts):
\OpenStack\cinder-2014.1\cinder\backup\__init__.py
\OpenStack\cinder-2014.1\cinder\brick\exception.py
class BrickException(Exception):
def __init__(self, message=None, **kwargs):
def __unicode__(self):
class NotFound(BrickException):
class Invalid(BrickException):
class InvalidParameterValue(Invalid):
class NoFibreChannelHostsFound(BrickException):
class NoFibreChannelVolumeDeviceFound(BrickException):
class VolumeDeviceNotFound(BrickException):
class VolumeGroupNotFound(BrickException):
class VolumeGroupCreationFailed(BrickException):
class ISCSITargetCreateFailed(BrickException):
class ISCSITargetRemoveFailed(BrickException):
class ISCSITargetAttachFailed(BrickException):
class ProtocolNotSupported(BrickException):
\OpenStack\cinder-2014.1\cinder\brick\executor.py
class Executor(object):
def __init__(self, root_helper, execute=putils.execute, *args, **kwargs):
def set_execute(self, execute):
def set_root_helper(self, helper):
\OpenStack\cinder-2014.1\cinder\brick\initiator\connector.py
def get_connector_properties(root_helper, my_ip):
class InitiatorConnector(executor.Executor):
def __init__(self, root_helper, driver=None, execute=putils.execute, device_scan_attempts=DEVICE_SCAN_ATTEMPTS_DEFAULT, *args, **kwargs):
def set_driver(self, driver):
def factory(protocol, root_helper, driver=None, execute=putils.execute, use_multipath=False, device_scan_attempts=DEVICE_SCAN_ATTEMPTS_DEFAULT, *args, **kwargs):
def check_valid_device(self, path):
def connect_volume(self, connection_properties):
def disconnect_volume(self, connection_properties, device_info):
class ISCSIConnector(InitiatorConnector):
def __init__(self, root_helper, driver=None, execute=putils.execute, use_multipath=False, device_scan_attempts=DEVICE_SCAN_ATTEMPTS_DEFAULT, *args, **kwargs):
def set_execute(self, execute):
def connect_volume(self, connection_properties):
def disconnect_volume(self, connection_properties, device_info):
def _get_device_path(self, connection_properties):
def get_initiator(self):
def _run_iscsiadm(self, connection_properties, iscsi_command, **kwargs):
def _iscsiadm_update(self, connection_properties, property_key, property_value, **kwargs):
def _get_target_portals_from_iscsiadm_output(self, output):
def _disconnect_volume_multipath_iscsi(self, connection_properties, multipath_name):
def _connect_to_iscsi_portal(self, connection_properties):
def _disconnect_from_iscsi_portal(self, connection_properties):
def _get_multipath_device_name(self, single_path_device):
def _get_iscsi_devices(self):
def _disconnect_mpath(self, connection_properties, ips_iqns):
def _get_multipath_iqn(self, multipath_device):
def _run_iscsiadm_bare(self, iscsi_command, **kwargs):
def _run_multipath(self, multipath_command, **kwargs):
def _rescan_iscsi(self):
def _rescan_multipath(self):
class ISERConnector(ISCSIConnector):
def _get_device_path(self, iser_properties):
class FibreChannelConnector(InitiatorConnector):
def __init__(self, root_helper, driver=None, execute=putils.execute, use_multipath=False, device_scan_attempts=DEVICE_SCAN_ATTEMPTS_DEFAULT, *args, **kwargs):
def set_execute(self, execute):
def connect_volume(self, connection_properties):
def _wait_for_device_discovery(host_devices):
def disconnect_volume(self, connection_properties, device_info):
def _get_pci_num(self, hba):
class AoEConnector(InitiatorConnector):
def __init__(self, root_helper, driver=None, execute=putils.execute, device_scan_attempts=DEVICE_SCAN_ATTEMPTS_DEFAULT, *args, **kwargs):
def _get_aoe_info(self, connection_properties):
def connect_volume(self, connection_properties):
def _wait_for_discovery(aoe_path):
def disconnect_volume(self, connection_properties, device_info):
def _aoe_discover(self):
def _aoe_revalidate(self, aoe_device):
def _aoe_flush(self, aoe_device):
class RemoteFsConnector(InitiatorConnector):
def __init__(self, mount_type, root_helper, driver=None, execute=putils.execute, device_scan_attempts=DEVICE_SCAN_ATTEMPTS_DEFAULT, *args, **kwargs):
def set_execute(self, execute):
def connect_volume(self, connection_properties):
def disconnect_volume(self, connection_properties, device_info):
class LocalConnector(InitiatorConnector):
def __init__(self, root_helper, driver=None, execute=putils.execute, *args, **kwargs):
def connect_volume(self, connection_properties):
def disconnect_volume(self, connection_properties, device_info):
\OpenStack\cinder-2014.1\cinder\brick\initiator\host_driver.py
class HostDriver(object):
def get_all_block_devices(self):
\OpenStack\cinder-2014.1\cinder\brick\initiator\linuxfc.py
class LinuxFibreChannel(linuxscsi.LinuxSCSI):
def __init__(self, root_helper, execute=putils.execute, *args, **kwargs):
def rescan_hosts(self, hbas):
def get_fc_hbas(self):
def get_fc_hbas_info(self):
def get_fc_wwpns(self):
def get_fc_wwnns(self):
\OpenStack\cinder-2014.1\cinder\brick\initiator\linuxscsi.py
class LinuxSCSI(executor.Executor):
def __init__(self, root_helper, execute=putils.execute, *args, **kwargs):
def echo_scsi_command(self, path, content):
def get_name_from_path(self, path):
def remove_scsi_device(self, device):
def get_device_info(self, device):
def remove_multipath_device(self, multipath_name):
def flush_multipath_device(self, device):
def flush_multipath_devices(self):
def find_multipath_device(self, device):
\OpenStack\cinder-2014.1\cinder\brick\initiator\__init__.py
\OpenStack\cinder-2014.1\cinder\brick\iscsi\iscsi.py
class TargetAdmin(executor.Executor):
def __init__(self, cmd, root_helper, execute):
def _run(self, *args, **kwargs):
def create_iscsi_target(self, name, tid, lun, path, chap_auth=None, **kwargs):
def remove_iscsi_target(self, tid, lun, vol_id, vol_name, **kwargs):
def _new_target(self, name, tid, **kwargs):
def _delete_target(self, tid, **kwargs):
def show_target(self, tid, iqn=None, **kwargs):
def _new_logicalunit(self, tid, lun, path, **kwargs):
def _delete_logicalunit(self, tid, lun, **kwargs):
class TgtAdm(TargetAdmin):
def __init__(self, root_helper, volumes_dir, target_prefix='iqn.2010-10.org.openstack:
def _get_target(self, iqn):
def _verify_backing_lun(self, iqn, tid):
def _recreate_backing_lun(self, iqn, tid, name, path):
def create_iscsi_target(self, name, tid, lun, path, chap_auth=None, **kwargs):
def remove_iscsi_target(self, tid, lun, vol_id, vol_name, **kwargs):
def show_target(self, tid, iqn=None, **kwargs):
class IetAdm(TargetAdmin):
def __init__(self, root_helper, iet_conf='/etc/iet/ietd.conf', iscsi_iotype='fileio', execute=putils.execute):
def _is_block(self, path):
def _iotype(self, path):
def temporary_chown(self, path, owner_uid=None):
def create_iscsi_target(self, name, tid, lun, path, chap_auth=None, **kwargs):
def remove_iscsi_target(self, tid, lun, vol_id, vol_name, **kwargs):
def _new_target(self, name, tid, **kwargs):
def _delete_target(self, tid, **kwargs):
def show_target(self, tid, iqn=None, **kwargs):
def _new_logicalunit(self, tid, lun, path, **kwargs):
def _delete_logicalunit(self, tid, lun, **kwargs):
def _new_auth(self, tid, type, username, password, **kwargs):
class FakeIscsiHelper(object):
def __init__(self):
def set_execute(self, execute):
def create_iscsi_target(self, *args, **kwargs):
class LioAdm(TargetAdmin):
def __init__(self, root_helper, lio_initiator_iqns='', iscsi_target_prefix='iqn.2010-10.org.openstack:
def _verify_rtstool(self):
def _get_target(self, iqn):
def create_iscsi_target(self, name, tid, lun, path, chap_auth=None, **kwargs):
def remove_iscsi_target(self, tid, lun, vol_id, vol_name, **kwargs):
def show_target(self, tid, iqn=None, **kwargs):
def initialize_connection(self, volume, connector):
class ISERTgtAdm(TgtAdm):
def __init__(self, root_helper, volumes_dir, target_prefix='iqn.2010-10.org.iser.openstack:
\OpenStack\cinder-2014.1\cinder\brick\iscsi\__init__.py
\OpenStack\cinder-2014.1\cinder\brick\local_dev\lvm.py
class LVM(executor.Executor):
def __init__(self, vg_name, root_helper, create_vg=False, physical_volumes=None, lvm_type='default', executor=putils.execute):
def _vg_exists(self):
def _create_vg(self, pv_list):
def _get_vg_uuid(self):
def _get_thin_pool_free_space(self, vg_name, thin_pool_name):
def get_lvm_version(root_helper):
def supports_thin_provisioning(root_helper):
def supports_snapshot_lv_activation(self):
def supports_lvchange_ignoreskipactivation(self):
def get_all_volumes(root_helper, vg_name=None):
def get_volumes(self):
def get_volume(self, name):
def get_all_physical_volumes(root_helper, vg_name=None):
def get_physical_volumes(self):
def get_all_volume_groups(root_helper, vg_name=None):
def update_volume_group_info(self):
def _calculate_thin_pool_size(self):
def create_thin_pool(self, name=None, size_str=None):
def create_volume(self, name, size_str, lv_type='default', mirror_count=0):
def create_lv_snapshot(self, name, source_lv_name, lv_type='default'):
def _mangle_lv_name(self, name):
def activate_lv(self, name, is_snapshot=False):
def delete(self, name):
def run_udevadm_settle():
def revert(self, snapshot_name):
def lv_has_snapshot(self, name):
def extend_volume(self, lv_name, new_size):
def vg_mirror_free_space(self, mirror_count):
def vg_mirror_size(self, mirror_count):
def rename_volume(self, lv_name, new_name):
\OpenStack\cinder-2014.1\cinder\brick\local_dev\__init__.py
\OpenStack\cinder-2014.1\cinder\brick\remotefs\remotefs.py
class RemoteFsClient(object):
def __init__(self, mount_type, root_helper, execute=putils.execute, *args, **kwargs):
def set_execute(self, execute):
def _get_hash_str(self, base_str):
def get_mount_point(self, device_name):
def _read_mounts(self):
def mount(self, share, flags=None):
def _do_mount(self, mount_type, share, mount_path, mount_options=None, flags=None):
def _mount_nfs(self, nfs_share, mount_path, flags=None):
def _check_nfs_options(self):
def _option_exists(self, options, opt_pattern):
def _update_option(self, options, option, value=None):
\OpenStack\cinder-2014.1\cinder\brick\remotefs\__init__.py
\OpenStack\cinder-2014.1\cinder\brick\__init__.py
\OpenStack\cinder-2014.1\cinder\common\config.py
def _get_my_ip():
\OpenStack\cinder-2014.1\cinder\common\sqlalchemyutils.py
def paginate_query(query, model, limit, sort_keys, marker=None, sort_dir=None, sort_dirs=None):
\OpenStack\cinder-2014.1\cinder\common\__init__.py
\OpenStack\cinder-2014.1\cinder\compute\aggregate_states.py
\OpenStack\cinder-2014.1\cinder\compute\nova.py
def novaclient(context, admin=False):
class API(base.Base):
def update_server_volume(self, context, server_id, attachment_id, new_volume_id):
def create_volume_snapshot(self, context, volume_id, create_info):
def delete_volume_snapshot(self, context, snapshot_id, delete_info):
\OpenStack\cinder-2014.1\cinder\compute\__init__.py
def API():
\OpenStack\cinder-2014.1\cinder\context.py
def generate_request_id():
class RequestContext(object):
def __init__(self, user_id, project_id, is_admin=None, read_deleted="no", roles=None, project_name=None, remote_address=None, timestamp=None, request_id=None, auth_token=None, overwrite=True, quota_class=None, service_catalog=None, domain=None, user_domain=None, project_domain=None, **kwargs):
def _get_read_deleted(self):
def _set_read_deleted(self, read_deleted):
def _del_read_deleted(self):
def update_store(self):
def to_dict(self):
def from_dict(cls, values):
def elevated(self, read_deleted=None, overwrite=False):
def deepcopy(self):
def tenant(self):
def user(self):
def get_admin_context(read_deleted="no"):
\OpenStack\cinder-2014.1\cinder\db\api.py
def service_destroy(context, service_id):
def service_get(context, service_id):
def service_get_by_host_and_topic(context, host, topic):
def service_get_all(context, disabled=None):
def service_get_all_by_topic(context, topic):
def service_get_all_by_host(context, host):
def service_get_all_volume_sorted(context):
def service_get_by_args(context, host, binary):
def service_create(context, values):
def service_update(context, service_id, values):
def iscsi_target_count_by_host(context, host):
def iscsi_target_create_safe(context, values):
def volume_allocate_iscsi_target(context, volume_id, host):
def volume_attached(context, volume_id, instance_id, host_name, mountpoint):
def volume_create(context, values):
def volume_data_get_for_host(context, host):
def volume_data_get_for_project(context, project_id):
def finish_volume_migration(context, src_vol_id, dest_vol_id):
def volume_destroy(context, volume_id):
def volume_detached(context, volume_id):
def volume_get(context, volume_id):
def volume_get_all(context, marker, limit, sort_key, sort_dir, filters=None):
def volume_get_all_by_host(context, host):
def volume_get_all_by_instance_uuid(context, instance_uuid):
def volume_get_all_by_project(context, project_id, marker, limit, sort_key, sort_dir, filters=None):
def volume_get_iscsi_target_num(context, volume_id):
def volume_update(context, volume_id, values):
def snapshot_create(context, values):
def snapshot_destroy(context, snapshot_id):
def snapshot_get(context, snapshot_id):
def snapshot_get_all(context):
def snapshot_get_all_by_project(context, project_id):
def snapshot_get_all_for_volume(context, volume_id):
def snapshot_update(context, snapshot_id, values):
def snapshot_data_get_for_project(context, project_id, volume_type_id=None):
def snapshot_get_active_by_window(context, begin, end=None, project_id=None):
def snapshot_metadata_get(context, snapshot_id):
def snapshot_metadata_delete(context, snapshot_id, key):
def snapshot_metadata_update(context, snapshot_id, metadata, delete):
def volume_metadata_get(context, volume_id):
def volume_metadata_delete(context, volume_id, key):
def volume_metadata_update(context, volume_id, metadata, delete):
def volume_admin_metadata_get(context, volume_id):
def volume_admin_metadata_delete(context, volume_id, key):
def volume_admin_metadata_update(context, volume_id, metadata, delete):
def volume_type_create(context, values):
def volume_type_get_all(context, inactive=False):
def volume_type_get(context, id, inactive=False):
def volume_type_get_by_name(context, name):
def volume_type_qos_associations_get(context, qos_specs_id, inactive=False):
def volume_type_qos_associate(context, type_id, qos_specs_id):
def volume_type_qos_disassociate(context, qos_specs_id, type_id):
def volume_type_qos_disassociate_all(context, qos_specs_id):
def volume_type_qos_specs_get(context, type_id):
def volume_type_destroy(context, id):
def volume_get_active_by_window(context, begin, end=None, project_id=None):
def volume_type_extra_specs_get(context, volume_type_id):
def volume_type_extra_specs_delete(context, volume_type_id, key):
def volume_type_extra_specs_update_or_create(context, volume_type_id, extra_specs):
def volume_type_encryption_get(context, volume_type_id, session=None):
def volume_type_encryption_delete(context, volume_type_id):
def volume_type_encryption_create(context, volume_type_id, encryption_specs):
def volume_type_encryption_update(context, volume_type_id, encryption_specs):
def volume_type_encryption_volume_get(context, volume_type_id, session=None):
def volume_encryption_metadata_get(context, volume_id, session=None):
def qos_specs_create(context, values):
def qos_specs_get(context, qos_specs_id):
def qos_specs_get_all(context, inactive=False, filters=None):
def qos_specs_get_by_name(context, name):
def qos_specs_associations_get(context, qos_specs_id):
def qos_specs_associate(context, qos_specs_id, type_id):
def qos_specs_disassociate(context, qos_specs_id, type_id):
def qos_specs_disassociate_all(context, qos_specs_id):
def qos_specs_delete(context, qos_specs_id):
def qos_specs_item_delete(context, qos_specs_id, key):
def qos_specs_update(context, qos_specs_id, specs):
def volume_glance_metadata_create(context, volume_id, key, value):
def volume_glance_metadata_get_all(context):
def volume_glance_metadata_get(context, volume_id):
def volume_snapshot_glance_metadata_get(context, snapshot_id):
def volume_glance_metadata_copy_to_snapshot(context, snapshot_id, volume_id):
def volume_glance_metadata_copy_to_volume(context, volume_id, snapshot_id):
def volume_glance_metadata_delete_by_volume(context, volume_id):
def volume_glance_metadata_delete_by_snapshot(context, snapshot_id):
def volume_glance_metadata_copy_from_volume_to_volume(context, src_volume_id, volume_id):
def quota_create(context, project_id, resource, limit):
def quota_get(context, project_id, resource):
def quota_get_all_by_project(context, project_id):
def quota_update(context, project_id, resource, limit):
def quota_destroy(context, project_id, resource):
def quota_class_create(context, class_name, resource, limit):
def quota_class_get(context, class_name, resource):
def quota_class_get_default(context):
def quota_class_get_all_by_name(context, class_name):
def quota_class_update(context, class_name, resource, limit):
def quota_class_destroy(context, class_name, resource):
def quota_class_destroy_all_by_name(context, class_name):
def quota_usage_get(context, project_id, resource):
def quota_usage_get_all_by_project(context, project_id):
def reservation_create(context, uuid, usage, project_id, resource, delta, expire):
def reservation_get(context, uuid):
def reservation_get_all_by_project(context, project_id):
def reservation_destroy(context, uuid):
def quota_reserve(context, resources, quotas, deltas, expire, until_refresh, max_age, project_id=None):
def reservation_commit(context, reservations, project_id=None):
def reservation_rollback(context, reservations, project_id=None):
def quota_destroy_all_by_project(context, project_id):
def reservation_expire(context):
def backup_get(context, backup_id):
def backup_get_all(context):
def backup_get_all_by_host(context, host):
def backup_create(context, values):
def backup_get_all_by_project(context, project_id):
def backup_update(context, backup_id, values):
def backup_destroy(context, backup_id):
def transfer_get(context, transfer_id):
def transfer_get_all(context):
def transfer_get_all_by_project(context, project_id):
def transfer_create(context, values):
def transfer_destroy(context, transfer_id):
def transfer_accept(context, transfer_id, user_id, project_id):
\OpenStack\cinder-2014.1\cinder\db\base.py
class Base(object):
def __init__(self, db_driver=None):
\OpenStack\cinder-2014.1\cinder\db\migration.py
def db_sync(version=None):
def db_version():
def db_initial_version():
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\api.py
def get_backend():
def is_admin_context(context):
def is_user_context(context):
def authorize_project_context(context, project_id):
def authorize_user_context(context, user_id):
def authorize_quota_class_context(context, class_name):
def require_admin_context(f):
def require_context(f):
def require_volume_exists(f):
def require_snapshot_exists(f):
def model_query(context, *args, **kwargs):
def _sync_volumes(context, project_id, session, volume_type_id=None, volume_type_name=None):
def _sync_snapshots(context, project_id, session, volume_type_id=None, volume_type_name=None):
def _sync_gigabytes(context, project_id, session, volume_type_id=None, volume_type_name=None):
def service_destroy(context, service_id):
def _service_get(context, service_id, session=None):
def service_get(context, service_id):
def service_get_all(context, disabled=None):
def service_get_all_by_topic(context, topic):
def service_get_by_host_and_topic(context, host, topic):
def service_get_all_by_host(context, host):
def _service_get_all_topic_subquery(context, session, topic, subq, label):
def service_get_all_volume_sorted(context):
def service_get_by_args(context, host, binary):
def service_create(context, values):
def service_update(context, service_id, values):
def _metadata_refs(metadata_dict, meta_class):
def _dict_with_extra_specs(inst_type_query):
def iscsi_target_count_by_host(context, host):
def iscsi_target_create_safe(context, values):
def _quota_get(context, project_id, resource, session=None):
def quota_get(context, project_id, resource):
def quota_get_all_by_project(context, project_id):
def quota_create(context, project_id, resource, limit):
def quota_update(context, project_id, resource, limit):
def quota_destroy(context, project_id, resource):
def _quota_class_get(context, class_name, resource, session=None):
def quota_class_get(context, class_name, resource):
def quota_class_get_default(context):
def quota_class_get_all_by_name(context, class_name):
def quota_class_create(context, class_name, resource, limit):
def quota_class_update(context, class_name, resource, limit):
def quota_class_destroy(context, class_name, resource):
def quota_class_destroy_all_by_name(context, class_name):
def quota_usage_get(context, project_id, resource):
def quota_usage_get_all_by_project(context, project_id):
def _quota_usage_create(context, project_id, resource, in_use, reserved, until_refresh, session=None):
def _reservation_get(context, uuid, session=None):
def reservation_get(context, uuid):
def reservation_get_all_by_project(context, project_id):
def _reservation_create(context, uuid, usage, project_id, resource, delta, expire, session=None):
def reservation_create(context, uuid, usage, project_id, resource, delta, expire):
def reservation_destroy(context, uuid):
def _get_quota_usages(context, session, project_id):
def quota_reserve(context, resources, quotas, deltas, expire, until_refresh, max_age, project_id=None):
def _quota_reservations(session, context, reservations):
def reservation_commit(context, reservations, project_id=None):
def reservation_rollback(context, reservations, project_id=None):
def quota_destroy_all_by_project(context, project_id):
def reservation_expire(context):
def volume_allocate_iscsi_target(context, volume_id, host):
def volume_attached(context, volume_id, instance_uuid, host_name, mountpoint):
def volume_create(context, values):
def volume_data_get_for_host(context, host):
def _volume_data_get_for_project(context, project_id, volume_type_id=None, session=None):
def volume_data_get_for_project(context, project_id, volume_type_id=None):
def finish_volume_migration(context, src_vol_id, dest_vol_id):
def volume_destroy(context, volume_id):
def volume_detached(context, volume_id):
def _volume_get_query(context, session=None, project_only=False):
def _volume_get(context, volume_id, session=None):
def volume_get(context, volume_id):
def volume_get_all(context, marker, limit, sort_key, sort_dir, filters=None):
def volume_get_all_by_host(context, host):
def volume_get_all_by_instance_uuid(context, instance_uuid):
def volume_get_all_by_project(context, project_id, marker, limit, sort_key, sort_dir, filters=None):
def _generate_paginate_query(context, session, marker, limit, sort_key, sort_dir, filters):
def volume_get_iscsi_target_num(context, volume_id):
def volume_update(context, volume_id, values):
def _volume_x_metadata_get_query(context, volume_id, model, session=None):
def _volume_x_metadata_get(context, volume_id, model, session=None):
def _volume_x_metadata_get_item(context, volume_id, key, model, notfound_exec, session=None):
def _volume_x_metadata_update(context, volume_id, metadata, delete, model, notfound_exec, session=None):
def _volume_user_metadata_get_query(context, volume_id, session=None):
def _volume_user_metadata_get(context, volume_id, session=None):
def _volume_user_metadata_get_item(context, volume_id, key, session=None):
def _volume_user_metadata_update(context, volume_id, metadata, delete, session=None):
def volume_metadata_get_item(context, volume_id, key):
def volume_metadata_get(context, volume_id):
def volume_metadata_delete(context, volume_id, key):
def volume_metadata_update(context, volume_id, metadata, delete):
def _volume_admin_metadata_get_query(context, volume_id, session=None):
def _volume_admin_metadata_get(context, volume_id, session=None):
def _volume_admin_metadata_update(context, volume_id, metadata, delete, session=None):
def volume_admin_metadata_get(context, volume_id):
def volume_admin_metadata_delete(context, volume_id, key):
def volume_admin_metadata_update(context, volume_id, metadata, delete):
def snapshot_create(context, values):
def snapshot_destroy(context, snapshot_id):
def _snapshot_get(context, snapshot_id, session=None):
def snapshot_get(context, snapshot_id):
def snapshot_get_all(context):
def snapshot_get_all_for_volume(context, volume_id):
def snapshot_get_all_by_project(context, project_id):
def _snapshot_data_get_for_project(context, project_id, volume_type_id=None, session=None):
def snapshot_data_get_for_project(context, project_id, volume_type_id=None):
def snapshot_get_active_by_window(context, begin, end=None, project_id=None):
def snapshot_update(context, snapshot_id, values):
def _snapshot_metadata_get_query(context, snapshot_id, session=None):
def _snapshot_metadata_get(context, snapshot_id, session=None):
def snapshot_metadata_get(context, snapshot_id):
def snapshot_metadata_delete(context, snapshot_id, key):
def _snapshot_metadata_get_item(context, snapshot_id, key, session=None):
def snapshot_metadata_update(context, snapshot_id, metadata, delete):
def volume_type_create(context, values):
def volume_type_get_all(context, inactive=False, filters=None):
def _volume_type_get(context, id, session=None, inactive=False):
def volume_type_get(context, id, inactive=False):
def _volume_type_get_by_name(context, name, session=None):
def volume_type_get_by_name(context, name):
def volume_type_qos_associations_get(context, qos_specs_id, inactive=False):
def volume_type_qos_associate(context, type_id, qos_specs_id):
def volume_type_qos_disassociate(context, qos_specs_id, type_id):
def volume_type_qos_disassociate_all(context, qos_specs_id):
def volume_type_qos_specs_get(context, type_id):
def volume_type_destroy(context, id):
def volume_get_active_by_window(context, begin, end=None, project_id=None):
def _volume_type_extra_specs_query(context, volume_type_id, session=None):
def volume_type_extra_specs_get(context, volume_type_id):
def volume_type_extra_specs_delete(context, volume_type_id, key):
def _volume_type_extra_specs_get_item(context, volume_type_id, key, session=None):
def volume_type_extra_specs_update_or_create(context, volume_type_id, specs):
def qos_specs_create(context, values):
def _qos_specs_get_by_name(context, name, session=None, inactive=False):
def _qos_specs_get_ref(context, qos_specs_id, session=None, inactive=False):
def _dict_with_children_specs(specs):
def _dict_with_qos_specs(rows):
def qos_specs_get(context, qos_specs_id, inactive=False):
def qos_specs_get_all(context, inactive=False, filters=None):
def qos_specs_get_by_name(context, name, inactive=False):
def qos_specs_associations_get(context, qos_specs_id):
def qos_specs_associate(context, qos_specs_id, type_id):
def qos_specs_disassociate(context, qos_specs_id, type_id):
def qos_specs_disassociate_all(context, qos_specs_id):
def qos_specs_item_delete(context, qos_specs_id, key):
def qos_specs_delete(context, qos_specs_id):
def _qos_specs_get_item(context, qos_specs_id, key, session=None):
def qos_specs_update(context, qos_specs_id, specs):
def volume_type_encryption_get(context, volume_type_id, session=None):
def volume_type_encryption_delete(context, volume_type_id):
def volume_type_encryption_create(context, volume_type_id, values):
def volume_type_encryption_update(context, volume_type_id, values):
def volume_type_encryption_volume_get(context, volume_type_id, session=None):
def volume_encryption_metadata_get(context, volume_id, session=None):
def _volume_glance_metadata_get_all(context, session=None):
def volume_glance_metadata_get_all(context):
def _volume_glance_metadata_get(context, volume_id, session=None):
def volume_glance_metadata_get(context, volume_id):
def _volume_snapshot_glance_metadata_get(context, snapshot_id, session=None):
def volume_snapshot_glance_metadata_get(context, snapshot_id):
def volume_glance_metadata_create(context, volume_id, key, value):
def volume_glance_metadata_copy_to_snapshot(context, snapshot_id, volume_id):
def volume_glance_metadata_copy_from_volume_to_volume(context, src_volume_id, volume_id):
def volume_glance_metadata_copy_to_volume(context, volume_id, snapshot_id):
def volume_glance_metadata_delete_by_volume(context, volume_id):
def volume_glance_metadata_delete_by_snapshot(context, snapshot_id):
def backup_get(context, backup_id):
def backup_get_all(context):
def backup_get_all_by_host(context, host):
def backup_get_all_by_project(context, project_id):
def backup_create(context, values):
def backup_update(context, backup_id, values):
def backup_destroy(context, backup_id):
def _transfer_get(context, transfer_id, session=None):
def transfer_get(context, transfer_id):
def _translate_transfers(transfers):
def transfer_get_all(context):
def transfer_get_all_by_project(context, project_id):
def transfer_create(context, values):
def transfer_destroy(context, transfer_id):
def transfer_accept(context, transfer_id, user_id, project_id):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\manage.py
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\001_cinder_init.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\002_quota_class.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\003_glance_metadata.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\004_volume_type_to_uuid.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\005_add_source_volume_column.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\006_snapshots_add_provider_location.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\007_add_volume_snapshot_fk.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\008_add_backup.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\009_add_snapshot_metadata_table.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\010_add_transfers_table.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\011_add_bootable_column.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\012_add_attach_host_column.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\013_add_provider_geometry_column.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\014_add_name_id.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\015_drop_migrations_table.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\016_drop_sm_tables.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\017_add_encryption_information.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\018_add_qos_specs.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\019_add_migration_status.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\020_add_volume_admin_metadata_table.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\021_add_default_quota_class.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\022_add_reason_column_to_service.py
def upgrade(migrate_engine):
def downgrade(migrate_engine):
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\versions\__init__.py
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migrate_repo\__init__.py
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\migration.py
def db_sync(version=None):
def db_version():
def db_initial_version():
def db_version_control(version=None):
def _find_migrate_repo():
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\models.py
class CinderBase(models.TimestampMixin,
models.ModelBase):
def delete(self, session=None):
class Service(BASE, CinderBase):
class Volume(BASE, CinderBase):
def name_id(self):
def name_id(self, value):
def name(self):
class VolumeMetadata(BASE, CinderBase):
class VolumeAdminMetadata(BASE, CinderBase):
class VolumeTypes(BASE, CinderBase):
class VolumeTypeExtraSpecs(BASE, CinderBase):
class QualityOfServiceSpecs(BASE, CinderBase):
class VolumeGlanceMetadata(BASE, CinderBase):
class Quota(BASE, CinderBase):
class QuotaClass(BASE, CinderBase):
class QuotaUsage(BASE, CinderBase):
def total(self):
class Reservation(BASE, CinderBase):
class Snapshot(BASE, CinderBase):
def name(self):
def volume_name(self):
class SnapshotMetadata(BASE, CinderBase):
class IscsiTarget(BASE, CinderBase):
class Backup(BASE, CinderBase):
def name(self):
class Encryption(BASE, CinderBase):
class Transfer(BASE, CinderBase):
def register_models():
\OpenStack\cinder-2014.1\cinder\db\sqlalchemy\__init__.py
\OpenStack\cinder-2014.1\cinder\db\__init__.py
\OpenStack\cinder-2014.1\cinder\exception.py
class ConvertedException(webob.exc.WSGIHTTPException):
def __init__(self, code=0, title="", explanation=""):
class Error(Exception):
class CinderException(Exception):
def __init__(self, message=None, **kwargs):
def __unicode__(self):
class VolumeBackendAPIException(CinderException):
class VolumeDriverException(CinderException):
class BackupDriverException(CinderException):
class GlanceConnectionFailed(CinderException):
class NotAuthorized(CinderException):
class AdminRequired(NotAuthorized):
class PolicyNotAuthorized(NotAuthorized):
class ImageNotAuthorized(CinderException):
class DriverNotInitialized(CinderException):
class Invalid(CinderException):
OpenStack IndexPreviousNext
|