
    Hg)R              
          d dl Z d dlZd dlZd dlmZmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZmZmZ ej                            dg d	          d
             Zej                            d e j        d          dfddddddg          d             Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$ej                            d!d"g          d#             Z%ej                            d$d%g          d&             Z&ej                            d'd(g          d)             Z'ej                            d*d+g          d,             Z(ej                            d-d.g          d/             Z)d0 Z*d1 Z+ej                            d2d3g          d4             Z,ej                            d5d6g          d7             Z-ej                            d8d9g          d:             Z.dS );    N)drive_selection	translate)HostSpecSpecValidationError)Device)PlacementSpec)_mk_inventory
_mk_device)DriveGroupSpecDeviceSelectionDriveGroupValidationError
test_input)service_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
crush_device_class: ssd
data_devices:
  paths:
  - /dev/sda
zservice_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: ssdzservice_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
spec:
  osds_per_device: 2
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hddc                 H   t          j        t          j        |                     }|j        dk    sJ t          d |j        j        D                       sJ t          |j        j        d         j	        t                    r|j        j        d         j	        dk    sJ d S d S )Ntesting_drivegroupc                 8    g | ]}t          |t                    S  
isinstancer   .0xs     =/usr/lib/python3/dist-packages/ceph/tests/test_drive_group.py
<listcomp>z#test_DriveGroup.<locals>.<listcomp>7   s"    EEE!
1f%%EEE    r   /dev/sda)r   	from_jsonyaml	safe_load
service_idalldata_devicespathsr   pathstr)r   dgs     r   test_DriveGroupr'      s    L 
	!$."<"<	=	=B=00000EEr/DEEEFFFFF"/'*/55 ;$Q',
::::; ;::r   zmatch,test_inputz8Service Spec is not an (JSON or YAML) object. got "None" )z=Failed to validate OSD spec "<unnamed>": `placement` requiredzdata_devices:
  all: True
)zQFailed to validate OSD spec "mydg.data_devices": device selection cannot be emptyz\
service_type: osd
service_id: mydg
placement:
  host_pattern: '*'
data_devices:
  limit: 1
)zMFailed to validate OSD spec "mydg": filter_logic must be either <AND> or <OR>zo
service_type: osd
service_id: mydg
placement:
  host_pattern: '*'
data_devices:
  all: True
filter_logic: XOR
)zGFailed to validate OSD spec "mydg": `data_devices` element is required.zh
service_type: osd
service_id: mydg
placement:
  host_pattern: '*'
spec:
  db_devices:
    model: model
)z[Failed to validate OSD spec "mydg.db_devices": Filtering for `unknown_key` is not supportedzj
service_type: osd
service_id: mydg
placement:
  host_pattern: '*'
spec:
  db_devices:
    unknown_key: 1
)zJFailed to validate OSD spec "mydg": Feature `unknown_key` is not supportedzv
service_type: osd
service_id: mydg
placement:
  host_pattern: '*'
spec:
  db_devices:
    all: true
  unknown_key: 1
c                     t          j        t          |           5  t          j        t          j        |                    }|                                 d d d            d S # 1 swxY w Y   d S )Nmatch)pytestraisesr   r   r   r   r   validate)r+   r   osd_specs      r   test_DriveGroup_failr0   =   s    J 
*%	8	8	8  !+DN:,F,FGG                    ;A$$A(+A(c                      t          t          d          dt          d                    } | j                            d t          d          D                       g d	k    sJ d S )
Nz	node[1-3]host_patternfoobarTr!   r    r"   c                 R    g | ]$}t          d                     |                    %S )znode{})r   format)r   is     r   r   z+test_drivegroup_pattern.<locals>.<listcomp>   s-    2c2c2cTU8HOOA<N<N3O3O2c2c2cr   
   )node1node2node3)r   r   r   	placementfilter_matching_hostspecsrange)r&   s    r   test_drivegroup_patternrB      s    	;///$...
