<!– # Case 1: When just a disk is given, always use the regular atomic # recipe, unless indicated otherwise. –> <% if @obj.is_raw? -%>

<partitioning config:type=“list”>

<drive>
  <initialize config:type="boolean">true</initialize>
  <device><%= @obj.name -%></device>       
  <use>all</use>
</drive>

</partitioning>

<% end -%>

<!– # Case 2: A disk with multiple partitions –> <% if @obj.only_partitions? -%> <partitioning config:type=“list”>

<drive>
    <initialize config:type="boolean">true</initialize>
    <device><%= @obj.name -%></device>       
    <use>all</use>
  <partitions config:type="list">
  <% @obj.partitions.each do |part, index| -%>
    <% if part.file_system == 'linux-swap' -%>
      <partition>
         <create config:type="boolean">true</create>
         <partition_nr config:type="integer"><%= index + 1 -%></partition_nr>
         <partition_id config:type="integer">130</partition_id>
         <crypt_fs config:type="boolean">false</crypt_fs>
         <filesystem config:type="symbol">swap</filesystem>
         <format config:type="boolean">true</format>
         <fstopt>defaults</fstopt>
         <loop_fs config:type="boolean">false</loop_fs>
         <mount>swap</mount>
         <resize config:type="boolean">false</resize>
         <size><%= part.size -%></size>
      </partition>
    <% else -%>
      <partition>
         <create config:type="boolean">true</create>
         <partition_nr config:type="integer"><%= index + 1 -%></partition_nr>
         <partition_id config:type="integer">131</partition_id>
         <crypt_fs config:type="boolean">false</crypt_fs>
         <filesystem config:type="symbol"><%= part.file_system -%></filesystem>
         <format config:type="boolean">true</format>
         <fstopt>defaults</fstopt>
         <loop_fs config:type="boolean">false</loop_fs>
         <mount><%= part.mount_point -%></mount>
         <% if part.label.nil? -%>
         <mountby config:type="symbol">device</mountby>
         <% else -%>
         <mountby config:type="symbol">label</mountby>
         <label><%= part.label -%></label>
         <% end -%>
         <resize config:type="boolean">false</resize>
         <size><%= part.size -%></size>
      </partition>
    <% end -%>
  <% end -%>
  </partitions>
</drive>

</partitioning> <% end -%>

<!– # Case 3: A disk with Logical Volumes –> <% if @obj.only_vg? -%>

 <partitioning config:type="list">
  <drive>
    <device><%= @obj.name -%></device>         
    <partitions config:type="list">
      <partition>       
        <lvm_group><%= @obj.vg.name -%></lvm_group>
        <partition_type>primary</partition_type>
        <size><%= @obj.size -%></size>
      </partition>
    </partitions>
    <use>all</use>
  </drive>
  <drive>
    <device><%= '/dev/' + @obj.name -%></device>
     <is_lvm_vg config:type="boolean">true</is_lvm_vg>
    <partitions config:type="list">
    <% @obj.vg.lvs.each do |lv| -%>
     <partition>
     <% if lv.file_system == 'linux-swap' -%>
        <filesystem config:type="symbol">swap</filesystem>
        <lv_name><%= lv.name -%></lv_name>
        <mount>swap</mount>
        <size><%= lv.size -%></size>
     <% else -%>
        <filesystem config:type="symbol"><%= lv.file_system -%></filesystem>
        <lv_name><%= lv.name -%></lv_name>
        <mount><%= lv.mount_point -%></mount>
        <size><%= lv.size -%></size>
     <% end -%>
     </partition>
    <% end -%> 
    </partitions>
    <pesize>4M</pesize>
    <use>all</use>
  </drive>
</partitioning>

<% end -%>