Repository URL to install this package:
|
Version:
2.5 ▾
|
ó
±EYc @ s¶ d d l m Z d d l m Z d d l Z d d l Z d d l m Z m
Z
d d l m Z d d l m Z
d d l m Z e j j Z e j e Z d e j f d YZ d S( iÿÿÿÿ( t processutils( t logN( t _LEt _LW( t utils( t fst LibvirtGlusterfsVolumeDriverc B sJ e Z d Z d Z d Z d Z d Z d Z d e d Z
RS( s= Class implements libvirt part of volume driver for GlusterFS.c C s
t j j S( N( t CONFt libvirtt glusterfs_mount_point_base( t self( ( sW /home/tvault/.virtenv/lib/python2.7/site-packages/nova/virt/libvirt/volume/glusterfs.pyt _get_mount_point_base s c C sä t t | j | | } | d } d t j j k r | d j d d } | d j d d d } d g | _ d | _ d | _ | g | _
d
| | d f | _ n d | _ | d d
| _ | d j
d d | _ | S( s Returns xml for libvirt.t datat glustert exportt /i i iÿÿÿÿt 24007t networks %s/%st namet filet device_patht formatt raw( t superR t
get_configR R t qemu_allowed_storage_driverst splitt source_portst source_typet source_protocolt source_hostst source_namet source_patht gett
driver_format( R
t connection_infot disk_infot confR t vol_namet source_host( ( sW /home/tvault/.virtenv/lib/python2.7/site-packages/nova/virt/libvirt/volume/glusterfs.pyR # s
c C s= d t j j k r9 | j | | j | | d d <n d S( NR
R R ( R R R t _ensure_mountedt _get_device_path( R
R# t mount_device( ( sW /home/tvault/.virtenv/lib/python2.7/site-packages/nova/virt/libvirt/volume/glusterfs.pyt connect_volume; s
c C s¨ d t j j k r d S| j | } y t j d | d t Wnb t j k
r£ } | d d } d t j
| k r t j d | q¤ t j
t d | n Xd S(
s Disconnect the volume.R
Nt umountt run_as_rootR R s target is busys' The GlusterFS share %s is still in use.s' Couldn't unmount the GlusterFS share %s( R R R t _get_mount_pathR t executet TrueR t ProcessExecutionErrort sixt text_typet LOGt debugt exceptionR ( R
R# t disk_devt
mount_patht excR ( ( sW /home/tvault/.virtenv/lib/python2.7/site-packages/nova/virt/libvirt/volume/glusterfs.pyt disconnect_volumeA s c C sb | d d } | j | } t j | | s^ | d j d } | j | | | d t n | S( s$ @type connection_info: dict
R R t optionst ensure( R. t
libvirt_utilst
is_mountedR! t _mount_glusterfsR0 ( R
R# t glusterfs_exportR8 R; ( ( sW /home/tvault/.virtenv/lib/python2.7/site-packages/nova/virt/libvirt/volume/glusterfs.pyR( S s c C sÅ t j d d | d d d g } | d
k rG | j | j d n | j | | g y t j d t | WnM t j k
rÀ } | rº d t j | k rº t
j t d | qÁ n Xd
S( s% Mount glusterfs export to mount path.t mkdirs -pt mounts -tt glusterfst R- s already mounteds %s is already mountedN(
R R/ t Nonet extendR R0 R R1 R2 R3 R4 t warningR ( R
R8 t glusterfs_shareR; R<