0 
0 
0B <112c2cY^_aYbYb2c2c2cdd  iD  iD  iD  D  D  D  D  D  Dr   c                     t          dg          } t          t          d          d|           }t          d |j        j        D                       sJ |j        j        d         j        dk    sJ t          j        t          d	          5  t          dgd
          }|
                    d           d d d            d S # 1 swxY w Y   d S )Nr   )r#   	node_namer5   r7   c                 8    g | ]}t          |t                    S r   r   r   s     r   r   z(test_drive_selection.<locals>.<listcomp>   s"    GGG!
1f%%GGGr   r   	exclusiver*   F)r#   
rotationalr(   )r   r   r   r!   r"   r#   r$   r,   r-   r   r.   )devsspecdss      r   test_drive_selectionrK      s    *...Dk""  D GGt/@/FGGGHHHHH"1%*j8888	0	D	D	D  J<EBBB
B                 s   (CC
Cc                     t          t          d          dt          d                    } |                                  t	          t                      dz            }t          j        | |          }t          j	        |g           
                                }t          d |D                       sJ d	t           d
|             d S )N*r3   r5   Tr6   )r?   r    r"      c              3   "   K   | ]
}|d k    V  dS )z8lvm batch --no-auto /dev/sda /dev/sdb --yes --no-systemdNr   r   cmds     r   	<genexpr>z-test_ceph_volume_command_0.<locals>.<genexpr>   s)      aaUXsPPaaaaaar   	Expected  in r   r   r   r.   r	   r
   r   DriveSelectionr   to_ceph_volumerunr!   rQ   rI   	inventoryselcmdss       r   test_ceph_volume_command_0r]      s    Ms$C$C$C%-'64'@'@'@  D 	MMOOOjll1n--I

(y
9
9C#C,,0022Daa\`aaaaa~~c~orc~c~x|c~c~~~~~~r   c                     t          t          d          dt          d          t          d                    } |                                  t	          t          d          dz  t          d          dz  z             }t          j        | |          }t          j	        |g           
                                }t          d	 |D                       sJ d
t           d|             d S )NrM   r3   r5   TrG   F)r?   r    r"   
db_devicesrN   c              3   "   K   | ]
}|d k    V  dS )zWlvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc /dev/sdd --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_1.<locals>.<genexpr>   sJ       Y YLO  G H Y Y Y Y Y Yr   rS   rT   rU   rY   s       r   test_ceph_volume_command_1rb      s$   Ms$C$C$C%-'6$'G'G'G%4%F%F%F  D
 	MMOOOjD999!;jTY>Z>Z>Z[\>\\]]I

