6604a3d xenconfig: support xl<->xml conversion of rbd disk devices

Authored and Committed by Jim Fehlig 8 years ago
    xenconfig: support xl<->xml conversion of rbd disk devices
    
    The target= setting in xl disk configuration can be used to encode
    meta info that is meaningful to a backend. Leverage this fact to
    support qdisk network disk types such as rbd. E.g. <disk> config
    such as
    
       <disk type='network' device='disk'>
         <driver name='qemu' type='raw'/>
         <source protocol='rbd' name='pool/image'>
           <host name='mon1.example.org' port='6321'/>
           <host name='mon2.example.org' port='6322'/>
           <host name='mon3.example.org' port='6322'/>
         </source>
         <target dev='hdb' bus='ide'/>
         <address type='drive' controller='0' bus='0' target='0' unit='1'/>
       </disk>
    
    can be converted to the following xl config (and vice versa)
    
      disk = [ "format=raw,vdev=hdb,access=rw,backendtype=qdisk,
                target=rbd:pool/image:auth_supported=none:mon_host=mon1.example.org\\:6321\\;mon2.example.org\\:6322\\;mon3.example.org\\:6322"
             ]
    
    Note that in xl disk config, a literal backslash in target= must
    be escaped with a backslash. Conversion of <auth> config is not
    handled in this patch, but can be done in a follow-up patch.
    
    Also add a test for the conversions.
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>
    
        
file modified
+145 -6
file modified
+1 -0