(y
9
9C#C,,0022D Y YSWY Y Y Y Y v vZufiZuZuosZuZuv v v v vr   c            	      4   t          t          d          dt          dd          t          dd          t          d	          
          } |                                  t	          t          dd          dz  t          dd          dz  z   t          dd          dz  z             }t          j        | |          }t          j	        |g           
                                }t          d |D                       sJ dt           d|             d S )NrM   r3   r5   200GB:350GBTsizerG   F10Grf   )r?   r    r"   r`   wal_devices	300.00 GBrG   rf   rN   10.0 GBc              3   "   K   | ]
}|d k    V  dS )zwlvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_2.<locals>.<genexpr>   s@       : :-0  ( ) : : : : : :r   rS   rT   rU   rY   s       r   test_ceph_volume_command_2rn      sW   Ms$C$C$C%-'6MVZ'['['[%4-TY%Z%Z%Z&55&A&A&A	  D 	MMOOOjD{KKKAM(ELLLQNO(iEJJJ1LM    I 
(y
9
9C#C,,0022D : :48: : : : : W W;Vs;V;VPT;V;VW W W W Wr   c            	      6   t          t          d          dt          dd          t          dd          t          d	          d
          } |                                  t	          t          dd          dz  t          dd          dz  z   t          dd          dz  z             }t          j        | |          }t          j	        |g           
                                }t          d |D                       sJ dt           d|             d S )NrM   r3   r5   rd   Tre   Frg   rh   )r?   r    r"   r`   ri   	encryptedrj   rk   rN   rl   c              3   "   K   | ]
}|d k    V  dS )zlvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf --dmcrypt --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_3.<locals>.<genexpr>   sB       : : .1  ( ) : : : : : :r   rS   rT   rU   rY   s       r   test_ceph_volume_command_3rr      s_   Ms$C$C$C%-'6MVZ'['['[%4-TY%Z%Z%Z&55&A&A&A$(  D 	MMOOOjD{KKKAM(ELLLQNO(iEJJJ1LM    I 
(y
9
9C#C,,0022D : : 59: : : : : W W <Ws;V;VPT;V;VW W W W Wr   c                  <   t          t          d          dt          dd          t          dd          t          d	          d
d
dd	  	        } |                                  t	          t          dd          dz  t          dd          dz  z   t          dd          dz  z             }t          j        | |          }t          j	        |g           
                                }t          d |D                       sJ dt           d|             d S )NrM   r3   r5   rd   Tre   Frg   rh   500M   )	r?   r    r"   r`   ri   block_db_sizeblock_wal_sizeosds_per_devicerp   rj   rk   rN   rl   c              3   "   K   | ]
}|d k    V  dS )zlvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc /dev/sdd --wal-devices /dev/sde /dev/sdf --block-wal-size 500M --block-db-size 500M --dmcrypt --osds-per-device 3 --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_4.<locals>.<genexpr>   sL       N N BE  < = N N N N N Nr   rS   rT   rU   rY   s       r   test_ceph_volume_command_4rz      ss   Ms$C$C$C%-'6MVZ'['['[%4-TY%Z%Z%Z&55&A&A&A(.)/*+$(	 	 	D 	MMOOOjD{KKKAM(ELLLQNO(iEJJJ1LM    I 
(y
9
9C#C,,0022D N N IMN N N N N k k Pk[^OjOjdhOjOjk k k k kr   c                     t          t          d          dt          d          d          } t          j        t
                    5  |                                  d d d            n# 1 swxY w Y   t          t          d          dz            }t          j
        | |          }t          j        |g                                           }t          d	 |D                       sJ d
t           d|             d S )NrM   r3   r5   Tr_   	filestore)r?   r    r"   objectstorerN   c              3   "   K   | ]
}|d k    V  dS )zDlvm batch --no-auto /dev/sda /dev/sdb --filestore --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_5.<locals>.<genexpr>  s)      mmads\\mmmmmmr   rS   rT   r   r   r   r,   r-   r   r.   r	   r
   r   rV   r   rW   rX   r!   rQ   rY   s       r   test_ceph_volume_command_5r      sk   Ms$C$C$C%-'6$'G'G'G&1  D
 
0	1	1                jD999!;<<I

(y
9
9C#C,,0022Dmmhlmmmmm  K  K  pK{~  pK  pK  EI  pK  pK  K  K  K  K  Ks   	A**A.1A.c                  J   t          t          d          dt          d          t          d          dd	          } t          j        t
                    5  |                                  d d d            n# 1 swxY w Y   t          t          d          d
z  t          d          d
z  z             }t          j
        | |          }t          j        |g                                           }t          d |D                       sJ dt           d|             d S )NrM   r3   r5   Fr_   Trt   r|   )r?   r    r"   journal_devicesjournal_sizer}   rN   c              3   "   K   | ]
}|d k    V  dS )z|lvm batch --no-auto /dev/sdc /dev/sdd --journal-size 500M --journal-devices /dev/sda /dev/sdb --filestore --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_6.<locals>.<genexpr>  sH       F F9<  4 5 F F F F F Fr   rS   rT   r   rY   s       r   test_ceph_volume_command_6r     s   Ms$C$C$C%-'6%'H'H'H*9T*J*J*J'-&1  D 
0	1	1                jD999!;jTY>Z>Z>Z[\>\\]]I

(y
9
9C#C,,0022D F F@DF F F F F c cGbSVGbGb\`GbGbc c c c cs   A::A>A>c                     t          t          d          dt          d          dddgi	          } |                                  t	          t          d
          dz            }t          j        | |          }t          j	        |ddg          
                                }t          d |D                       sJ dt           d|             d S )NrM   r3   r5   Tr6   host101)r?   r    r"   osd_id_claimsr_   rN   c              3   "   K   | ]
}|d k    V  dS )zFlvm batch --no-auto /dev/sda /dev/sdb --osd-ids 0 1 --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_7.<locals>.<genexpr>!  s)      oocfs^^oooooor   rS   rT   rU   rY   s       r   test_ceph_volume_command_7r     s   Ms$C$C$C%-'64'@'@'@)03*(=  D
 	MMOOOjD999!;<<I

(y
9
9C#C#s4488::Doojnooooo  M  M  rM  ~A  rM  rM  GK  rM  rM  M  M  M  M  Mr   c                     t          t          d          dt          dd          t          d          d	i 
          } |                                  t	          t          ddd          t          ddd          z   t          ddd          z             }t          j        | |          }t          j	        |g           
                                }t          d |D                       sJ dt           d|             d S )NrM   r3   r5   Tz
INTEL SSDS)rG   modelz
INTEL SSDP)r   OR)r?   r    r"   r`   filter_logicr   z1.82 TBzST2000DM001-1ER1)rG   rf   r   Fz223.0 GBzINTEL SSDSC2KG24z349.0 GBzINTEL SSDPED1K375GAc              3   "   K   | ]
}|d k    V  dS )zNlvm batch --no-auto /dev/sda /dev/sdb --db-devices /dev/sdc --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_8.<locals>.<genexpr>3  s)      wwknsffwwwwwwr   rS   rT   rU   rY   s       r   test_ceph_volume_command_8r   $  sT   Ms$C$C$C%-'6$l'['['[%4<%H%H%H'+(*  D 	MMOOOjD	Rdeee(E
Rdeeef(E
Rghhhi    I 
(y
9
9C#C,,0022Dwwrvwwwww  U  U  zU  FI  zU  zU  OS  zU  zU  U  U  U  U  Ur   c                     t          t          d          dt          d          d          } |                                  t	          t                      dz            }t          j        | |          }t          j	        |g           
                                }t          d	 |D                       sJ d
t           d|             d S )NrM   r3   r5   Tr6   g?)r?   r    r"   data_allocate_fractionrN   c              3   "   K   | ]
}|d k    V  dS )zUlvm batch --no-auto /dev/sda /dev/sdb --data-allocate-fraction 0.8 --yes --no-systemdNr   rP   s     r   rR   z-test_ceph_volume_command_9.<locals>.<genexpr>@  s)      ~~rusmm~~~~~~r   rS   rT   rU   rY   s       r   test_ceph_volume_command_9r   6  s   Ms$C$C$C%-'64'@'@'@14  D
 	MMOOOjll1n--I

(y
9
9C#C,,0022D~~y}~~~~~  \  \  A\  MP  A\  A\  VZ  A\  A\  \  \  \  \  \r   test_input_baser   c                 b   t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           }t          d |D                       sJ dt           d|             d S )Nc              3   "   K   | ]
}|d k    V  dS )zHlvm batch --no-auto /dev/sda --crush-device-class ssd --yes --no-systemdNr   rP   s     r   rR   z.test_ceph_volume_command_10.<locals>.<genexpr>W  s)      qqehs``qqqqqqr   rS   rT   r   r   r   r   r.   r   rV   r"   r#   r   rW   rX   r!   rQ   )r   rI   driver\   s       r   test_ceph_volume_command_10r   C  s     #DN?$C$CDDDMMOOO*41B1HIIE#E2..2244Dqqlpqqqqq  O  O  tO  @C  tO  tO  IM  tO  tO  O  O  O  O  Or   test_input1zservice_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
crush_device_class: ssd
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hdd
  - path: /dev/sdb
    crush_device_class: hdd
c                 b   t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           }t          d |D                       sJ dt           d|             d S )Nc              3   "   K   | ]
}|d k    V  dS )zQlvm batch --no-auto /dev/sda /dev/sdb --crush-device-class hdd --yes --no-systemdNr   rP   s     r   rR   z.test_ceph_volume_command_11.<locals>.<genexpr>q  s)      zznqsiizzzzzzr   rS   rT   r   )r   rI   r   r\   s       r   test_ceph_volume_command_11r   Z  s    $ #DN;$?$?@@DMMOOO*41B1HIIE#E2..2244Dzzuyzzzzz  X  X  }X  IL  }X  }X  RV  }X  }X  X  X  X  X  Xr   test_input2zservice_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
crush_device_class: ssd
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hdd
  - path: /dev/sdb
c                    t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           ddg}t                    t          |          k    sJ d| d             t          fd|D                       sJ d| d             d S )NzHlvm batch --no-auto /dev/sdb --crush-device-class ssd --yes --no-systemdHlvm batch --no-auto /dev/sda --crush-device-class hdd --yes --no-systemdrS    got c              3       K   | ]}|v V  	d S Nr   r   rQ   r\   s     r   rR   z.test_ceph_volume_command_12.<locals>.<genexpr>  '      44ssd{444444r   r   r   r   r   r.   r   rV   r"   r#   r   rW   rX   lenr!   )r   rI   r   expected_cmdsr\   s       @r   test_ceph_volume_command_12r   t  s    $ #DN;$?$?@@DMMOOO*41B1HIIE#E2..2244D 	SRM t99M*****,R,R,RD,R,R***4444m44444\\6\-6\6\VZ6\6\\\\\\r   test_input3zservice_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hdd
  - path: /dev/sdb
c                    t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           ddg}t                    t          |          k    sJ d| d             t          fd|D                       sJ d| d             d S )Nz/lvm batch --no-auto /dev/sdb --yes --no-systemdr   rS   r   c              3       K   | ]}|v V  	d S r   r   r   s     r   rR   z.test_ceph_volume_command_13.<locals>.<genexpr>  r   r   r   )r   rI   r   r   r\   s       @r   test_ceph_volume_command_13r     s    " #DN;$?$?@@DMMOOO*41B1HIIE#E2..2244D 	:RM t99M*****,R,R,RD,R,R***4444m44444\\6\-6\6\VZ6\6\\\\\\r   test_input4zservice_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
data_devices:
  paths:
  - crush_device_class: hdd
c                     t          j        t          d          5  t          j        t          j        |                     }|                                 d d d            d S # 1 swxY w Y   d S )NzDevice pathr*   )r,   r-   r   r   r   r   r   r.   )r   rI   s     r   test_ceph_volume_command_14r     s     
0	F	F	F  '{(C(CDD                 r1   c                  "   t          t          d          dt          d          t          d          d          } |                                  t	          t          d          t          d          z   t          d          z   t          d          z             }d	d
gt          j        | |          }t          j	        |g           
                                }t          fd|D                       sJ d d|             d S )NrM   r3   r5   Tr_   Frawr?   r    r"   r`   methodz;raw prepare --bluestore --data /dev/sda --block.db /dev/sdcz;raw prepare --bluestore --data /dev/sdb --block.db /dev/sddc              3       K   | ]}|v V  	d S r   r   )r   rQ   exp_cmdss     r   rR   z1test_raw_ceph_volume_command_0.<locals>.<genexpr>  s'      //3sh//////r   rS   z
 to match )r   r   r   r.   r	   r
   r   rV   r   rW   rX   r!   )rI   rZ   r[   r\   r   s       @r   test_raw_ceph_volume_command_0r     s:   Ms$C$C$C%-'6$'G'G'G%4%F%F%F!&	  D 	MMOOOjD999(D999:(E:::; )E:::;    I
 N  PM  NH

(y
9
9C#C,,0022D////$/////WW1WX1W1WQU1W1WWWWWWr   c                     t          t          d          dt          d          t          d          d          } |                                  t	          t          d          t          d          z   t          d          z             }t          j        | |          }t          j	        t                    5  t          j        |g                                           }d d d            d S # 1 swxY w Y   d S )	NrM   r3   r5   Tr_   Fr   r   )r   r   r   r.   r	   r
   r   rV   r,   r-   
ValueErrorr   rW   rX   rY   s       r   test_raw_ceph_volume_command_1r     s<   Ms$C$C$C%-'6$'G'G'G%4%F%F%F!&	  D 	MMOOOjD999(D999:(E:::;    I 
(y
9
9C	z	"	" 7 7'R0044667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s    (C55C9<C9test_input5aB  service_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
method: raw
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hdd
  - path: /dev/sdb
    crush_device_class: hdd
  - path: /dev/sdc
    crush_device_class: hdd
db_devices:
  paths:
  - /dev/sdd
  - /dev/sde
  - /dev/sdf

c                 Z   t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           }|d         dk    sJ |d         dk    sJ |d         dk    sJ d S )Nr   Traw prepare --bluestore --data /dev/sda --block.db /dev/sdd --crush-device-class hdd   Traw prepare --bluestore --data /dev/sdb --block.db /dev/sde --crush-device-class hddrN   zTraw prepare --bluestore --data /dev/sdc --block.db /dev/sdf --crush-device-class hddr   r   r   r   r.   r   rV   r"   r#   r   rW   rX   )r   rI   r   r\   s       r   test_raw_ceph_volume_command_2r         6 #DN;$?$?@@DMMOOO*41B1HIIE#E2..2244D7lllll7lllll7lllllllr   test_input6aB  service_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
method: raw
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hdd
  - path: /dev/sdb
    crush_device_class: hdd
  - path: /dev/sdc
    crush_device_class: ssd
db_devices:
  paths:
  - /dev/sdd
  - /dev/sde
  - /dev/sdf

c                 Z   t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           }|d         dk    sJ |d         dk    sJ |d         dk    sJ d S )Nr   r   r   r   rN   zTraw prepare --bluestore --data /dev/sdc --block.db /dev/sdf --crush-device-class ssdr   )r   rI   r   r\   s       r   test_raw_ceph_volume_command_3r     r   r   test_input7a  service_type: osd
service_id: testing_drivegroup
placement:
  host_pattern: hostname
method: raw
data_devices:
  paths:
  - path: /dev/sda
    crush_device_class: hdd
  - path: /dev/sdb
    crush_device_class: nvme
  - path: /dev/sdc
    crush_device_class: ssd
db_devices:
  paths:
  - /dev/sdd
  - /dev/sde
  - /dev/sdf
wal_devices:
  paths:
  - /dev/sdg
  - /dev/sdh
  - /dev/sdi

c                 Z   t          j        t          j        |                     }|                                 t          j        ||j        j                  }t          j
        |g                                           }|d         dk    sJ |d         dk    sJ |d         dk    sJ d S )Nr   ziraw prepare --bluestore --data /dev/sda --block.db /dev/sdd --block.wal /dev/sdg --crush-device-class hddr   zjraw prepare --bluestore --data /dev/sdb --block.db /dev/sdf --block.wal /dev/sdi --crush-device-class nvmerN   ziraw prepare --bluestore --data /dev/sdc --block.db /dev/sde --block.wal /dev/sdh --crush-device-class ssdr   )r   rI   r   r\   s       r   test_raw_ceph_volume_command_4r   1  s    @ #DN;$?$?@@DMMOOO*41B1HIIE#E2..2244D7  B  B  B  B  B7  C  C  C  C  C7  B  B  B  B  B  B  Br   )/rer,   r   ceph.deploymentr   r   ceph.deployment.hostspecr   r   ceph.deployment.inventoryr   ceph.deployment.service_specr   ceph.tests.utilsr	   r
   ceph.deployment.drive_groupr   r   r   markparametrizer'   escaper0   rB   rK   r]   rb   rn   rr   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      ss   				   6 6 6 6 6 6 6 6 B B B B B B B B , , , , , , 6 6 6 6 6 6 6 6 6 6 6 6 6 6          " " "# #H; ;I# #H; + 		LMM
	


mBC CH IC CHD D D  	 	 	v v vW W W&W W W*k k k0K K Kc c c$
M 
M 
MU U U$
\ 
\ 
\ *	 O O O 	 "X X# "X 
	  ] ]!  ] 		 ] ] ] 	   X X X$7 7 7  	 2	m 	m3 2	m 	 2	m 	m3 2	m 	 <	B 	B= <	B 	B 	Br   